对称加密和非对称加密

来源:互联网 发布:js读取excel 编辑:程序博客网 时间:2024/06/05 12:46

  • 对称加密Symmetric Cryptography
    • 基本概念
    • 具体过程
    • 算法
  • 非对称加密Asymmetric Encryption
    • 基本概念
    • 具体过程
    • 算法

对称加密(Symmetric Cryptography)

基本概念

又叫做共享密钥加密私钥加密(由于密钥有公钥私钥之分,避免混淆,我们一般叫对称加密,而不叫私钥加密)
对称加密算法在加密和解密时使用相同的密钥
Alice和Bob之间要通信, Alice和Bob之间要共享一个私钥(只有Alice和Bob拥有)

具体过程

假设他们之间共享的私钥(private key)为K,明文为M,密文为C
Enc()为加密算法,Dec()为解密算法,Dec()为Enc()的逆运算
Alice给Bob发信息,使用K加密明文M

Bob收到Alice发来的密文C,使用相同的K解密

算法

常见的对称加密算法由RC4(流密码),DEC,AEC(块密码)
RC4的实现http://blog.csdn.net/h0_0p/article/details/78308507

非对称加密(Asymmetric Encryption)

基本概念

又叫做公开密钥加密公钥加密
非对称加密算法加密和解密时使用不同的密钥。加密密钥公开,称为公钥。解密密钥保密,称为私钥。

具体过程

假设Alice和Bob通信
Alice使用KenGen() 产生一对密钥,公钥为pubKey,私钥为priKey,Alice将公钥公开,私钥保密。
当Bob想要发消息给Alice时,使用公钥加密

Bob收到密文,使用私钥解密

算法

用的比较多的是RSA
具体java实现http://blog.csdn.net/h0_0p/article/details/78439832

原创粉丝点击