用vb实现DES加解密算法(三)--解密(23) '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)) '产生L7,R7 R7(i) = L6(i) Xor CodeP(i) L7(i) = R6(i) Next '进行第8次迭代 For i = 0 To 47 CodeE(i) = R7(E(i)) '经过E变换扩充,由32位变为48位 CodeE(i) = CodeE(i) Xor K9(i) '与K9按位作不进位加法运算 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)