网络安全课 03 (Feistel密码 DES加密)

Posted stephen-jixing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络安全课 03 (Feistel密码 DES加密)相关的知识,希望对你有一定的参考价值。

Feistel密码

  乘积密码:依次使用两个或者两个以上的基本密码,所得结 果的密码强度将强于所有单个密码的强度

  ?由Horst Feistel发明了Feistel密码 基于可逆的乘积密码。目标是逼近简单代换密码

  ?基本思路

    输入分组被对分为两半

    执行多轮迭代,每轮迭代都有相同的结构

    代换作用在数据的左半部分

    代换的实现:用轮函数F来作用数据的右半部分,再与左半部分数据 进行异或

    每一轮的轮函数相同,但输入的轮密钥Ki不同

    代换完成以后,交换数据的左右两半完成置换

    Feistel密码使用了Shannon的SPN的概念 

 

LEi=REi-1

REi=LEi-1⊕F(LEi,Ki)

 技术图片

 

 

技术图片

 

 

 ***对于同一个秘钥,两次异或操作就能抵消掉***

 

 

简化DES 

   ?与DES有相似的性质和结构,但参数规模小 很多。

   ?仅有教学意义

   ?可以手工计算

   ?加密算法

    输入:8位明文组;10位密钥

    输出:8位的密文组。

 

 

 技术图片

 

技术图片

 

 技术图片

 

技术图片

 一些说明:

  生成E/P扩展时,那些位置变换是提前制定好的。只需要按制定的规则变换位置就好了

   XOR是E/P 和K1 异或的结果

  S0、S1的矩阵表也是提前设定好的

 

以上是关于网络安全课 03 (Feistel密码 DES加密)的主要内容,如果未能解决你的问题,请参考以下文章

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

DES

DES

Feistel密码结构

区块链教程区块链背后的信息安全2DES3DES加密算法原理二

Go-Des和3Des算法详解与代码