zoukankan      html  css  js  c++  java
  • 对加密的了解(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             (?)                可逆                 (无)

  • 相关阅读:
    React 高阶组件
    Facebook Graph API 接口请求
    (转载)HTML:模拟链接被按下,在新标签页打开页面,不使用window.open(可能被拦截)
    php file_put_contents() 写入回车
    mysql 慢查询开启
    FB接口之 js调用支付窗口
    8 个必备的PHP功能开发
    linux 负载 待读
    大话团队管理。
    API编排
  • 原文地址:https://www.cnblogs.com/jiahuafu/p/6472770.html
Copyright © 2011-2022 走看看