对称密码DES的算法口语化分析
2010-12-30 00:19
323 查看
计算安全:破解代价超过信息代价,破解时间超过信息有效期。
对称:
DES(64,有效位56)16轮加密;64位明文。(每轮1个子密钥48位)
IDEA(分组64字节,密钥128字节),8轮+输出置换(每轮6个子密钥16位,共52个子密钥)
AES(128,192,256) :字节代换,移位行10,混合列12,轮密钥加14。
非对称:RSA,1976年DH提出【文革结束】,77年出来RSA
密码设计原则:1949 共和国建国 shannon
混淆:密钥和明文与密文之间的依赖关系相当复杂,以至于这种复杂性对分析者无法use
扩散:每个明文字节尽可能影响多个密文字节。
典型的对称密码分析方法:差分(选择明文攻击)+线性(已知明文攻击)。
简介DES的加密方法,口语请勿见怪
经过我们上面的分析,哥昨天看的算法,今天靠着回忆写的,应该还很是easy理解吧。
对称:
DES(64,有效位56)16轮加密;64位明文。(每轮1个子密钥48位)
IDEA(分组64字节,密钥128字节),8轮+输出置换(每轮6个子密钥16位,共52个子密钥)
AES(128,192,256) :字节代换,移位行10,混合列12,轮密钥加14。
非对称:RSA,1976年DH提出【文革结束】,77年出来RSA
密码设计原则:1949 共和国建国 shannon
混淆:密钥和明文与密文之间的依赖关系相当复杂,以至于这种复杂性对分析者无法use
扩散:每个明文字节尽可能影响多个密文字节。
典型的对称密码分析方法:差分(选择明文攻击)+线性(已知明文攻击)。
简介DES的加密方法,口语请勿见怪
1 | 初始置换:按一个置换表把64位明文分为LPT和RPT两部分(左右都32位) | |
2轮 | 1 | 密钥置换:54位有效密码再分为16个48位子密钥,每一轮用1个 |
2 | 扩展置换:既然密钥都48位了,先进行代换的RPT部分怎么地也要扩展啊,如何扩展呢?先把32分8份,每份4个,只要这4个变成6个不就可以了么,怎么变?简单,每份开头加上上一份的结尾,结尾加上下一份的开头位,就这么简单。变成48位后和前面轮到的子密钥xor。 | |
3 | S盒代换:核心啊,核心,只有这一部分是非线性的,des的灵魂,它要把扩展的48位再变为32位。它是如何实现的呢?其实也不复杂,前面我们已经得到了48位xxoo后的密文,分为8份,每份6位,然后这6位中,我们选第一位和第六位组成一个数字,比如(11)=3,然后再选2,3,4,5位组成一个数,如(1101)=13,这出来的两个数字有什么用呢?其实S盒提供了8个4*16的数组,这个数组里面的数字都是>=0,<16的整数,呵呵,why?太nb了,这每个十进制的数字变成二进制不就是4位二进制内么,但是怎么选呢?easy,前面的两个数字3和13就代表行,列,但是每次是哪个S盒的数组呢?按顺序来吧。 这样6位变成4位后,总长就由48位变成32位,ok | |
4 | P盒置换:有个表,对着换就可以了 | |
3 末置换 | 补充前面:在轮环节,16轮每次开始的LPT和RPT是这样指定的,第一次就不用说了,先让RPT上,去经历4层功力训练,最后修炼成功后的RPT与LRT xor下,把这个新的值当做下一轮的RPT,但是下一轮的LRT是谁呢?呵呵,用上一轮的RPT是也。明白?明白。 言归正传:末置换easy,照着一个表换换就可以了 |
相关文章推荐
- 对称加密算法-IDEA算法(对称分组密码-华人学者参与设计的)
- 公钥密码RSA算法优化分析
- 密码算法详解——DES
- 常见密码算法总结--(4)加密模式的openssl代码分析之cfb模式
- DES, RC4, RC5, AES, RSA, MD5, SHA1 安全算法分析
- 常见密码算法总结--(1)分组对称密码
- 对称密码-DES和3DES
- 对称密码-DES和3DES
- 基于规则评分的密码强度检测算法分析及实现(JavaScript)
- 常见密码算法总结--(1)分组对称密码
- DES对称密码体系加密解密
- 对称密码的编程使用(DES、3DES、AES)
- 分组密码算法分析,改进
- 常见密码算法总结--(3)加密模式的openssl代码分析之cbc模式
- 基于规则评分的密码强度检测算法分析及实现(JavaScript)
- wordpress用户密码加密原理及其算法分析
- 转:PHP中的密码学算法及其应用2-对称密码算法
- Java分组密码算法DES
- 对称密码:三重DES
- 对称加密算法-IDEA算法(对称分组密码-华人学者参与设计的)