LR 轮加密的简圈 K A=R(32 bits) J=K(48 bits) R E(A)为48bits B 写成8个6比特串 BB. B,BBBBB C,CC CCC Co 2021/2/20 32bisF(A)下萃大学
2021/2/20 11 一轮加密的简图 • Li-1 Ri-1 F + Li Ri Ki A=R(32 bits) J=K(48 bits) E E(A)为48 bits + B1 B2 B3 B4 B5 B6 B7 B8 S1 S2 S3 S4 S5 S6 S7 S8 C1 C2 C3 C4 C5 C6 C7 C8 P 32 bits F(A,J) B 写成8个6比特串
对F函数的说明:F(R1,K1)函数F以长 度为32的比特串A=R(32bits)作第 个输入,以长度为48的比特串变元 J=K(48bits)作为第二个输入。产生的输 出为长度为32的位串。 对第一个变元A,由给定的扩展函数E,将其 扩展成48位串E(A) 计算E(A)+J,并把结果写成连续的8个6位串 B=b1b2b3b4bsb6b7b8 2021/2/20 12
2021/2/20 12 • 对F函数的说明:F(Ri-1 , Ki)函数F以长 度为32的比特串A=R(32bits)作第一 个输入,以长度为48的比特串变元 J=K(48bits)作为第二个输入。产生的输 出为长度为32的位串。 – 对第一个变元A,由给定的扩展函数E,将其 扩展成48位串E(A); – 计算E(A)+J,并把结果写成连续的8个6位串, B=b1b2b3b4b5b6b7b8
使用8个S盒,每个S是一个固定的4×16 矩阵,它的元素取0到15的整数。给定长 度为6个比特串如B=bb2bb4bb6,计算 SB)如下:bb6两个比特确定了S的行 r(0<=r<=3)而b2b3b4b5四个比特确定 了S的列数c(0<=c<=15)。最后SB 的值为S盒矩阵Sj中r行c列的元素(rc), 得C=S(B)。 最后,P为一个固定置换。 2021/2/20 13
2021/2/20 13 – 使用8个S盒,每个Sj是一个固定的416 矩阵,它的元素取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 )。 – 最后,P为一个固定置换
选择压缩运算S 48bit寄存器 6bit S1S2S3S4 S8 4bit 32bit寄存器 2021/2/20 14
2021/2/20 14 选择压缩运算S 48bit寄存器 S1 32bit寄存器 S2 S3 S4 S5 S6 S7 S8 6bit 4bit
子密钥的生成 °从密钥K计算子密钥:实际上,K是长 度为64的位串,其中56位是密钥,8位是奇 偶校验位(为了检错),在密钥编排的计算 中,这些校验位可略去。 给定64位的密钥K,放弃奇偶校验位(8,16, ,64)并根据固定置换PC-1来排列K中剩下的 位。PC1(K)=C0D0,其中C由PC-1(K)的前28 位组成;D由后28位组成。 对1<=i<=16,计算C:LS(C1)D=LSD1) IS表示循环左移2或1个位置,取决于的的值。 2021/2/20 15
2021/2/20 15 子密钥的生成 • 从密钥K计算子密钥:实际上,K是长 度为64的位串,其中56位是密钥,8位是奇 偶校验位(为了检错),在密钥编排的计算 中,这些校验位可略去。 – 给定64位的密钥K,放弃奇偶校验位(8,16, …,64)并根据固定置换PC-1来排列K中剩下的 位。PC-1(K)=C0D0 。其中C0由PC-1(K)的前28 位组成;D0由后28位组成。 – 对1<=i<=16,计算 Ci=LSi (Ci -1) Di=LSi (Di -1) LSi表示循环左移2或1个位置,取决于i的的值