用vb实现DES加解密算法(三)--解密(36) 'S盒运算32位结果 For i = 0 To 7 RetS(i * 4 + 0) = (S(i) And &H8) \ &H8 RetS(i * 4 + 1) = (S(i) And &H4) \ &H4 RetS(i * 4 + 2) = (S(i) And &H2) \ &H2 RetS(i * 4 + 3) = (S(i) And &H1) \ &H1 Next For i = 0 To 31 'P变换 CodeP(i) = RetS(P(i)) '产生L15,R15 R15(i) = L14(i) Xor CodeP(i) L15(i) = R14(i) Next '进行第16次迭代 For i = 0 To 47 CodeE(i) = R15(E(i)) '经过E变换扩充,由32位变为48位 CodeE(i) = CodeE(i) Xor K1(i) '与K1按位作不进位加法运算 Next '分8组 For i = 0 To 5 CodeS1(i) = CodeE(i) CodeS2(i) = CodeE(i + 6) CodeS3(i) = CodeE(i + 12) CodeS4(i) = CodeE(i + 18) CodeS5(i) = CodeE(i + 24) CodeS6(i) = CodeE(i + 30) CodeS7(i) = CodeE(i + 36) CodeS8(i) = CodeE(i + 42)