Feistel密码结构
Posted onefriday
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Feistel密码结构相关的知识,希望对你有一定的参考价值。
Feistel密码结构
简介:很多的分组密码结构本质上基于Feiste网络结构。
简单地说Feistel结构就是顺序地执行两个或多个基本密码系统,使最后结果的密码强度高于每个密码系统的结果
Feistel加密结构:
假设加密过程的输入为分组长2w的明文和一个密钥K(K在运算过程中将分成多个子密钥Ki),将明文分为两部分,左边记为L0,右边记为R0.以下是加密过程图:
第一轮:R0与子密钥k0进行运算,记为F(R0,k0),得到的结果与L0进行异或运算。
最终得到的结果将作为第二轮运算的右半部分记为R1,而R0直接作为第二轮的左半部分记为L1。
第二轮:L1和F(R1,K1)(R1和K1运算的结果)进行异或运算,产生的结果为第三轮的R2,R1直接变为L2
第三轮以后一次类推,n轮迭代之后,左右两边再合并到一起为最后的密文分组
每轮的置换可以由以下函数表示:
Li = Ri-1
Ri = Li-1⊕F(Ri-1,Ki)
与Feistel有关的参数:
1、分组大小。分组越多安全性越高,加密速度越慢,分组密码中普遍使用的分组大小为64bit。
2、密钥大小。密钥越长安全性越高,加密速度越慢,一般使用128bit的密钥或者更长。
3、轮数。轮数越多安全性越高,一般为16轮。
4、子密钥产生算法。该算法越复杂安全性越高。
5、轮函数。轮函数越复杂安全性越高。
Feistel解密结构:
本质上与加密过程一样,就是把加密过程反过来。
以上是关于Feistel密码结构的主要内容,如果未能解决你的问题,请参考以下文章