学习是一种信仰。
分类: 项目管理
2014-10-27 20:04:54
1、对称密钥和非对称密钥
对称密钥加密:又称私钥加密或会话密钥加密算法,即信息的发送方和接收方使用同一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
非对称密钥加密系统:又称公钥密钥加密。它需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。
所以在实际的应用中,人们通常将两者结合在一起使用,例如,对称密钥加密系统用于存储大量数据信息,而公开密钥加密系统则用于加密密钥。
假设 A 和 B 之间要进行加密通信,则正确的非对称加密流程是: 。
① A 和 B 都要产生一对用于加密和解密的加密密钥和解密密钥
② A 将公钥传送给 B,将私钥自己保存,B 将公钥传送给 A,将私钥自己保存
③ A 发送消息给 B 时,先用 B 的公钥对信息进行加密,再将密文发送给 B
④ B 收到 A 发来的消息时,用自己的私钥解密
2、非对称加密原理和流程图以及过程实例
与对称加密算法不同,非对称加密算法需要两个密钥:公钥(publickey)和私钥(privatekey)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫做非对称加密算法。
对数据进行加密之前要准备好两个密钥,一个公钥,一个私钥;其中公钥是公开的,任何人都可以获得,私钥只有解密方拥有。会话双方分别为老李和小王,老李现在想给小王传送数据,为了避免被监听,老李需要对数据进行加密。由于数据的接受方是小李,所以老王选择使用小李的公钥进行加密,小李的公钥任何人都可以知道,不需要秘密传送。小李在接收了老王传送的数据之后,使用只有他自己知道的私钥进行解密。从整个过程看,不涉及密钥的传输,所以从根本上解决了对称加密的密钥传输安全问题。
实例:现在Alice 向Bob 传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对要传送的信息进行数字加密和数字签名,其传送过程如下:
A. Alice 准备好要传送的数字信息(明文)。
B. Alice 对数字信息进行哈希(hash)运算,得到一个信息摘要。
C. Alice 用自己的私钥(SK)对信息摘要进行加密得到Alice 的数字签名,并将其附在数字信息上。
D. Alice 随机产生一个加密密钥(DES 密钥),并用此密钥对要发送的信息进行加密,形成密文。
E. Alice 用Bob 的公钥(PK)对刚才随机产生的加密密钥进行加密,将加密后的DES 密钥连同密文一起传送给Bob
F. Bob 收到Alice 传送过来的密文和加过密的DES 密钥,先用自己的私钥(SK)对加密的DES 密钥进行解密,得到DES 密钥。
G. Bob 然后用DES 密钥对收到的密文进行解密,得到明文的数字信息,然后将DES 密钥抛弃(即DES 密钥作废)。
H. Bob 用Alice 的公钥(PK)对Alice 的数字签名进行解密,得到信息摘要。
I. Bob 用相同的hash 算法对收到的明文再进行一次hash 运算,得到一个新的信息摘要。
J. Bob 将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。
甲向乙发送其数据签名,要验证该签名,乙可使用(B)对该签名进行解密。
(15) A. 甲的私钥 B.甲的公钥 C. 乙的私钥 D. 乙的公钥