对加密的了解(DES/3DES/AES区别 )

DES

1977年1月,美国*颁布:采纳IBM公司设计的方案作为非机密数据的正式。

目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。

DES算法的入口参数有三个:Key、Data、Mode。

  其中      DES算法是这样工作的:

  如Mode为加密,则用Key 去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;

  如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。

    通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。

3DES

  设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代表密表,这样,

  3DES加密过程为:C=Ek3(Dk2(Ek1(P)))

  3DES解密过程为:P=Dk1((EK2(Dk3(C)))

  K1、K2、K3决定了算法的安全性,AES

    用AES加密2000年10月,NIST(美国国家标准和技术协会)宣布通过从15种候选算法中选出的一项新的密匙加密标准。Rijndael被选中成为将来的 AES。Rijndael是在1999年下半年,由研究员Joan Daemen 和 Vincent Rijmen 创建的。AES正日益成为加密各种形式的电子数据的实际标准。

  美国标准与技术研究院(NIST)于2002年5月26日制定了新的高级加密标准(AES)规范。

    与公共密钥加密使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。

算法 Key 位数 可逆? 其它
MD5 没有Key, 有区别16位和32位, 不可逆 (无)
SHA (?) (?) 不可逆 (无)
RSA 有(公Key,私KEY) (?) 可逆 公、私Key采用不同的加密算法
DES3 有 (?) 可逆 (无)
AES 有 (?) 可逆 (无)
BASE64 没有KEY (?) 可逆 (无)
本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/p/6472770.html如需转载请自行联系原作者

jiahuafu

上一篇:Python3 django2.0 字段加密 解密 AES


下一篇:PostgreSQL 11 新特性解读: 支持存储过程(SQL Stored Procedures)