加密算法学习笔记之二__一个完整的加密过程

来源:互联网 发布:数据库系统书籍 编辑:程序博客网 时间:2024/04/30 21:30

一个完整的密码/消息传送过程:

  1. 定义
    • 发送方:S
    • 接收方:R
    • 消息:M
    • 加密:EC(M,K) (其中M为要加密的消息,K为密钥)
    • 解密:DC(M,K) (其中M为要加密的消息,K为密钥)
    • 对称加密密钥:Key
    • 不对称加密: 私钥 PrvK ; 公钥:PubK ; 初始化向量 IV
    • 哈希算法: Hash()
  2. 过程:S要与R进行消息传输,传输的消息为M;在进行消息对话之前,S需要将加密消息M的密钥K传送给R,这样R就可以用K来还原消息M。那如何传送K呢?
    • S通过一般渠道传送公钥(PubK)给R
    • 传送Key (S-->R)

S:    

  1. 用私钥加密对称加密密钥:EC(Key,PrvK)
  2. 生成消息摘要并加密:EC(Hash(Key),PrvK) 
  3. 将上面的消息发送给R

R:    

  1. 用公钥(PubKey)解密消息:DC(EC(Key,PrvK),PubK)
  2. 用公钥解密消息摘要:DC(EC(Hash(Key),PrvK),PubK)
  3. 将解密的消息用同样的哈希算法生成消息摘要:Hash(DC(EC(Key,PrvK),PubK))
  4. 比较第二和第三步的消息摘要是否一致,如果一致,则表明消息没有被修改
    • 传送消息M
      1. S: 用私钥加密消息:EC(M,Key)
      2. R: 将加密的消息用私钥解密: DC(EC(M,Key),Key) 
原创粉丝点击