DES algorithm
来源:互联网 发布:nxpowerlite mac 破解 编辑:程序博客网 时间:2024/06/04 19:37
DES 算法的核心思想是混淆和扩散,我们来看它是怎么做来达到这个目地的。
流程:
密钥置换选择1(pc1) ->密钥循环左移表(rot) ->压缩选排阵(pc2)
初选排阵(ip) ->(扩展选排阵(e) ->S-Box阵(s) ->P选排阵(p)->)*16->末选排阵(fp)
置换使得顺序杂乱无章,密钥循环移位,压缩选排和round()(轮函数)中的扩展选排和S-BOX的替换使得每一位都尽可能的扩散到其它位,达到扩散的目地。
刚开始写时思路不是很清晰,而且对STL中的bitset<_N>的理解只是一知半解,害得我走了好多的弯路,尤其注意这一点,对于位串 bitset<6> b("000001");
b[0]不是0而是1,后来干脆自己写了一个bitset<_N>。
代码:
bitset.h
GetBlockCode.h
GetKeys.h
main.cpp
round.h
StringToBit.h
variable.h
message.in(输入明文)
可自义,只要是文本文件就行!
key.in(输入密钥)
可自定义,但我写的DES算法里只取最前面的8个字符做为密钥,不足补NULL,不影响结果!
绝对原创,希望大家转载时注明出处!
- DES algorithm
- des
- des
- DES
- DES
- DES
- DES
- des
- DES
- des
- DES
- DES
- DES
- DES
- DES
- DES
- des
- DES
- 开源中国-android软件资源整理
- 正则表达式30分钟入门教程
- jstl的函数库
- mysql 连接池
- mysql判断数据库是否存在
- DES algorithm
- 风
- 关于C++中Singleton类实例析构的讨论[zz]
- USB OTG驱动分析
- 深入Android 【五】 —— 任务和进程
- 多线程使用pycurl时出现段错误(segmentation fault)
- C#中IL反汇编工具的使用 其具体含义如下文
- SQL Server 2008 正式版安装指南(附序列号)
- PycURL