type
status
date
slug
summary
tags
category
icon
password
S-DES
Simplified DES教学用加密算法
.* 加密算法涉及五个函数:
(1)初始置换IP(initial permutation)
(2)复合函数fk1,它是由密钥K确定的,具有转换和替换的运算。
(3)转换函数SW
(4)复合函数fk2
(5)初始置换IP的逆置换IP-1
密钥生成
LS-1为循环左移1位, LS-2为循环左移2位
将10bit拆分为两部分,分别进行以移位运算,P10,P8位规定好的置换规则
加密运算
E/P运算:扩张/置换运算
Sbox为替换(查表换)IP为置换
K1与E/P结果异或后,进入sbox
Sbox为矩阵,其中4bit分为两个2bit,分别代表矩阵的行和列,最后输出2个bit,形成P4
经过两轮类似的处理,形成密文
Sbox是非线性部分
DES
DES利用56比特长度的密钥K
分组长度64比特,密文64比特
算法分三个阶段实现:1.对明文X,通过一个固定的初始置换IP得到X0。X0=IP(X)=L0R0分为左右两部分
置换表:
代表输入的明文的第58位置换成输出的第1位(置换是打乱顺序)需要将明文转换为2进制(64bit)再进行置换
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初始置换
扩展置换:32b → 48b(在置换中存在重复位)
置换函数:32b
8个s盒
• S盒:将48位输入分成8组分别作为8个S盒的输入,每组6位,最高位和最低位作为行索引,中间4位作为列索引,得到一个值x(0<=x<=15),表示为二进制即为4位,8个S盒的输出和在一起正好32位。表4是S1的数值(因此S1为4行16列)
密钥K计算子密钥
密钥扩展流程可以表示如下:
1) 64位初始密钥P进行置换选择1,得到56位输出K;
2) 将K循环左移一定位数,再进行置换选择2得到48位输出k1(即第一轮的密钥);
3) 循环步骤2),直至得到16轮的密钥(k1、k2、……、k16);
4) 结束。
F函数(实际上就是抽象了一下E-S-P运算)
F(Ri-1, Ki):
函数F有两个输入:32的消息A=R(32bits)作第一个输入,48比特的子密钥J=K(48bits)作为第二个输入。产生的输出为长度为32的位串。
(1)对第一个变元A,先利用扩展函数E,扩展成48位E(A)
(2)计算E(A)XOR J,结果写成8个6位串,B=b1b2b3b4b5b6
(3)使用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)。(4) 最后,P为固定置换。
密钥k计算子密钥
密钥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为固定置换
IDEA
分组长度为64位 子分组为16bit
密钥长度为128位(抗强力攻击能力比DES强),同一算法既可加密也可解密。
IDEA的“混淆”和“扩散”设计原则来自三种运算,它们易于软、硬件实现(加密速度快)
异或,模加,模乘(代表S盒)
S是代换 P是置换!!
52个16bit的子密钥从128bit的密钥中生成
前8个子密钥直接从密钥中取出;
对密钥进行25bit的循环左移,接下来的密钥就从中取出;
重复进行直到52个子密钥都产生出来
- Author:faii
- URL:https://www.faii.top/article/46cbfa3d-f8da-4421-a7ed-b6f53c9f7c52
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts