文章目录
一、数据加密:非对称加密
密码技术发展时期
根据不同时期密码技术采用的加密和解密实现手段的不同特点,密码技术的发展历史大致可以划分为三个时期,即古典密码、近代密码和现代密码时期。
古典密码时期:
这一时期为从古代到到十九世纪末,一般用纸笔或简单的器械来实现加密/解密的,一般称这个阶段产生的密码体制为“古典密码体制”,这是密码学发展的手工阶段。
近代密码时期
近代密码时期是指二十世纪初到二十世纪50年代左右,密码研究人员设计出了各种各样采用机电技术的转轮密码机(简称转轮机,Rotor)来取代手工编码加密方法,实现保密通信的自动编解码。
现代密码时期
1949年香农(Claude Shannon)的奠基性论文“保密系统的通信理论”(Communication Theory of Secrecy System)在《贝尔系统技术杂志》上发表,为现代密码学研究与发展奠定了坚实的理论基础,把已有数千年历史的密码技术推向了科学的轨道,使密码学(Cryptology)成为一门真正的科学。
密码学的主要任务
1、机密性
是一种允许特定用户访问和阅读信息,而非授权用户对信息内容不可理解的安全属性。在密码学中,信息的机密性通过加密技术实现。
2、完整性
数据完整性即用以确保数据在存储和传输过程中不被非授权修改的的安全属性。密码学可通过采用数据加密、报文鉴别或数字签名等技术来实现数据的完整性保护。
3、 鉴别
这是一种与数据来源和身份鉴别有关的安全服务。鉴别服务包括对身份的鉴别和对数据源的鉴别。对于一次通信,必须确信通信的对端是预期的实体,这就涉及到身份的鉴别。对于数据,仍然希望每一个数据单元发送到或来源于预期的实体,这就是数据源鉴别。数据源鉴别隐含地提供数据完整性服务。密码学可通过数据加密、数字签名或鉴别协议等技术来提供这种真实性服务。
4、抗抵赖性
是一种用于阻止通信实体抵赖先前的通信行为及相关内容的安全特性。密码学通过对称加密或非对称加密,以及数字签名等技术,并借助可信机构或证书机构的辅助来提供这种服务
密码学的基本应用
1、最初的目的是用于对信息加密,计算机领域的密码技术种类繁多。
2、但随着密码学的运用,密码还被用于身份认证、防止否认等功能上。最基本的,是信息加解密分为对称加密和非对称加密,这两者的区别是是否使用了相同的密钥。
3、除了信息的加解密,还有用于确认数据完整性的单向散列技术,又称密码检验、指纹、消息摘要。
后来结合密码学的加解密技术和单向散列技术,又有了用于防止篡改的消息认证码技术,防止伪装的数字签名技术以及认证证书。针对不同应用场景,密码学技术有:
信息的加解密包括:
1、对称密码:最常用的一种加密机制,效率很高,但是安全性比较低。
2、DES算法:一种用于电子数据加密的对称密钥块加密算法。
3、非对称密码:一种使用密钥对对数据进行加解密的加密算法。
单向散列是为了保证信息的完整性,防止信息被篡改的一项技术:
1、MD散列算法:分为MD4, MD5 两套算法,都可计算出128 bits 的散列。
2、SHA:单向散列算法的一个标准的统称,其下又分为SHA-1, SHA-2, SHA-3 三套算法。
对称加密算法与非对称加密算法
定义
对称加密算法指的是在加密与解密时使用的是同一个秘钥,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
而非对称加密算法则需要公钥和私钥,公钥和私钥是一对,如果公钥进行加密,只有用对应的私钥才能解密,如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密,与对称加密算法相比,其安全性更好。
对称加密
特点:
数据的发送方和接收方使用的是同一把密钥。
过程:
发送方对信息加密发送方将加密后的信息传送给接收方接收方对收到信息解密,得到信息明文。图解:
对称加密算法用来对敏感数据等信息进行加密,常用的算法:
1、DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。
2、3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
3、AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;
非对称加密
加密流程
1、乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。
2、得到该公钥的甲方使用该密钥(公钥)对机密信息进行加密后再发送给乙方。
3、乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。
对称加密与非对称加密对比
对称加密与非对称加密结合
通过组合这两种加密机制,达到两全其美,而不失各自的优点。
1、解决方案完全安全。
2、加密/解密速度要快。
3、生成的密文长度要小。
4、要解决密钥发布问题。
例如:
这里假设A是发送方,B是接收方。
1、A的计算机利用对称密钥加密算法加密明文消息(PT),产生密文消息(CT)。这个操作使用的密钥(K1)称为一次性对称密钥,用完即放弃。
2、A要取第1步的一次性对称密钥(K1),用B的公钥(K2)加密K1。这个过程称为对称密钥的密钥包装(keywrapping)。
3、A把密文CT和加密的对称密钥一起放在数字信封(digitalenvelope)中。
4、这时A将数字信封(包含密文(T)和用B的公钥包装的对称密钥(K1)用基础传输机制(网络)发送给B。这里假设数字信封包含上述两个项目。
非对称加密与对称加密的结合
5、B接收并打开数字信封。B打开信封后,收到密文CT和用B的公钥包装的对称密钥(K1)。
6、B可以用A所用的非对称密钥算法和自己的私钥(K3)解密(即打开)逻辑箱,其中包含用B的公钥包装的对称密钥(K1),这个过程的输出是对称密钥K1。
7、最后,B用A所用的对称密钥算法和对称密钥K1解密密文(CT),这个过程得到明文PT
非对称加密常用的算法有RSA算法与E1 Gamal
#### 小结
1、非对称密钥加密要解决对称密钥加密的密钥交换问题。
2、RSA是著名的非对称密钥加密协议。
3、非对称密钥加密中每个通信方要一个密钥对。
4、公钥向每个人提供,而私钥则是个人保密的。
5、数字信封结合了对称密钥加密与非对称密钥加密的好处。