72位密钥是什么密码

加密体系归属

DES属于分组加密法,WC3属于流加密法。

DES分组为64位,即每次加密需要8个字节。

WC3内核采用CRC8算法,故分组为8位,即每次加密只需要1个字节。

DES为固定分组,WC3可根据内核的变化得到不同的分组数据位数。

例WC3采用CRC64时,分组也随之变为64位. 故WC3的分组位数由CRCn(n=4,8,12,16,32,64,128,...)决定。

2.密钥长度

DES的密钥长度为56位(64-8),WC3的密钥长度与CRCn算法有关。

内核为CRC8的WC3密钥长度为112位。以下所有对比将全部采用CRC8的WC3或WC38。

3.子密钥的产生

DES主密钥为56位,产生16轮每轮48位的子密钥。用以和半组32位明文每轮的混淆。

WC3主密钥为112位,产生结构对称的8对密钥流,其中1对各为32位密钥流,其他都为8位密钥流。

由于流密码的原因,WC3的“轮”即为每次的加密和解密过程。每轮8对密钥流以不同方式和方向环移不同的位数。

每轮参与直接作用的密钥即为本轮的子密钥。WC3每轮的子密钥为72位。

4.算法的f函数

f函数是DES加密法中最重要的部分,其重点就是S盒。其次是扩展及压缩置换。

CRC8正运算函数和CRC8逆运算函数是WC3密码不可缺少的部分,它同时具备了S盒和扩展作用。

DES右半部分明文数据为32位,每轮子密钥的长度为48位,且每个S盒位6入4出,8个S盒***需48位输入,故必须将明文

扩展到48位才能与子密钥混淆,进入S盒进行非线性置换。

DES的32位明文经过扩展置换后为48位,原明文的一半即16位与密钥中的16位作用,原明文的另一半16位要同32位

密钥作用。

DES的S盒实际类同CRC4,它与CRC4同属于0~15全排列表即16!=20922789888000个表。

用矩阵的行列表示为15!行16列,即DES和CRC4的S盒“祖宗”是个1307674368000行16列的矩阵。

每个S盒为4行16列,8个S盒也不过32行16列。

CRC4每个CRC权对应1个S盒,***16个S盒,每个S盒为16*16的矩阵,***256行16列,是DES的S盒的8倍。

WC3的S盒就是CRC8,每个CRC权对应1个S盒,***256个S盒,每个S盒为256*256的矩阵,***65536行256列。

DES的扩展置换实际是明文1个字节扩展半字节即扩展0.5倍,WC3采用明文与初值组合扩展256倍的方法。

DES的压缩置换实际所有S盒4*8=32位出口的32位置换即交换,所谓压缩是指S盒的48位入32位出的结果。

同理WC3在CRC8出入的关系是(8位明文+8位初值+8位权)24入8出(8位密文),实际也是所谓的压缩。

DES的S盒和CRC的S盒的根本区别在于前者是所谓的“非线性”即不好用函数表述及实现,后者可用函数表述和实现。

5.算法的实现过程

DES和WC3都是对称密码体系,即加密和解密***用同一密钥。

DES的加密和解密算法相同,不同的是子密钥每轮次序的不同。

WC3的加密和解密算法不同,子密钥流每轮次序相同。

WC3的加密过程为CRC8的正运算函数即CRC8编码矩阵的查表过程。(对称矩阵)

WC3的解密过程为CRC8的逆运算函数即CRC8解码矩阵的查表过程。(非对称矩阵)

6.安全性

DES设计寿命为10年,但至今还在沿用,说明它设计的合理,虽然S盒之谜留有遗憾。