JAVA加密技术
一、目前流行的加密技术简介
1、单钥密码体制和双钥密码体制
密钥体系:如果以密钥为标准,可将密码系统分为单钥密码(又称为对称密码或私钥密码)体系和双钥密码(又称为非对称密码或公钥密码)体系。(备注:密钥可以理解为密码)
在单钥体制下,加密密钥和解密密钥是一样的,或实质上是等同的,这种情况下,密钥就经过安全的密钥信道由发方传给收方。单钥密码的特点是无论加密还是解密都使用同一个密钥,因此,此密码体制的安全性就是密钥的安全。如果密钥泄露,则此密码系统便被攻破。最有影响的单钥密码是1977年美国国家标准局颁布的DES算法。单钥密码的优点是:安全性高。加解密速度快。缺点是:1)随着网络规模的扩大,密钥的管理成为一个难点;2)无法解决消息确认问题;3)缺乏自动检测密钥泄露的能力。
而在双钥体制下,加密密钥与解密密钥是不同的,此时根本就不需要安全信道来传送密钥,而只需利用本地密钥发生器产生解密密钥即可。双钥密码是:1976年W.Diffie和M.E.Heilinan提出的一种新型密码体制。由于双钥密码体制的加密和解密不同,且能公开加密密钥,而仅需保密解密密钥,所以双钥密码不存在密钥管理问题。双钥密码还有一个优点是可以拥有数字签名等新功能。最有名的双钥密码体系是:1977年由Rivest,Shamir和Ad1eman人提出的RSA密码体制。双钥密码的缺点是:双钥密码算法一般比较复杂,加解密速度慢。
在双钥加密的情况下,密钥有两把,一把是公开的公钥,还有一把是不公开的私钥。
双钥加密的原理如下:
a) 公钥和私钥是一一对应的关系,有一把公钥就必然有一把与之对应的、独一无二的私钥,反之亦成立。
b) 所有的(公钥, 私钥)对都是不同的。
c) 用公钥可以解开私钥加密的信息,反之亦成立。
d) 同时生成公钥和私钥应该相对比较容易,但是从公钥推算出私钥,应该是很困难或者是不可能的。
因此,网络中的加密普遍采用双钥和单钥密码相结合的混合加密体制,即加解密时采用单钥密码,密钥传送则采用双钥密码。这样既解决了密钥管理的困难,又解决了加解密速度的问题。
2、消息摘要
消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。消息摘要算法不存在密钥的管理与分发问题,适合于分布式网络相同上使用。由于其加密计算的工作量相当可观,所以以前的这种算法通常只用于数据量有限的情况下的加密,例如计算机的口令就是用不可逆加密算法加密的。
消息摘要是把任意长度的输入柔和而产生长度固定的伪随机输入的算法。消息摘要的主要特点有:
1)无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如应用MD5算法摘要的消息有128个比特位,用SHA-1算法摘要的消息最终有160比特位的输出,SHA-1的变体可以产生192比特位和256比特位的消息摘要。一般认为,摘要的最终输出越长,该摘要算法就越安全。
2)消息摘要看起来是“随机的”。这些比特看上去是胡乱的杂凑在一起的。可以用大量的输入来检验其输出是否相同,一般,不同的输入会有不同的输出,而且输出的摘要消息可以通过随机性检验。但是,一个摘要并不是真正随机的,因为用相同的算法对相同的消息求两次摘要,其结果必然相同;而若是真正随机的,则无论如何都是无法重现的。因此消息摘要是“伪随机的”。
3)一般地,只要输入的消息不同,对其进行摘要以后产生的摘要消息也必不相同;但相同的输入必会产生相同的输出。这正是好的消息摘要算法所具有的性质:输入改变了,输出也就改变了;两条相似的消息的摘要确不相近,甚至会大相径庭。
4) 消息摘要函数是无陷门的单向函数,即只能进行正向的信息摘要,而无法从摘要中恢复出任何的消息,甚至根本就找不到任何与原信息相关的信息。当然,可以采用强力攻击的方法,即尝试每一个可能的信息,计算其摘要,看看是否与已有的摘要相同,如果这样做,最终肯定会恢复出摘要的消息。但实际上,要得到的信息可能是无穷个消息之一,所以这种强力攻击几乎是无效的。
5) 好的摘要算法,没有人能从中找到“碰撞”,虽然“碰撞”是肯定存在的。即对于给定的一个摘要,不可能找到一条信息使其摘要正好是给定的。或者说,无法找到两条消息,是它们的摘要相同。
代表:美国国家标准技术研究所的SHA1和麻省理工学院Ronald Rivest提出的MD5。
3、数字签名
所谓数字签名就是信息发送者用其私钥对从所传报文中提取出的特征数据(或称数字指纹)进行RSA算法操作,以保证发信人无法抵赖曾发过该信息(即不可抵赖性),同时也确保信息报文在经签名后末被篡改(即完整性)。当信息接收者收到报文后,就可以用发送者的公钥对数字签名进行验证。
在数字签名中有重要作用的数字指纹是通过一类特殊的散列函数(HASH函数)生成的,对这些HASH函数的特殊要求是:
1)接受的输入报文数据没有长度限制;
2)对任何输入报文数据生成固定长度的摘要(数字指纹)输出
3)从报文能方便地算出摘要;
4)难以对指定的摘要生成一个报文,而由该报文反推算出该指定的摘要;
5)两个不同的报文难以生成相同的摘要
代表:DSA。
总评:消息摘要与数字签名可能使用到的地方:用户密码管理,消息发送确认,消息完整性验证,消息信源确认。
4、Diffie-Hellman密钥一致协议
密钥一致协议是由公开密钥密码体制的奠基人Diffie和Hellman所提出的一种思想。先决条件,允许两名用户在公开媒体上交换信息以生成"一致"的,可以共享的密钥代表:指数密钥一致协议(Exponential Key Agreement Protocol)
5、非对称算法与公钥体系
1976年,Dittie和Hellman为解决密钥管理问题,在他们的奠基性的工作"密码学的新方向"一文中,提出一种密钥交换协议,允许在不安全的媒体上通过通讯双方交换信息,安全地传送秘密密钥。在此新思想的基础上,很快出现了非对称密钥密码体制,即公钥密码体制。在公钥体制中,加密密钥不同于解密密钥,加密密钥公之于众,谁都可以使用;解密密钥只有解密人自己知道。它们分别称为公开密钥(Public key)和秘密密钥(Private key)。
迄今为止的所有公钥密码体系中,RSA系统是最著名、最多使用的一种。RSA公开密钥密码系统是由R.Rivest、A.Shamir和L.Adleman俊教授于1977年提出的。RSA的取名就是来自于这三位发明者的姓的第一个字母。
分享到:
相关推荐
数据加密技术是网络安全的核心组成部分,尤其对于电子商务网站和各类数据库来说,确保数据的安全传输和存储至关重要。本章主要探讨了数据加密的相关概念和技术,包括数据加密标准、公钥密码算法、密钥管理以及加密...
的最初形式可能相对简单,但随着时间的推移,加密技术已经演变为高度复杂且至关重要的领域。1.2 加密的概念加密技术,简单来说,就是将可读信息(明文)转换成看似随机且不可读的形式(密文),以防止未经授权的访问...
计算机网络通信安全数据加密技术研究 计算机网络通信安全数据加密技术是现代信息技术的重要组成部分,旨在保护网络通信的安全性。随着网络安全问题的不断出现,数据加密技术作为一种安全性能较高的数据保护技术被...
"现代加密技术" 现代加密技术是指使用密码编码技术来保护信息安全的一种方法。该技术可以防止未经授权的访问、修改和泄露敏感信息。现代加密技术包括公开密钥密码编码技术和对称密钥密码编码技术两种。 对称密钥...
文本文件加密技术是信息安全领域中的一个重要话题,尤其是在个人隐私保护和数据安全方面。在这个课程设计中,我们将聚焦于使用C语言来实现这一功能。C语言因其底层操作能力和高效的性能,常被用于编写这类低级别的...
加密技术是信息安全领域中的核心部分,它保护数据免受未经授权的访问、窃取或篡改。随着互联网和电子商务的快速发展,信息的安全传输和存储变得至关重要,加密技术的重要性也因此日益凸显。本文将深入探讨加密技术的...
源代码加密技术是信息安全领域的重要组成部分,它的目的是保护软件源代码不被未授权的用户访问或泄露。随着软件开发过程中的分工日益精细,源代码的保护变得越发重要,以防止任何形式的被动或主动泄密。 一、透明...
非对称加密技术详解 非对称加密技术是一种在现代信息安全领域中占据核心地位的加密方式,相较于传统的对称加密算法,它引入了一种全新的密钥管理机制,即使用一对密钥——公钥和私钥来进行加密和解密操作。这一技术...
### 实用视频加密技术 #### 一、引言 随着电视商业化的快速发展,视频加密技术成为保障内容版权和实现有偿服务的关键手段。本文综述了国内外常用的视频加密技术,并重点介绍了一种针对中、小型系统的实用视频加密...
数据存储加密技术白皮书.pdf》是关于数据存储加密技术的详细介绍,涵盖了数据加密的基本概念、数据加密技术的分类、数据加密算法、数据加密标准、数据加密应用场景等方面的知识点。 数据加密的基本概念 数据加密是...
根据文档内容,以下是2021全球加密技术发展的趋势及知识点: 一、全球加密技术发展趋势概览 自2005年以来,全球加密技术的应用和策略已经历了显著的增长和变化。根据PONEMON研究所的调查,越来越多的组织采用全面的...
因此,运用加密技术保护Java源代码成为了一项重要的课题。 ### Java源代码加密的重要性 Java源代码加密主要涉及两个层面:一是源代码本身的安全,二是编译后的字节码(.class文件)的安全。对于源代码,加密可以...
软件加密技术内幕软件加密技术内幕软件加密技术内幕软件加密技术内幕软件加密技术内幕
数据加密技术是保护数据安全的关键方法之一,尤其是在网络资源广泛共享的今天,数据加密成为了确保信息不被未经授权的访问、窃取或篡改的重要手段。本文档“数据加密技术.pdf”深入探讨了数据加密的基本原理、常用...
《网络安全课件:数据加密技术》 在当今数字化时代,网络安全的重要性不言而喻。作为网络管理者,了解并掌握数据加密技术是确保信息安全的关键。数据加密技术是保护网络通信、防止敏感信息泄露的重要手段,它涉及到...
### 计算机软件加密技术知识点详述 #### 一、引言 计算机软件加密技术是一种确保软件安全的重要手段。随着计算机技术的广泛应用,软件安全成为了一个不可忽视的问题。无论是军事领域还是商业环境,都需要对有价值的...
单片机系统的动态加密技术是保护知识产权和技术创新的重要手段,特别是在单片机广泛应用的今天,防止技术成果被轻易仿制和剽窃显得尤为关键。传统的加密技术,如硬件加密和软件加密,虽然有一定的防护效果,但面对日...
深入浅出密码学——常用加密技术原理与应用Christof Paar,Jan Pelzl 本书拥有的诸多特征使得它成为密码学从业者和学生独一无二的资源—本书介绍了绝大多数实际应用中使用的加密算法,并重点突出了它们的实用性。...
数据加密技术在计算机网络安全中的应用 随着信息技术的飞速发展,计算机网络安全成为了全球关注的焦点。病毒、黑客攻击、数据泄露等问题层出不穷,严重威胁着个人和企业的信息安全。数据加密技术作为确保计算机网络...