文件名称:DES可用源代码C++
文件大小:5.56MB
文件格式:RAR
更新时间:2012-06-21 06:57:25
DES
从代码到实现int m[65],m1[65],k[65],i,k0[57],C[57]; int C0[29],D0[29],C1[29],D1[29],C2[29],D2[29],C3[29],D3[29],C4[29],D4[29],C5[29],D5[29],C6[29],D6[29],C7[29],D7[29],C8[29],D8[29],C9[29],D9[29],C10[29],D10[29],C11[29],D11[29],C12[29],D12[29],C13[29],D13[29],C14[29],D14[29],C15[29],D15[29],C16[29],D16[29]; int ip[65]={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}; int PC_1[57]={57,49,41,33,25,17,9, 1,58,50,42,34,26,18, 10,2,59,51,43,35,27, 19,11,3,60,52,44,36, 63,55,47,39,31,23,15, 7,62,54,46,38,30,22, 14,6,61,53,45,37,29, 21,13,5,28,20,12,4}; int PC_2[49]={14,17,11,24,1,5, 3,28,15,6,21,10, 23,19,12,4,26,8, 16,7,27,20,13,2, 41,52,31,37,47,55, 30,40,51,45,33,48, 44,49,39,56,34,53, 46,42,50,36,29,32}; Mingwenerjinzhi(); MIYAOERJINZHI(); fp=fopen("明文二进制表示.dat","r"); for(i=1;i<=64;i++) fscanf(fp,"%d\n",&m[i]); fclose(fp); fp=fopen("密钥二进制表示.dat","r"); for(i=1;i<=64;i++) fscanf(fp,"%d\n",&k[i]); fclose(fp); for(i=1;i<=64;i++) m1[i]=m[ip[i-1]]; for(i=1;i<33;i++) L0[i]=m1[i];//明文左侧的初始化 for(i=33;i<=64;i++) R0[i-32]=m1[i];//明文右侧的初始化 for(i=1;i<57;i++)//生成子密钥 k0[i]=k[PC_1[i-1]]; for(i=1;i<29;i++) C0[i]=k0[i]; for(i=29;i<=56;i++) D0[i-28]=k0[i]; for(i=1;i<28;i++)//循环左移一位 { C1[i]=C0[i+1]; D1[i]=D0[i+1]; } C1[28]=C0[1]; D1[28]=D0[1]; for(i=1;i<=28;i++) { C[i]=C1[i]; C[i+28]=D1[i]; } for(i=1;i<=48;i++) K1[i]=C[PC_2[i-1]];//生成子密钥k1 for(i=1;i<28;i++) //循环左移一位 { C2[i]=C1[i+1]; D2[i]=D1[i+1]; } C2[28]=C1[1]; D2[28]=D1[1]; for(i=1;i<=28;i++) { C[i]=C2[i]; C[i+28]=D2[i]; } for(i=1;i<=48;i++) K2[i]=C[PC_2[i-1]];//生成子密钥k2 for(i=1;i<27;i++)//循环左移两位 { C3[i]=C2[i+2]; D3[i]=D2[i+2]; } C3[27]=C2[1]; D3[27]=D2[1]; C3[28]=C2[2]; D3[28]=D2[2]; for(i=1;i<=28;i++) { C[i]=C3[i]; C[i+28]=D3[i];
【文件预览】:
纪振明2706301021
----DES加解密算法.dsp(4KB)
----StdAfx.cpp(215B)
----DES加解密算法.ncb(22.14MB)
----resource.h(1KB)
----DES加解密算法.vcproj.WWW-E72EE944917.Administrator.user(1KB)
----明文二进制表示.dat(192B)
----DES加解密算法.h(1KB)
----DES加解密算法.aps(21KB)
----Debug()
--------明文二进制表示.dat(192B)
--------DES加解密算法.exe(161KB)
--------密钥二进制表示.dat(192B)
----DES加解密算法.sln(901B)
----StdAfx.h(1KB)
----DES加解密算法.vcproj(7KB)
----DES加解密算法.cpp(2KB)
----DES加解密算法Dlg.h(2KB)
----DES加解密算法.dsw(551B)
----DES加解密算法.suo(14KB)
----res()
--------Thumbs.db(3KB)
--------DES加解密算法.ico(1KB)
--------DES加解密算法.rc2(405B)
----DES加解密算法.opt(53KB)
----DES加解密算法.clw(1KB)
----密钥二进制表示.dat(192B)
----DES加解密算法Dlg.cpp(61KB)
----DES加解密算法.rc(5KB)