下载此文档

实验报告+des加密算法的实现.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
实验报告DES加密算法的实现班级自动化学号:姓名:2016年11月13日星期日一、DES加密简述:DES算法是一种对称密码体制,由美国IBM公司在1972年研发。其明文按64位进行分组,密钥长64位(包含8位校验位),分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。二、DES的实现过程首先通过初始置换表IP对明文进行置换intIP_Table[64]={ 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,56,48,40,32,24,16,8,0,58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6};第一个57就是将明文中的第57个元素,放到第1的位置,然后把明文中第49个元素放到第2的位置,以此类推。之后将换位后的输出分为两部分L0和R0,L0是输出的左32位,R0是右32位。intDES_IP_Transform(chardata[64]){t;chartemp[64];t=t<t++){t]=data[t]];}memcpy(data,temp,64);return0;}之后加密函数,将R0通过位选择函数E置换,把本身是32位的R0扩充成48位,与生成的48位子密钥对应,按位运算。intE_Table[48]={31,0,1,2,3,4,3, 4,5,6,7,8,7, 8,9,10,11,12,11,12,13,14,15,16,15,16,17,18,19,20,19,20,21,22,23,24,23,24,25,26,27,28,27,28,29,30,31,0};intDES_E_Transform(chardata[48]){t;chartemp[48];t=t<t++){t]=data[t]];}memcpy(data,temp,48);return0;}然后,将扩充完的R0和子密钥K1进行模2加运算,得到48位的一个串,把这个串从左到右分为8组,每组6个字符。这里设8组分别为B1,B2,B3,B4,B5,B6,B7,B8。其中Bj=b1b2b3b4b5b6。之后,通过S盒来收缩,然后通过S盒输出的就是32位的一个串。intDES_SBOX(chardata[48]){t;intline,row,output;intcur1,cur2;t=t<t++){t*6;t<<2;line=(data[cur1]<<1)+data[cur1+5];row=(data[cur1+1]<<3)+(data[cur1+2]<<2)+(data[cur1+3]<<1)+data[cur1+4];output=t][line][row];data[cur2]=(output&0X08)>>3;data[cur2+1]=(output&0X04)>>2;data[cur2+2]=(output&0X02)>>1;data[cur2+3]=output&0x01;}return0;}最后,经过16次迭代运算后。得到L16、R16,t = 0; cnt < 16; cnt++){         memcpy(copyRi

实验报告+des加密算法的实现 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小26 KB
  • 时间2019-10-14