DES加密过程和解密过程的区别 为什么des算法的解密过程是加密过程的逆过程

des\u7b97\u6cd5\u52a0\u5bc6\u89e3\u5bc6\u7684\u5b9e\u73b0

\u4e00\uff0e\u52a0\u5bc6

DES\u7b97\u6cd5\u5904\u7406\u7684\u6570\u636e\u5bf9\u8c61\u662f\u4e00\u7ec464\u6bd4\u7279\u7684\u660e\u6587\u4e32\u3002\u8bbe\u8be5\u660e\u6587\u4e32\u4e3am=m1m2\u2026m64 (mi=0\u62161)\u3002\u660e\u6587\u4e32\u7ecf\u8fc764\u6bd4\u7279\u7684\u5bc6\u94a5K\u6765\u52a0\u5bc6\uff0c\u6700\u540e\u751f\u6210\u957f\u5ea6\u4e3a64\u6bd4\u7279\u7684\u5bc6\u6587E\u3002\u5176\u52a0\u5bc6\u8fc7\u7a0b\u56fe\u793a\u5982\u4e0b\uff1a



DES\u7b97\u6cd5\u52a0\u5bc6\u8fc7\u7a0b
\u5bf9DES\u7b97\u6cd5\u52a0\u5bc6\u8fc7\u7a0b\u56fe\u793a\u7684\u8bf4\u660e\u5982\u4e0b\uff1a\u5f85\u52a0\u5bc6\u768464\u6bd4\u7279\u660e\u6587\u4e32m\uff0c\u7ecf\u8fc7IP\u7f6e\u6362\u540e\uff0c\u5f97\u5230\u7684\u6bd4\u7279\u4e32\u7684\u4e0b\u6807\u5217\u8868\u5982\u4e0b\uff1a


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

\u8be5\u6bd4\u7279\u4e32\u88ab\u5206\u4e3a32\u4f4d\u7684L0\u548c32\u4f4d\u7684R0\u4e24\u90e8\u5206\u3002R0\u5b50\u5bc6\u94a5K1(\u5b50\u5bc6\u94a5\u7684\u751f\u6210\u5c06\u5728\u540e\u9762\u8bb2)\u7ecf\u8fc7\u53d8\u6362f(R0,K1)\uff08f\u53d8\u6362\u5c06\u5728\u4e0b\u9762\u8bb2\uff09\u8f93\u51fa32\u4f4d\u7684\u6bd4\u7279\u4e32f1,f1\u4e0eL0\u505a\u4e0d\u8fdb\u4f4d\u7684\u4e8c\u8fdb\u5236\u52a0\u6cd5\u8fd0\u7b97\u3002\u8fd0\u7b97\u89c4\u5219\u4e3a\uff1a

f1\u4e0eL0\u505a\u4e0d\u8fdb\u4f4d\u7684\u4e8c\u8fdb\u5236\u52a0\u6cd5\u8fd0\u7b97\u540e\u7684\u7ed3\u679c\u8d4b\u7ed9R1\uff0cR0\u5219\u539f\u5c01\u4e0d\u52a8\u7684\u8d4b\u7ed9L1\u3002L1\u4e0eR0\u53c8\u505a\u4e0e\u4ee5\u4e0a\u5b8c\u5168\u76f8\u540c\u7684\u8fd0\u7b97\uff0c\u751f\u6210L2\uff0cR2\u2026\u2026 \u4e00\u5171\u7ecf\u8fc716\u6b21\u8fd0\u7b97\u3002\u6700\u540e\u751f\u6210R16\u548cL16\u3002\u5176\u4e2dR16\u4e3aL15\u4e0ef(R15,K16)\u505a\u4e0d\u8fdb\u4f4d\u4e8c\u8fdb\u5236\u52a0\u6cd5\u8fd0\u7b97\u7684\u7ed3\u679c\uff0cL16\u662fR15\u7684\u76f4\u63a5\u8d4b\u503c\u3002

R16\u4e0eL16\u5408\u5e76\u621064\u4f4d\u7684\u6bd4\u7279\u4e32\u3002\u503c\u5f97\u6ce8\u610f\u7684\u662fR16\u4e00\u5b9a\u8981\u6392\u5728L16\u524d\u9762\u3002R16\u4e0eL16\u5408\u5e76\u540e\u6210\u7684\u6bd4\u7279\u4e32\uff0c\u7ecf\u8fc7\u7f6e\u6362IP-1\u540e\u6240\u5f97\u6bd4\u7279\u4e32\u7684\u4e0b\u6807\u5217\u8868\u5982\u4e0b\uff1a
IP-1 40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25


\u7ecf\u8fc7\u7f6e\u6362IP-1\u540e\u751f\u6210\u7684\u6bd4\u7279\u4e32\u5c31\u662f\u5bc6\u6587e.\u3002
\u4e0b\u9762\u518d\u8bb2\u4e00\u4e0b\u53d8\u6362f(Ri-1,Ki)\u3002
\u5b83\u7684\u529f\u80fd\u662f\u5c0632\u6bd4\u7279\u7684\u8f93\u5165\u518d\u8f6c\u5316\u4e3a32\u6bd4\u7279\u7684\u8f93\u51fa\u3002\u5176\u8fc7\u7a0b\u5982\u56fe\u6240\u793a\uff1a


\u5bf9f\u53d8\u6362\u8bf4\u660e\u5982\u4e0b\uff1a\u8f93\u5165Ri-1(32\u6bd4\u7279)\u7ecf\u8fc7\u53d8\u6362E\u540e\uff0c\u81a8\u80c0\u4e3a48\u6bd4\u7279\u3002\u81a8\u80c0\u540e\u7684\u6bd4\u7279\u4e32\u7684\u4e0b\u6807\u5217\u8868\u5982\u4e0b\uff1a


E: 32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 31

\u81a8\u80c0\u540e\u7684\u6bd4\u7279\u4e32\u5206\u4e3a8\u7ec4\uff0c\u6bcf\u7ec46\u6bd4\u7279\u3002\u5404\u7ec4\u7ecf\u8fc7\u5404\u81ea\u7684S\u76d2\u540e\uff0c\u53c8\u53d8\u4e3a4\u6bd4\u7279(\u5177\u4f53\u8fc7\u7a0b\u89c1\u540e)\uff0c\u5408\u5e76\u540e\u53c8\u6210\u4e3a32\u6bd4\u7279\u3002\u8be532\u6bd4\u7279\u7ecf\u8fc7P\u53d8\u6362\u540e\uff0c\u5176\u4e0b\u6807\u5217\u8868\u5982\u4e0b\uff1a


P: 16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25

\u7ecf\u8fc7P\u53d8\u6362\u540e\u8f93\u51fa\u7684\u6bd4\u7279\u4e32\u624d\u662f32\u6bd4\u7279\u7684f (Ri-1,Ki)\u3002
\u4e0b\u9762\u518d\u8bb2\u4e00\u4e0bS\u76d2\u7684\u53d8\u6362\u8fc7\u7a0b\u3002\u4efb\u53d6\u4e00S\u76d2\u3002\u89c1\u56fe\uff1a

\u5728\u5176\u8f93\u5165b1,b2,b3,b4,b5,b6\u4e2d\uff0c\u8ba1\u7b97\u51fax=b1*2+b6, y=b5+b4*2+b3*4+b2*8\uff0c\u518d\u4eceSi\u8868\u4e2d\u67e5\u51fax \u884c\uff0cy \u5217\u7684\u503cSxy\u3002\u5c06Sxy\u5316\u4e3a\u4e8c\u8fdb\u5236\uff0c\u5373\u5f97Si\u76d2\u7684\u8f93\u51fa\u3002\uff08S\u8868\u5982\u56fe\u6240\u793a\uff09


\u81f3\u6b64\uff0cDES\u7b97\u6cd5\u52a0\u5bc6\u539f\u7406\u8bb2\u5b8c\u4e86\u3002\u5728VC++6.0\u4e0b\u7684\u7a0b\u5e8f\u6e90\u4ee3\u7801\u4e3a\uff1a

for(i=1;i<=64;i++)
m1[i]=m[ip[i-1]];//64\u4f4d\u660e\u6587\u4e32\u8f93\u5165\uff0c\u7ecf\u8fc7IP\u7f6e\u6362\u3002

\u4e0b\u9762\u8fdb\u884c\u8fed\u4ee3\u3002\u7531\u4e8e\u5404\u6b21\u8fed\u4ee3\u7684\u65b9\u6cd5\u76f8\u540c\u53ea\u662f\u8f93\u5165\u8f93\u51fa\u4e0d\u540c\uff0c\u56e0\u6b64\u53ea\u7ed9\u51fa\u5176\u4e2d\u4e00\u6b21\u3002\u4ee5\u7b2c\u516b\u6b21\u4e3a\u4f8b\uff1a//\u8fdb\u884c\u7b2c\u516b\u6b21\u8fed\u4ee3\u3002\u9996\u5148\u8fdb\u884cS\u76d2\u7684\u8fd0\u7b97\uff0c\u8f93\u516532\u4f4d\u6bd4\u7279\u4e32\u3002
for(i=1;i<=48;i++)//\u7ecf\u8fc7E\u53d8\u6362\u6269\u5145\uff0c\u753132\u4f4d\u53d8\u4e3a48\u4f4d
RE1[i]=R7[E[i-1]];
for(i=1;i<=48;i++)//\u4e0eK8\u6309\u4f4d\u4f5c\u4e0d\u8fdb\u4f4d\u52a0\u6cd5\u8fd0\u7b97
RE1[i]=RE1[i]+K8[i];
for(i=1;i<=48;i++)
{
if(RE1[i]==2)
RE1[i]=0;
}
for(i=1;i<7;i++)//48\u4f4d\u5206\u62108\u7ec4
{
s11[i]=RE1[i];
s21[i]=RE1[i+6];
s31[i]=RE1[i+12];
s41[i]=RE1[i+18];
s51[i]=RE1[i+24];
s61[i]=RE1[i+30];
s71[i]=RE1[i+36];
s81[i]=RE1[i+42];
}//\u4e0b\u9762\u7ecf\u8fc7S\u76d2\uff0c\u5f97\u52308\u4e2a\u6570\u3002S1,s2,s3,s4,s5,s6,s7,s8\u5206\u522b\u4e3aS\u8868
s[1]=s1[s11[6]+s11[1]*2][s11[5]+s11[4]*2+s11[3]*4+s11[2]*8];
s[2]=s2[s21[6]+s21[1]*2][s21[5]+s21[4]*2+s21[3]*4+s21[2]*8];
s[3]=s3[s31[6]+s31[1]*2][s31[5]+s31[4]*2+s31[3]*4+s31[2]*8];
s[4]=s4[s41[6]+s41[1]*2][s41[5]+s41[4]*2+s41[3]*4+s41[2]*8];
s[5]=s5[s51[6]+s51[1]*2][s51[5]+s51[4]*2+s51[3]*4+s51[2]*8];
s[6]=s6[s61[6]+s61[1]*2][s61[5]+s61[4]*2+s61[3]*4+s61[2]*8];
s[7]=s7[s71[6]+s71[1]*2][s71[5]+s71[4]*2+s71[3]*4+s71[2]*8];
s[8]=s8[s81[6]+s81[1]*2][s81[5]+s81[4]*2+s81[3]*4+s81[2]*8];
for(i=0;i<8;i++)//8\u4e2a\u6570\u53d8\u6362\u8f93\u51fa\u4e8c\u8fdb\u5236
{
for(j=1;j<5;j++)
{
temp[j]=s[i+1]%2;
s[i+1]=s[i+1]/2;
}
for(j=1;j<5;j++)
f[4*i+j]=temp[5-j];
}
for(i=1;i<33;i++)//\u7ecf\u8fc7P\u53d8\u6362
frk[i]=f[P[i-1]];//S\u76d2\u8fd0\u7b97\u5b8c\u6210
for(i=1;i<33;i++)//\u5de6\u53f3\u4ea4\u6362
L8[i]=R7[i];
for(i=1;i<33;i++)//R8\u4e3aL7\u4e0ef(R,K)\u8fdb\u884c\u4e0d\u8fdb\u4f4d\u4e8c\u8fdb\u5236\u52a0\u6cd5\u8fd0\u7b97\u7ed3\u679c
{
R8[i]=L7[i]+frk[i];
if(R8[i]==2)
R8[i]=0;
}

[ \u539f\u521b\u6587\u6863 \u672c\u6587\u9002\u5408\u4e2d\u7ea7\u8bfb\u8005 \u5df2\u9605\u8bfb21783\u6b21 ] \u6587\u6863 \u4ee3\u7801 \u5de5\u5177

DES\u7b97\u6cd5\u53ca\u5176\u5728VC++6.0\u4e0b\u7684\u5b9e\u73b0(\u4e0b)
\u4f5c\u8005\uff1a\u822a\u5929\u533b\u5b66\u5de5\u7a0b\u7814\u7a76\u6240\u56db\u5ba4 \u6731\u5f66\u519b

\u5728\u300aDES\u7b97\u6cd5\u53ca\u5176\u5728VC++6.0\u4e0b\u7684\u5b9e\u73b0(\u4e0a)\u300b\u4e2d\u4e3b\u8981\u4ecb\u7ecd\u4e86DES\u7b97\u6cd5\u7684\u57fa\u672c\u539f\u7406\uff0c\u4e0b\u9762\u8ba9\u6211\u4eec\u7ee7\u7eed\uff1a

\u4e8c\uff0e\u5b50\u5bc6\u94a5\u7684\u751f\u6210
64\u6bd4\u7279\u7684\u5bc6\u94a5\u751f\u621016\u4e2a48\u6bd4\u7279\u7684\u5b50\u5bc6\u94a5\u3002\u5176\u751f\u6210\u8fc7\u7a0b\u89c1\u56fe\uff1a


\u5b50\u5bc6\u94a5\u751f\u6210\u8fc7\u7a0b\u5177\u4f53\u89e3\u91ca\u5982\u4e0b\uff1a
64\u6bd4\u7279\u7684\u5bc6\u94a5K\uff0c\u7ecf\u8fc7PC-1\u540e\uff0c\u751f\u621056\u6bd4\u7279\u7684\u4e32\u3002\u5176\u4e0b\u6807\u5982\u8868\u6240\u793a\uff1a

PC-1 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

\u8be5\u6bd4\u7279\u4e32\u5206\u4e3a\u957f\u5ea6\u76f8\u7b49\u7684\u6bd4\u7279\u4e32C0\u548cD0\u3002\u7136\u540eC0\u548cD0\u5206\u522b\u5faa\u73af\u5de6\u79fb1\u4f4d\uff0c\u5f97\u5230C1\u548cD1\u3002C1\u548cD1\u5408\u5e76\u8d77\u6765\u751f\u6210C1D1\u3002C1D1\u7ecf\u8fc7PC-2\u53d8\u6362\u540e\u5373\u751f\u621048\u6bd4\u7279\u7684K1\u3002K1\u7684\u4e0b\u6807\u5217\u8868\u4e3a\uff1a

PC-2 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

C1\u3001D1\u5206\u522b\u5faa\u73af\u5de6\u79fbLS2\u4f4d\uff0c\u518d\u5408\u5e76\uff0c\u7ecf\u8fc7PC-2\uff0c\u751f\u6210\u5b50\u5bc6\u94a5K2\u2026\u2026\u4f9d\u6b21\u7c7b\u63a8\u76f4\u81f3\u751f\u6210\u5b50\u5bc6\u94a5K16\u3002
\u6ce8\u610f\uff1aLsi (I =1,2,\u2026.16)\u7684\u6570\u503c\u662f\u4e0d\u540c\u7684\u3002\u5177\u4f53\u89c1\u4e0b\u8868\uff1a

\u8fed\u4ee3\u987a\u5e8f 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
\u5de6\u79fb\u4f4d\u6570 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1


\u751f\u6210\u5b50\u5bc6\u94a5\u7684VC\u7a0b\u5e8f\u6e90\u4ee3\u7801\u5982\u4e0b\uff1a

for(i=1;i<57;i++)//\u8f93\u516564\u4f4dK\uff0c\u7ecf\u8fc7PC-1\u53d8\u4e3a56\u4f4d k0[i]=k[PC_1[i-1]];

56\u4f4d\u7684K0\uff0c\u5747\u5206\u4e3a28\u4f4d\u7684C0\uff0cD0\u3002C0\uff0cD0\u751f\u6210K1\u548cC1\uff0cD1\u3002\u4ee5\u4e0b\u51e0\u6b21\u8fed\u4ee3\u65b9\u6cd5\u76f8\u540c\uff0c\u4ec5\u4ee5\u751f\u6210K8\u4e3a\u4f8b\u3002 for(i=1;i<27;i++)//\u5faa\u73af\u5de6\u79fb\u4e24\u4f4d
{
C8[i]=C7[i+2];
D8[i]=D7[i+2];
}
C8[27]=C7[1];
D8[27]=D7[1];
C8[28]=C7[2];
D8[28]=D7[2];
for(i=1;i<=28;i++)
{
C[i]=C8[i];
C[i+28]=D8[i];
}
for(i=1;i<=48;i++)
K8[i]=C[PC_2[i-1]];//\u751f\u6210\u5b50\u5bc6\u94a5k8

\u6ce8\u610f\uff1a\u751f\u6210\u7684\u5b50\u5bc6\u94a5\u4e0d\u540c\uff0c\u6240\u9700\u5faa\u73af\u5de6\u79fb\u7684\u4f4d\u6570\u4e5f\u4e0d\u540c\u3002\u6e90\u7a0b\u5e8f\u4e2d\u4ee5\u751f\u6210\u5b50\u5bc6\u94a5 K8\u4e3a\u4f8b\uff0c\u6240\u4ee5\u5faa\u73af\u5de6\u79fb\u4e86\u4e24\u4f4d\u3002\u4f46\u5728\u7f16\u7a0b\u4e2d\uff0c\u751f\u6210\u4e0d\u540c\u7684\u5b50\u5bc6\u94a5\u5e94\u4ee5Lsi\u8868\u4e3a\u51c6\u3002



\u4e09\uff0e\u89e3\u5bc6

DES\u7684\u89e3\u5bc6\u8fc7\u7a0b\u548cDES\u7684\u52a0\u5bc6\u8fc7\u7a0b\u5b8c\u5168\u7c7b\u4f3c\uff0c\u53ea\u4e0d\u8fc7\u5c0616\u5708\u7684\u5b50\u5bc6\u94a5\u5e8f\u5217K1\uff0cK2\u2026\u2026K16\u7684\u987a\u5e8f\u5012\u8fc7\u6765\u3002\u5373\u7b2c\u4e00\u5708\u7528\u7b2c16\u4e2a\u5b50\u5bc6\u94a5K16\uff0c\u7b2c\u4e8c\u5708\u7528K15\uff0c\u5176\u4f59\u7c7b\u63a8\u3002
\u7b2c\u4e00\u5708\uff1a

\u52a0\u5bc6\u540e\u7684\u7ed3\u679c

L=R15, R=L15\u2295f(R15,K16)\u2295f(R15,K16)=L15
\u540c\u7406R15=L14\u2295f(R14,K15), L15=R14\u3002
\u540c\u7406\u7c7b\u63a8\uff1a
\u5f97 L=R0, R=L0\u3002
\u5176\u7a0b\u5e8f\u6e90\u4ee3\u7801\u4e0e\u52a0\u5bc6\u76f8\u540c\u3002\u5728\u6b64\u5c31\u4e0d\u91cd\u5199\u3002

\u56db\uff0e\u793a\u4f8b
\u4f8b\u5982\uff1a\u5df2\u77e5\u660e\u6587m=learning, \u5bc6\u94a5 k=computer\u3002
\u660e\u6587m\u7684ASCII\u4e8c\u8fdb\u5236\u8868\u793a\uff1a

m= 01101100 01100101 01100001 01110010
01101110 01101001 01101110 01100111

\u5bc6\u94a5k\u7684ASCII\u4e8c\u8fdb\u5236\u8868\u793a\uff1a

k=01100011 01101111 01101101 01110000
01110101 01110100 01100101 01110010

\u660e\u6587m\u7ecf\u8fc7IP\u7f6e\u6362\u540e\uff0c\u5f97\uff1a

11111111 00001000 11010011 10100110 00000000 11111111 01110001 11011000

\u7b49\u5206\u4e3a\u5de6\u53f3\u4e24\u6bb5\uff1a

L0=11111111 00001000 11010011 10100110 R0=00000000 11111111 01110001 11011000

\u7ecf\u8fc716\u6b21\u8fed\u4ee3\u540e\uff0c\u6240\u5f97\u7ed3\u679c\u4e3a\uff1a

L1=00000000 11111111 01110001 11011000 R1=00110101 00110001 00111011 10100101
L2=00110101 00110001 00111011 10100101 R2=00010111 11100010 10111010 10000111
L3=00010111 11100010 10111010 10000111 R3=00111110 10110001 00001011 10000100
L4=00111110101100010000101110000100 R4=11110111110101111111101000111110
L5=11110111110101111111101000111110 R5=10010110011001110100111111100101
L6=10010110011001110100111111100101 R6=11001011001010000101110110100111
L7=11001011001010000101110110100111 R7=01100011110011101000111011011001
L8=01100011110011101000111011011001 R8=01001011110100001111001000000100
L9=01001011110100001111001000000100 R9=00011101001101111010111011100001
L10=00011101001101111010111011100001 R10=11101110111110111111010100000101
L11=11101110111110111111010100000101 R11=01101101111011011110010111111000
L12=01101101111011011110010111111000 R12=11111101110011100111000110110111
L13=11111101110011100111000110110111 R13=11100111111001011010101000000100
L14=11100111111001011010101000000100 R14=00011110010010011011100001100001
L15=00011110010010011011100001100001 R15=01010000111001001101110110100011
L16=01010000111001001101110110100011 R16=01111101101010000100110001100001

\u5176\u4e2d\uff0cf\u51fd\u6570\u7684\u7ed3\u679c\u4e3a\uff1a

f1=11001010001110011110100000000011 f2=00010111000111011100101101011111
f3=00001011100000000011000000100001 f4=11100000001101010100000010111001
f5=10101000110101100100010001100001 f6=00111100111111111010011110011001
f7=11110101101010011100000100111100 f8=10000000111110001010111110100011
f9=01111110111110010010000000111000 f10=10100101001010110000011100000001
f11=01110000110110100100101100011001 f12=00010011001101011000010010110010
f13=10001010000010000100111111111100 f14=11100011100001111100100111010110
f15=10110111000000010111011110100111 f16=01100011111000011111010000000000

16\u4e2a\u5b50\u5bc6\u94a5\u4e3a\uff1a

K1=11110000101111101110111011010000 K2=11100000101111101111011010010101
K3=11110100111111100111011000101000 K4=11100110111101110111001000011010
K5=11101110110101110111011100100110 K6=11101111110100110101101110001011
K7=00101111110100111111101111100110 K8=10111111010110011101101101010000
K9=00011111010110111101101101000100 K10=00111111011110011101110100001001
K11=00011111011011011100110101101000 K12=01011011011011011011110100001010
K13=11011101101011011010110110001111 K14=11010011101011101010111110000000
K15=11111001101111101010011011010011 K16=11110001101111100010111000000001

S\u76d2\u4e2d\uff0c16\u6b21\u8fd0\u7b97\u65f6\uff0c\u6bcf\u6b21\u76848 \u4e2a\u7ed3\u679c\u4e3a\uff1a
\u7b2c\u4e00\u6b21\uff1a5\uff0c11\uff0c4\uff0c1\uff0c0\uff0c3\uff0c13\uff0c9\uff1b
\u7b2c\u4e8c\u6b21\uff1a7\uff0c13\uff0c15\uff0c8\uff0c12\uff0c12\uff0c13\uff0c1\uff1b
\u7b2c\u4e09\u6b21\uff1a8\uff0c0\uff0c0\uff0c4\uff0c8\uff0c1\uff0c9\uff0c12\uff1b
\u7b2c\u56db\u6b21\uff1a0\uff0c7\uff0c4\uff0c1\uff0c7\uff0c6\uff0c12\uff0c4\uff1b
\u7b2c\u4e94\u6b21\uff1a8\uff0c1\uff0c0\uff0c11\uff0c5\uff0c0\uff0c14\uff0c14\uff1b
\u7b2c\u516d\u6b21\uff1a14\uff0c12\uff0c13\uff0c2\uff0c7\uff0c15\uff0c14\uff0c10\uff1b
\u7b2c\u4e03\u6b21\uff1a12\uff0c15\uff0c15\uff0c1\uff0c9\uff0c14\uff0c0\uff0c4\uff1b
\u7b2c\u516b\u6b21\uff1a15\uff0c8\uff0c8\uff0c3\uff0c2\uff0c3\uff0c14\uff0c5\uff1b
\u7b2c\u4e5d\u6b21\uff1a8\uff0c14\uff0c5\uff0c2\uff0c1\uff0c15\uff0c5\uff0c12\uff1b
\u7b2c\u5341\u6b21\uff1a2\uff0c8\uff0c13\uff0c1\uff0c9\uff0c2\uff0c10\uff0c2\uff1b
\u7b2c\u5341\u4e00\u6b21\uff1a10\uff0c15\uff0c8\uff0c2\uff0c1\uff0c12\uff0c12\uff0c3\uff1b
\u7b2c\u5341\u4e8c\u6b21\uff1a5\uff0c4\uff0c4\uff0c0\uff0c14\uff0c10\uff0c7\uff0c4\uff1b
\u7b2c\u5341\u4e09\u6b21\uff1a2\uff0c13\uff0c10\uff0c9\uff0c2\uff0c4\uff0c3\uff0c13\uff1b
\u7b2c\u5341\u56db\u6b21\uff1a13\uff0c7\uff0c14\uff0c9\uff0c15\uff0c0\uff0c1\uff0c3\uff1b
\u7b2c\u5341\u4e94\u6b21\uff1a3\uff0c1\uff0c15\uff0c5\uff0c11\uff0c9\uff0c11\uff0c4\uff1b
\u7b2c\u5341\u516d\u6b21\uff1a12\uff0c3\uff0c4\uff0c6\uff0c9\uff0c3\uff0c3\uff0c0\uff1b

\u5b50\u5bc6\u94a5\u751f\u6210\u8fc7\u7a0b\u4e2d\uff0c\u751f\u6210\u7684\u6570\u503c\u4e3a\uff1a

C0=0000000011111111111111111011 D0=1000001101110110000001101000
C1=0000000111111111111111110110 D1=0000011011101100000011010001
C2=0000001111111111111111101100 D2=0000110111011000000110100010
C3=0000111111111111111110110000 D3=0011011101100000011010001000
C4=0011111111111111111011000000 D4=1101110110000001101000100000
C5=1111111111111111101100000000 D5=0111011000000110100010000011
C6=1111111111111110110000000011 D6=1101100000011010001000001101
C7=1111111111111011000000001111 D7=0110000001101000100000110111
C8=1111111111101100000000111111 D8=1000000110100010000011011101
C9=1111111111011000000001111111 D9=0000001101000100000110111011
C10=1111111101100000000111111111 D10=0000110100010000011011101100
C11=1111110110000000011111111111 D11=0011010001000001101110110000
C12=1111011000000001111111111111 D12=1101000100000110111011000000
C13=1101100000000111111111111111 D13=0100010000011011101100000011
C14=0110000000011111111111111111 D14=0001000001101110110000001101
C15=1000000001111111111111111101 D15=0100000110111011000000110100
C16=0000000011111111111111111011 D16=1000001101110110000001101000

\u6211\u4e5f\u662f\u5416\uff0c\u53d1\u5230\u7a0b\u5e8f\u677f\u5757\u5427\u2026\u2026

数据加密标准DES(Data Encryption Standard)算法是一个分组加密算法,也是一个对称算法,加密和解密使用同一个算法,利用传统的换位、异或、置换等加密方法。DES是IBM在上个世纪70年代开发的简密钥对称加解密算法。

加密过程和解密过程的区别:“方向和过程刚好相反”。也就是说“解密过程是加密过程的反过程”,DES算法解密过程是加密过程的“逆”运算。

以Triple DES为例说明

加密过程:
1、以K1加密
2、以K2解密
3、以K3加密

解密过程(密钥顺序及应用方向与加密过程相反):

1、以K3解密
2、以K2加密
3、以K1解密

说明:K1、K2、K3是密钥。

  • 瑙e瘑鏄鍔犲瘑鐨閫杩囩▼,鍗冲皢瀵嗘枃杩樺師鎴愬師鏉ュ彲浠ョ悊瑙g殑褰㈠紡?
    绛旓細缃崲锛圱ranspositioncipher锛夛細灏嗗瓧姣嶉『搴忛噸鏂版帓鍒楋紝渚嬪鈥榟elpme鈥欏彉鎴愨榚hplem鈥欍傜粨璁猴細鎵浠ュ浜嶧eistel瀵嗙爜鏉ヨ锛屽叾瑙e瘑杩囩▼姝f槸鍔犲瘑杩囩▼鐨閫嗚繃绋嬨傛晠鑰屾垜浠湁绗簩涓粨璁猴細缁撹鈶★細瀵逛簬閲囩敤浜咶eistel瀵嗙爜涓哄熀纭缁撴瀯鐨DES瀵嗙爜鏉ヨ锛屽叾瑙e瘑杩囩▼姝f槸鍔犲瘑杩囩▼鐨勯嗚繍绠椼傚姞瀵嗚繃绋嬬殑閫嗚繃绋嬩负瑙e瘑锛屽嵆灏嗚瀵嗘枃淇℃伅...
  • 鏁版嵁鍔犲瘑鏂瑰紡鎬荤粨
    绛旓細椤惧悕鎬濅箟锛3DES鍔犲瘑灏辨槸浣跨敤DES绠楁硶鍔犲瘑瑙e瘑3娆★紝鐢变簬DES鍔犲瘑缂轰箯瀹夊叏鎬э紝3DES鍔犲瘑3娆″悗瀹夊叏鎬уぇ澶ф彁楂橈紝浣嗘崯澶变簡涓瀹氱殑閫熷害鎬ц兘锛屾墍浠ユ參鎱㈣鏇翠紭寮傜殑AES鍔犲瘑绠楁硶鎵鍙栦唬锛3DES绠楁硶鍙互璇存槸DES鍔犲瘑鍜孉ES鍔犲瘑涓棿鐨勮繃搴﹀搧銆侫ES鍔瑙e瘑杩囩▼鍜DES鍔犺В瀵嗚繃绋嬬被浼硷紝AES鏍囧噯鏀寔鍙彉鍒嗙粍闀垮害锛屽垎缁勯暱搴﹀彲璁惧畾涓32 ...
  • des绠楁硶涓巖sa绠楁硶鍖哄埆
    绛旓細DES绠楁硶涓嶳SA绠楁硶鍖哄埆锛1銆丏ES绠楁硶锛氫紭鐐癸細瀵嗛挜鐭紝鍔犲瘑澶勭悊绠鍗曪紝鍔犲瘑瑙e瘑閫熷害蹇紝閫傜敤浜庡姞瀵嗗ぇ閲忔暟鎹殑鍦哄悎銆傜己鐐癸細鍗曢敭锛屼笉鑳戒粠涓涓敭鎺ㄥ鍑哄彟涓涓敭銆2銆丷SA绠楁硶锛氫紭鐐癸細搴旂敤骞挎硾锛屽姞瀵嗗瘑閽涓庤В瀵瀵嗛挜涓嶄竴鏍凤紝涓鑸殑鍔犲瘑瀵嗛挜绉颁负绉侀挜銆傝В瀵嗗瘑閽ョО涓哄叕閽ワ紝绉侀挜鍔犲瘑鍚庡彧鑳界敤鍏挜瑙e瘑锛屽綋鐒朵篃鍙互鐢ㄥ叕閽...
  • 闈炲绉鍔犲瘑鍜瀵圭О鍔犲瘑鐨勫尯鍒
    绛旓細闈炲绉板姞瀵嗗拰瀵圭О鍔犲瘑鍦ㄥ姞瀵嗗拰瑙e瘑杩囩▼銆鍔犲瘑瑙e瘑閫熷害銆佷紶杈撶殑瀹夊叏鎬т笂閮芥湁鎵涓嶅悓锛屽叿浣撲粙缁嶅涓嬶細1銆佸姞瀵嗗拰瑙e瘑杩囩▼涓嶅悓 瀵圭О鍔犲瘑杩囩▼鍜岃В瀵嗚繃绋浣跨敤鐨勫悓涓涓瘑閽ワ紝鍔犲瘑杩囩▼鐩稿綋浜庣敤鍘熸枃+瀵嗛挜鍙互浼犺緭鍑哄瘑鏂囷紝鍚屾椂瑙e瘑杩囩▼鐢ㄥ瘑鏂-瀵嗛挜鍙互鎺ㄥ鍑哄師鏂囥備絾闈炲绉板姞瀵嗛噰鐢ㄤ簡涓や釜瀵嗛挜锛屼竴鑸娇鐢ㄥ叕閽ヨ繘琛屽姞瀵嗭紝...
  • DES 鍔犲瘑绠楁硶鏄庢牱鐨勪竴绉嶇畻娉?瑕侀氫織瑙i噴..
    绛旓細涓嶈繃闇瑕佹敞鎰忕殑鏄紝16娆″惊鐜乏绉诲搴旂殑宸︾Щ浣嶆暟瑕佷緷鎹笅杩拌鍒欒繘琛岋細寰幆宸︾Щ浣嶆暟 1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1 浠ヤ笂浠嬬粛浜DES绠楁硶鐨鍔犲瘑杩囩▼銆侱ES绠楁硶鐨瑙e瘑杩囩▼鏄竴鏍风殑锛鍖哄埆浠呬粎鍦ㄤ簬绗竴娆¤凯浠f椂鐢ㄥ瓙瀵嗛挜K15锛岀浜屾K14銆...锛屾渶鍚庝竴娆$敤K0锛岀畻娉曟湰韬苟娌℃湁浠讳綍鍙樺寲銆
  • 浠涔堟槸鍗曢挜瀵嗙爜浣撳埗?
    绛旓細鍒嗕负: 鍗曞瘑閽ュ瘑鐮佷綋鍒跺拰鍙屽瘑閽ュ瘑鐮佷綋鍒讹紝鍖哄埆鍦ㄤ簬: 鍗曞瘑閽ュ瘑鐮佷綋鍒躲鍔犲瘑鍜岃В瀵瀵嗛挜鐩稿悓銆佸弻瀵嗛挜瀵嗙爜浣撳埗銆佸姞瀵嗗拰瑙e瘑瀵嗛挜涓嶇浉鍚
  • RSA鍜DES绠楁硶鐨勪紭缂虹偣銆佹瘮杈
    绛旓細DES绠楁硶锛氫紭鐐癸細瀵嗛挜杈冪煭锛鍔犲瘑澶勭悊绠鍗曪紝鍔犺В瀵嗛熷害蹇紝閫傜敤浜庡姞瀵嗗ぇ閲忔暟鎹殑鍦哄悎銆傜己鐐癸細瀵嗛挜鍗曚竴锛屼笉鑳界敱鍏朵腑涓涓瘑閽ユ帹瀵煎嚭鍙︿竴涓瘑閽ャ俁SA绠楁硶锛氫紭鐐癸細搴旂敤骞挎硾锛屽姞瀵嗗瘑閽鍜岃В瀵瀵嗛挜涓嶄竴鏍凤紝涓鑸姞瀵嗗瘑閽ョО涓虹閽ャ傝В瀵嗗瘑閽ョО涓哄叕閽ワ紝绉侀挜鍔犲瘑鍚庡彧鑳界敤鍏挜瑙e瘑,锛屽綋鐒朵篃鍙互鐢ㄥ叕閽ュ姞瀵嗭紝鐢ㄧ閽ヨВ瀵嗐傜己...
  • 涓夐噸鍔犲瘑鐨涓棿閮ㄥ垎涓轰粈涔堟槸瑙e瘑鑰屼笉鏄姞瀵?
    绛旓細鏄负浜嗚繘涓姝ユ墦涔卞瘑鏂囷紝璁╃畻娉曟洿澶嶆潅闅剧牬銆傚叾瀹炰腑闂瑙e瘑鐨閭d竴杞苟闈炵湡姝hВ瀵嗭紝鍙笉杩囩敤鐨勮В瀵嗙畻娉曠殑涓閮ㄥ垎锛屽苟涓斾篃娌$敤瀵嗙爜鐪熸瑙e瘑锛屾兂鎯筹紝瑕佹槸鐪熻В瀵嗕簡锛岄偅灏卞拰鍙鍔犲瘑涓娆′竴鏍蜂簡銆
  • DES绠楁硶鐨勮璁$洰鐨
    绛旓細DES涓3DES锛欴ES鍚慉ES杩囨浮鐨勫姞瀵嗙畻娉曪紝瀹冧娇鐢3鏉56浣嶇殑瀵嗛挜瀵规暟鎹繘琛屼笁娆″姞瀵嗐傛槸DES鐨涓涓洿瀹夊叏鐨勫彉褰傚畠浠ES涓哄熀鏈ā鍧楋紝閫氳繃缁勫悎鍒嗙粍鏂规硶璁捐鍑哄垎缁勫姞瀵嗙畻娉曘傛瘮璧锋渶鍒濈殑DES锛3DES鏇翠负瀹夊叏銆傝鏂规硶浣跨敤涓や釜瀵嗛挜锛屾墽琛屼笁娆ES绠楁硶锛鍔犲瘑鐨勮繃绋鏄姞瀵-瑙e瘑-鍔犲瘑锛瑙e瘑鐨勮繃绋鏄В瀵-鍔犲瘑-瑙e瘑銆
  • 绠杩DES绠楁硶涓嶳AS绠楁硶鍔犲瘑涓庤В瀵嗙殑鎬濇兂
    绛旓細DES鏄浜屽厓鏁板瓧鍒嗙粍鍔犲瘑鐨鍒嗙粍瀵嗙爜绠楁硶锛屽垎缁勯暱搴︿负64姣旂壒銆傛瘡64浣嶆槑鏂囧姞瀵嗘垚64浣嶅瘑鏂囷紝娌℃湁鏁版嵁鍘嬬缉鍜屾墿灞曪紝瀵嗛挜闀垮害涓56姣旂壒锛岃嫢杈撳叆64姣旂壒锛屽垯绗8,16,24,32,40,48,56,64涓哄鍋舵楠屼綅锛屾墍浠ワ紝瀹為檯瀵嗛挜鍙湁56浣嶃侱ES绠楁硶瀹屽叏鍏紑锛屽叾淇濆瘑鎬у畬鍏ㄤ緷璧栧瘑閽ャ
  • 扩展阅读:一键解密工具 ... 在线aes加密解密工具 ... 加密通道网址获取 ... 在线des加密解密 ... des解密在线工具 ... des加密算法原理及过程 ... base64加密解密 ... rsa加密解密过程图 ... des算法的加密和解密过程 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网