DES加密算法的简单分析

一、常见的加密算法
(1)对称密钥/私钥密钥:DES、RC6、AES(Rijndael)
(2)非对称密钥/公钥密钥:RSA
(3)单向散列函数:MD5、SHA

二、如何区分对称密钥和非对称密钥
对于对称密钥与非对称密钥加密算法来说,其区别在于加密密钥与解密密钥。
(1)若加密密钥与解密密钥相同或可互相推导/推算则为对称密钥(单钥密钥或私钥密钥),大多数对称密码算法的加密密钥与解密密钥相同;
(2)不同且不可互相推导,则为非对称密钥(双钥密钥或公钥密钥)。
由于加密密钥与解密密钥相同,所以其结构就简单的多。以Feistel结构来说其加密解密流程结构基本相同,而依据Feistel结构作为基本结构的有DES、RC6、MARS等加密算法。

三、密码学基础
(1)密码学的安全目标
保密性:信息仅被合法用户访问(通过防侦查、防辐射、数据加密、物理保护的手段提高保密性)
完整性:保证数据不能被偶然蓄意地编辑(影响完整性的因素:故障、误码、攻击、病毒)
可用性:资源只有在适当的时候被授权方访问,并按需使用(保证可用性的手段:身份识别与确认、访问控制)

(2)密码体系模型
明文空间M、密文空间C、加密算法E、解密算法D、密钥空间K(加密密钥Ke,解密密钥Kd)
在这里插入图片描述
加密过程:C=E(M,Ke) 解密过程:M=E(C,Kd)

(3)密码攻击方法
穷举攻击、统计分析攻击、数字分析攻击

四、分组密码的概念
定义:先对明文分组,每组长度相同,然后对每组明文分别加密得到等长的密文。
模型:
明文序列M=(m0,m1,m2,……,mn-1
密文序列C=(c0,c1,c2,……,cn-1
加密密钥K=(K0,K1,K2,……,Kn-1
Ci=E(mi,ki)
在这里插入图片描述
五、DES算法
(1)由来:1980年,美国国家标准协会ANSI采用改进的Lucifer算法作为数据加密协议 标准(Data Encryption Standard)DES
(2)序列长度
分组长度:64bit
密钥长度:56bit(56bit+8bit奇偶校验位)
明文串:64bit
密文串:64bit
加密轮数:16轮
(3)对合运算
加密和解密共用同一算法,工作量减少一半。
(4)算法总框架
在这里插入图片描述
(5)加密过程
Li=Ri
Ri=Li-1(异或)f(Ri-1,Ki
i=1,2,3,……,16
图形化表示:
在这里插入图片描述
(6)DES的安全性
a. DES密钥太短经不起穷尽攻击。
b.DES存在弱密钥和半弱密钥。

六、3DES
是DES的扩展,是执行了三次的DES。3DES的安全强度较高,可以抵抗穷举攻击,但是用软件实现起来速度比较慢。
3DES有两种加密方式:
1.第一三次加密使用同一密钥,这种方式密钥长度128位,112位有效。

2.三次加密使用不同的密钥,这种方式密钥长度192位,168位有效。

猜你喜欢

转载自blog.csdn.net/lay_loge/article/details/89393911