DES算法为密码体质中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。 明文按64位进行分组,密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。
实际应用中注意的几个问题:
1、数据补位
DES加密解密就是将数据按8字节一段进行DES加密或解密,得到一段8个字节的密文或明文,最后一段不足8字节的(通常补全00或者FF),需要根据实际需求来定,之后按顺序连在一起。
2、ECB模式
ECB模式(电子密本方式)按8字节一段进行DES加密或解密得到明文或者密文,最后不足8字节的按要求补全8字节
加密步骤:
(1)将加密数据块分成以8字节为单位的数据块,表示为D0、D1、D2等。最后的数据块有可能是1~8个字节。
(2)如果最后(或唯一)的数据块的长度是8字节的话,转到第三步;如果不足8字节,则在其后(根据规定)补全8字节,如果达到8字节长度,则转到第三步。
(3)按照下图ECB加密模式所述的算法使用指定密钥对每一个数据块进行加密。
(4)计算结束后,所有加密后的数据块依照原顺序连接在一起组成加密密文。
优点:1、加密方式简单有利于加密计算;2、单步加密错误误差不会被传送;
缺点:1、可以对明文进行主动攻击,明文数据不易隐藏。
3、CBC模式
CBC模式(密文分组链接方式)
加密步骤:
(1)将明文数据以8字节一组分组,得到D1...Dn(不足补位)。
(2)将D1与初始向量I异或后的结果进行DES加密运算得到第一组密文C1。
(3)D2与第一组加密数据C1异或后进行DES加密运算得到第二组密文C2。
(4)以此类推,将最后的加密结果C1....Cn拼接起来组成密文C。
优点:1、安全性高于ECB方式,不容易被主动攻击;
缺点:1、不利于并行计算;2、误差传递;3、需要初始化向量IV。
LKT加密芯片支持DES-CBC、DES-ECB和国际上通用的对称和非对称加密算法,多种型号的加密芯片支持UART、IIC、SPI、USB等不同接口,满足不同客户的不同需求。