Chinaunix首页 | 论坛 | 博客
  • 博客访问: 72967
  • 博文数量: 8
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-06 22:00
文章分类

全部博文(8)

文章存档

2024年(1)

2019年(4)

2018年(1)

2014年(2)

我的朋友

分类: C/C++

2024-11-29 13:36:28

想学习DES算法的原理,网上看了几篇文章,大致了解了算法的过程
学习过程中,有两点疑惑:
1.为什么解密和加密可以使用一样的过程,仅仅子密钥顺序相反?
网上说是Feistel网络的特点,似懂非懂,没深究
2.能不能自己设计置换表?
初始置换、逆置换、子密钥相关的置换表都好懂、好改,但是S盒就不知道是什么规律,一时不知如何改

花了几天实现了一遍DES算法之后,尝试随便改了改S盒,发现加密结果变了,但是不影响解密
看来S盒可以随便改?
分析了一遍后,发现的确是,这是Feistel网络的特性,只要f函数对于一样的输入,有一样的输出,就一定能解密
S盒可以随便改,但是安全性就不一样了

以下是分析过程:

这里本来想放张网上找的Feistel网络的图,自己找找,相关证明也很多


阅读(33) | 评论(0) | 转发(0) |
1

上一篇:KaTex的一个简单例子

下一篇:没有了

给主人留下些什么吧!~~