密码学加密算法

                                    密码学加密算法概述

1、DES加密

      DES全称Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法。DES算法中密钥key为8个字节64位,但每一个第8位为校验位,不参与运算,所以有效密钥只有56位,Date为8个字节64位,是要被加密或解密的数据;DES采用16轮运算,每轮产生一个轮密钥参与到运算中。密钥与明文运算时采用的是按位异或的方法,而每一位存放的数据只有0和1,因此DES的密钥空间只有2^56。

2、3DES加密

      由于密钥太短,DES被破解的可能性非常的大,于是产生了3DES算法。3DES算法也叫三重数据加密算法,使用了48轮运算,安全性更高,但同时3DES完成加密和解密的时间要比DES长3倍,严重影响其性能。3DES的密钥大小为168位,增加了其密钥的长度,空间相比DES提升巨大。

3、AES加密

      全称Advanced Encryption Standard,即高级加密标准,又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。AES标准要求分组长度为128位,这个标准用来替代原先的DES,已经被多方分析且广泛被全世界所使用。AES是由所谓的层组成,每一层操纵数据路径对应的所有128位,称为算法状态。AES总共有三种不同类型的层。除了第一轮以外,其他三轮都是由三层组成:明文用X表示,密文用夕表示,轮数用nr表示。此外,最后一轮nr并没有使用MixColumn变换,而这种方式使得解密方案和加密方案正好对称。

4、IDEA加密

      全称International Data Encryption Algorithm,即国际数据加密算法,是一种分组密码,它处理了64位数据分组。

5、Blowfish加密

6、RC5加密

7、5.8.RC6加密

8、SM4加密

      2006年我国公布了SM4加密算法。这是我国第一次公布自己的商用密码算法。国产SM4算法在计算过程中增加了非线性变换,理论上能大大提高其算法的安全性。

9、SM1加密

      尚未公开,仅知密钥长度为128位,其加密强度与AES相当。调用该算法时,需要通过加密芯片的接口进行调用。SM1加密与硬件相关,密钥随机数从硬件计算得来。常用来做国内小额支付/门禁等。

类别 DES算法 AES算法 SM1算法 SM4算法
计算基础 2进制 16进制 未公开 2进制
算法结构 使用标准的算法和逻辑运算,先代替后置换,S盒非线性变换 字节替换、行代换、列代换、S盒非线性变换 未公开 基本轮函数加迭代、含非线性迭代
加解密算法是否相同 未公开

计算轮数 16轮 10轮 未公开 32轮
分组长度 64位 128位 128位 128位
密钥长度 64位 128位 128位 128位
有效密钥长度 56位 128位 未公开 128位
实现难度 易于实现 易于实现 未公开 易于实现
实现性能 软件实现慢 、硬件实现快 较高 ,解密比加密效率高 未公开 软件和硬件实现都快
安全性 较低 较高 与AES相当 算法较新,国内应用标配

猜你喜欢

转载自blog.csdn.net/Littleliuing/article/details/107183154