DES算法的c语言实现
来源:互联网 发布:暗黑破坏神3mac 卡不卡 编辑:程序博客网 时间:2024/05/16 01:32
网上找了一部分代码稍微修改了下就可以使用了。已上传github
https://github.com/runyyf/desDemo.git
原理:
DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位(实际用到了56位,第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1),其算法主要分为两步:
1)初始置换
其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则为将输入的第58位换到第一位,第50位换到第2位……依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:设置换前的输入值为D1D2D3……D64,则经过初始置换后的结果为:L0=D58D50……D8;R0=D57D49……D7。
其置换规则见下表:
58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,
62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,
57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,
61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,
2)逆置换
经过16次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出。
此算法是对称加密算法体系中的代表,在计算机网络系统中广泛使用.
0 0
- 求des算法的c语言实现
- DES算法的c语言实现
- C语言实现DES算法
- DES算法的介绍与C语言实现
- 工程实践——DES算法的C语言实现
- DES算法的C语言实现 (《信息网络安全》作业)
- Linux下c语言实现DES和3DES算法
- Linux下c语言实现DES和3DES算法
- DES算法的C语言代码
- DES(C语言实现)
- DES加密算法的C语言实现
- DES加密算法的C语言实现
- DES加密的C语言实现
- DES算法的C实现代码
- DES算法C语言源码
- c语言实现des加密
- c语言des加密算法实现
- C语言实现数据保护算法(1)——DES&3DES加解密
- 心情随笔
- 浏览器渲染的流程
- CSS-3D按钮实现实例(二)
- Android:inputType参数类型说明
- 软件工程
- DES算法的c语言实现
- 关于全局变量,如何被多个.c文件共享问题
- 笔试知识
- Android-Handler 总结(Handler 的使用 ,Looper , MessageQueue , HandlerThread )
- 百度编辑器(UEditor),设置访问前缀。
- php foreach获取的是值不是引用
- 【微信bug解决方案】微信 Android js reload失效 解决方案
- Installation error: INSTALL_FAILED_MEDIA_UNAVAILABLE
- flex中元素的width