码迷,mamicode.com
首页 > 其他好文 > 详细

Feistel密码结构

时间:2019-09-05 23:28:14      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:spl   简单   strong   结构   bit   本质   异或运算   alt   复杂   

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密码结构

标签:spl   简单   strong   结构   bit   本质   异或运算   alt   复杂   

原文地址:https://www.cnblogs.com/OneFriday/p/11470210.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!