问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

密码学系列之:feistel cipher

发布网友 发布时间:2023-07-25 11:48

我来回答

1个回答

热心网友 时间:2024-11-19 22:53

feistel cipher也叫做Luby–Rackoff分组密码,是用来构建分组加密算法的对称结构。它是由德籍密码学家Horst Feistel在IBM工作的时候发明的。feistel cipher也被称为Feistel网络。

很多分组加密算法都是在feistel cipher的基础上发展起来的,比如非常有名的DES算法。

在feistel cipher中,加密和解密的操作非常相似,通常需要进行多轮加密和解密操作。

Feistel网络中会用到一个round function也叫做轮函数,这个函数接收两个输入参数,分别是分组数据(原始数据的一半)和子key,然后生成和分组数据同样长度的数据。

然后使用上一轮生成的数据和原始数据的另一半进行XOR异或操作,作为下一轮轮函数的输入。

就这样一轮一轮进行下去最后生成加密过后的数据。

解密的流程和加密的流程是类似的,只不过把加密的操作反过来。

Feistel网络的轮数可以任意增加。不论多少轮都可以正常解密。

解密与轮函数f无关,轮函数f也不需要有逆函数。轮函数可以设计得足够复制。

加密和解密可以使用完全相同的结构来实现。从上面我们讲到的可以看到,加密和解密其实是没有什么区别的。

我们用一个图的方式来介绍一下Feistel的工作流程:

上图中F表示的就是round function也就是轮函数。

K0,K1,K2...,Kn表示的是子key,分别作为各轮的输入。

原始数据被分成了左右两边相等的部分,(L0,R0)

每一轮都会进行下面的操作:

最后的加密出的结果就是(Ri+1,Li+1)

解密的过程是加密过程的逆序,每一轮解密都会进行下面的操作:

最终得到我们的原始数据(R0,L0)

Michael Luby 和 Charles Rackoff 证明了如果轮函数是使用Ki为种子的密码安全的伪随机函数,那么经过三轮操作之后,生成的分组密码就已经是伪随机排列了。经过四轮操作可以生成“强”伪随机排列。

什么是伪随机数呢?

考虑一下如果在计算机中生成随机数,因为计算机中的数据是由0和1组成的,所有的数据都是确定的,要么是0要么是1,所以计算机程序并不能生成真正的随机数。

如果要让计算机来生成随机数,通常的做法就是将输入通过一定的算法函数进行计算,从而得到处理过后的数字。

如果这个算法函数是确定的,也就是说同样的输入可以得到同样的输出,那么这个数就不是随机产生的,这个数就被称为伪随机数。

伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。

因为Luby和Rackoff的研究非常重要,所以Feistel密码也称为Luby–Rackoff密码。

除了我们之前介绍过的DES之外,很多算法都用到了Feistel网络结构,比如Blowfish,Twofish等等。

因为Feistel网络的对称性质和简单的操作,使得通过硬件的方式来实现Feistel网络变得非常简单,所以Feistel网络的应用非常的广泛。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 雏鸡能不能喂甘草 ...君主之压迫亦散。”新文化运动的斗争矛头直指 那款捕鱼爆率高 北京与波士顿的时差是多少 我是危险品车在菏泽市曹县被运管执法查,一个灭火器失效,被罚三千... 仙剑奇侠传三紫萱吻徐长卿是不是真的 手机屏幕右侧出现几个抖音按钮的印记,返回和锁屏时都可以看得到。 长痘痘必看 胸骨被重压了,有“喀嚓]”声,有痛,会是胸骨断裂吗? 苹果手机在抖音查看评论的时候上翻会抖动 胸骨不小心压了一下会断吗? ...带动手臂抖动,手臂在带动手机抖动这样会坏吗? 梦见下雪天开白色槐花 超人和孙悟空谁能打过谁 怎样写对一年级孩子的评价 孙悟空能否打败超人 我的qq号绑定的我的那微信上我的银行卡怎么绑定 梦到槐树开满白花是什么意思 平均零售价在50元以内的化妆品品牌,有代言人的! 暗くなってきたから、もうそろそろ帰って来そうなものです。这是什么... 刚出生的小鸡可以喝甘草水吗? 剑突属于()击打等级 甘草和板兰根给鸡饮水用量多少? 联想笔记本 的电池或适配器 出现故障 允许包换的时限是多久 3个月还是... 今天吃了过期四个月的八宝粥,喝了一瓶才发现过期了四个月,怎么办 不能放在卧室里的花举例 什么花不能放在卧室里 嵇康在文学和音乐方面的造诣如何? 车子过户资料需要多久 怎样查看一个注册时间呢? 怎么查询注册时间 喝了过期的八宝粥怎么办 家里有只小猫,一直在喂鸭肝,最近一个星期开始拉稀了,但是精神挺好,怎么... 在历史上宋江征讨过方腊吗 如何排出碱式滴定管尖嘴的气泡? ...粥结果肚子疼很疼一直疼,黄梅天可能是小米变质了,一坨一坨的,我拿... 澄海莲花山有竹笋吗 碱式滴定管排气泡的方法是什么? 吃了坏小米煮出来的粥怎么办? 滴定时发现滴定管尖嘴有气泡,怎么办? 怎么 在百度贴吧上贴很长的图