DES算法详解和代码 - IP置换
来源:互联网 发布:金坛网络维护维修电话 编辑:程序博客网 时间:2024/04/30 04:29
DES算法,IP置换的功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则见下表:
即将输入的第58位换到第一位,第50位换到第2位,...,依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0 是右32位,例
如:设置换前的输入值为D1D2D3......D64,则经过初始置换后的结果为:L0=D58D50...D8;R0=D57D49...D7。
其典型C代码实现如下:
定义IP置换表如上表,char类型数组,长度为64;
然后,在从0到64循环,把源数组的数据按IP置换表的内容填到目的数组,即实现了IP置换;
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,
即将输入的第58位换到第一位,第50位换到第2位,...,依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0 是右32位,例
如:设置换前的输入值为D1D2D3......D64,则经过初始置换后的结果为:L0=D58D50...D8;R0=D57D49...D7。
其典型C代码实现如下:
定义IP置换表如上表,char类型数组,长度为64;
然后,在从0到64循环,把源数组的数据按IP置换表的内容填到目的数组,即实现了IP置换;
// initial permutation (IP)const static char IP_Table[64] = {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};void DES_InitialPermuteData(char* src,char* dst){//IPint i=0;for(i=0;i<64;i++){dst[i] =src[IP_Table[i]-1];}}
0 0
- DES算法详解和代码 - IP置换
- DES算法代码
- 操作系统页面置换算法代码
- des算法代码:内存移动算法代码
- Android实现DES和3DES算法
- DES加解密算法详解
- 经典的DES算法详解
- 操作系统——页面置换算法详解
- 学习笔记--页面置换算法详解
- des加密和解密代码
- 操作系统实验四 页面置换算法(fifo 算法代码------页面置换代码集合)
- TCP/IP详解--nagle算法和TCP_NODELAY
- DES算法缺陷和改进
- DES加密和解密算法
- 置换算法
- 置换算法
- 任务调度和页面置换算法
- LRU 和 FIFO 页面置换算法
- 关于页面跳转过程中出现两个界面view出现重叠的处理
- Java编程思想重点笔记
- MVC5 + EF6 + Bootstrap3 (15) 应用ModelState和Data Annotation做服务器端数据验证
- Ubuntu下安装python的torndb开发环境
- 如何在App中实现朋友圈功能之四在朋友圈中添加发送图片功能——箭扣科技Arrownock
- DES算法详解和代码 - IP置换
- 酷友观点/经验:UI设计师不可不知的安卓屏幕知识(原创文章)
- 编程练习2----字符串操作(重复字符检查)
- The JAVA_HOME environment variable does not point to a working 32-bit JDK or JRE.
- UI_霓虹灯
- java中如何判断类的重复加载
- iOS存储的几种方式
- 财富赢家模拟炒股最新版分享,股市小散的利器
- 欢迎使用CSDN-markdown编辑器