haitao:
看来我说的怎么都存在误导了。。。。。。。是不是md5让你们想到非对称加密了
[阅读: 633] 2008-08-20 09:52:20
我的设计既可以采用对称加密,也可以非对称加密,所以才存在一个通过结果判断双方密钥是否对应(相同或互为公私钥)
因为我卖的卡可以给不同的开发商、不同的应用所使用,区别就是采用的加密算法+密钥
比如:
a公司用它做的ax系统,采用3des,密钥为keyax(客户端、服务端相同)
a公司用它做的ay系统,采用des,密钥为keyay(客户端、服务端相同)
a公司用它做的az系统,采用rsa,密钥对为keyaz1(客户端),keyaz2(服务端)
b公司用它做。。。。。。。
c公司用它做。。。。。。。
。。。。。。。。
客户端的cpu卡:
用本系统的客户端密钥的keyc加密“随机数+随机数的crc32+系统时间+本卡的id”为x
发x到 服务端
服务端 用本系统的服务端密钥keys解密得到的密文x,得到一个数据块y
注意,x可能是系统ax的卡加密的,而服务端可能是系统ay
所以,首先要排除这种情况
(如果是des类加密,解密时密钥不对,也能解出一个“明文”来,这个“明文”肯定不同于真正的明文;rsa好像也是如此)
而数据块y怎样告诉服务端,自己就是真正的明文
所以靠据块y里的前2个部分的关系(后者是前者的crc32)来判断,数据块y是不是真正的明文
不知道说清楚了没有。。。。。。。。。。