DES加密算法的实现

时间:2012-11-07 00:39:42
【文件属性】:

文件名称:DES加密算法的实现

文件大小:10KB

文件格式:TXT

更新时间:2012-11-07 00:39:42

DES

DES加密算法的实现,c语言源程序/*加密函数,运算结果保存在p[]中*/ void cryption(int p[],int k[]) /*p[]为32位的输入,k[]为48位的子密钥*/ { int i,j,m,n,flag,a; int l=0,b=0; int p1[48],q[6],q1[4],temp[32]; for(i=0;i<48;i++) p1[i]=*(p+E[i]); for(i=0;i<48;i++) p1[i]=p1[i]^k[i]; for(i=0,flag=0;i<48;flag++) { for(j=0;j<6;j++,i++) q[j]=p1[i]; m=q[0]*2+q[5]; n=q[1]*8+q[2]*4+q[3]*2+q[4]; a=S[flag][m*16+n]; q1[l++]=a/8; q1[l++]=(a/4)%2; q1[l++]=(a/2)%2; q1[l]=a%2; l=0; for(n=0;n<4;n++,b++) {temp[b]=q1[n];} } for(i=0;i<32;i++) p[i]=*(temp+P[i]); }


网友评论