非对称加密原理和流程图以及过程实例

时间:2022-10-30 18:04:49

与对称加密算法不同,非对称加密算法需要两个密钥:公钥(publickey)和私钥(privatekey)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫做非对称加密算法。

非对称加密原理 
非对称加密本身并不难理解,结合图6-14对非对称加密的流程做简要的分析。 

非对称加密原理和流程图以及过程实例

非对称加密示意图 

如图6-14所示,对数据进行加密之前要准备好两个密钥,一个公钥,一个私钥;其中公钥是公开的,任何人都可以获得,私钥只有解密方拥有。会话双方分别为老李和小王,老李现在想给小王传送数据,为了避免被监听,老李需要对数据进行加密。由于数据的接受方是小李,所以老王选择使用小李的公钥进行加密,小李的公钥任何人都可以知道,不需要秘密传送。小李在接收了老王传送的数据之后,使用只有他自己知道的私钥进行解密。从整个过程看,不涉及密钥的传输,所以从根本上解决了对称加密的密钥传输安全问题。 

实例:现在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 将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。


转载于:http://www.cnitpm.com/pm/5702.html