文档详情

现代分组加密算法-DES.ppt

发布:2017-09-04约6.58千字共46页下载文档
文本预览下载声明
现代分组加密算法-DES 上海交通大学计算机系 第七讲 分组密码理论--DES 7.1 DES 7.2 IDEA 7.3 AES 7.1 数据加密标准(DES) DES的历史 1971 IBM,由Horst Feistel 领导的密码研 究项目组研究出LUCIFER算法。并应用于 商业领域。 1973美国标准局征求标准,IBM提交结果, 在1977年,被选为数据加密标准。 7.2 DES的描述 DES利用56比特长度的密钥K 分组长度64比特,密文64比特 算法分三个阶段实现: 1.对明文X,通过一个固定的初始置换IP得到X0。 X0=IP(X)=L0R0 分为左右两部分 2.函数F的16次迭代:LiRi(1=i=16) Li=Ri-1, Ri=Li-1 ? F(Ri-1, Ki) 其中Ki是长为48位的子密钥。子密钥K1,K2,…,K16是作为密钥K(56位)的函数而计算出的。 3.对比特串R16L16使用逆置换IP-1得到密文Y。 Y=IP-1(R16L16) IP-初始置换 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7 PC1 57, 49, 41, 33, 25, 17, 9, C Half 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, D Half 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4 S-box-1 0 1 2 3 4 5 6 7 8 9 a b c d e f COL S[1] 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7, 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8, 4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13 DES一轮加密的简图 F(Ri-1, Ki): 函数F有两个输入:32的消息A=R(32bits)作第一个输入,48比特的子密钥J=K(48bits)作为第二个输入。产生的输出为长度为32的位串。 (1)对第一个变元A,先利用扩展函数E,扩展成48位E(A) (2)计算E(A)+J,结果写成8个6位串,B=b1b2b3b4b5b6b7b8 (3)使用8个S盒,每个Sj是一个固定的4?16矩阵,它的元素取0~15的整数。给定长度为6个比特串,如 Bj=b1b2b3b4b5b6 计算Sj(Bj)如下:b1b6两个比特确定了Sj的行数, r(0=r=3); 而b2b3b4b5四个比特确定了Sj的列数c(0=c=15)。最后Sj(Bj)的值为S-盒矩阵Sj中r行c列的元素(r,c), 得Cj=Sj(Bj)。 (4) 最后,P为固定置换。 初始置换IP:对明文输入进行次序的打乱。 逆置换IP-1: 扩展函数E;(32到48) 置换函数P。 密钥K是长度为64的位串,56位参加子密钥编排。8位是奇偶校验位(为了检错),在密钥编排的计算中,不参加运算。 (1). 给定64位的密钥K,放弃奇偶校验位(8,16,…,64)并根据固定置换PC-1(见144页图4-4-9)来排列K中剩下的位。我们写 PC-1(K)=C0D0 其中C0由PC-1(K)的前28位组成;D0由后28位组成。 (2)对1=i=16,计算 Ci=LSi(Ci-1) Di=LSi(Di-1) LSi表示循环左移2或1个位置,取决于i的的值。i=1,2,9和16 时移1个位置,否则移2位置 Ki=PC-2(CiDi), PC-2为固定置 注:一共16轮,每一轮使用K生成的一个子密钥。可算出16个表,第i
显示全部
相似文档