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-1F(Ri-1,Ki)

 

       与Feistel有关的参数:

            1、分组大小。分组越多安全性越高,加密速度越慢,分组密码中普遍使用的分组大小为64bit。

            2、密钥大小。密钥越长安全性越高,加密速度越慢,一般使用128bit的密钥或者更长。

            3、轮数。轮数越多安全性越高,一般为16轮。

            4、子密钥产生算法。该算法越复杂安全性越高。

            5、轮函数。轮函数越复杂安全性越高。

Feistel解密结构:

        本质上与加密过程一样,就是把加密过程反过来。

以上是关于Feistel密码结构的主要内容,如果未能解决你的问题,请参考以下文章

分组密码

密码编码学与网络安全(第五版)课后习题-CH03

无线局域网密码算法(SM4)

aes des 哪个实现简单

OAEP--最优非对称加密填充

AES算法,DES算法,RSA算法JAVA实现