网络游戏中的登陆密匙如何生成看到一篇文章中写道,当玩家账号密码都与数据库中一至时,登陆服产生一个该玩
网络游戏中的登陆密匙如何生成
看到一篇文章中写道,当玩家账号密码都与数据库中一至时,登陆服产生一个该玩家的登陆密匙
请问这个登陆密匙产生的算法是什么?
[解决办法]
RSA算法
它是一个既能用于数据加密也能用于数字签名的算法。
RSA的安全性依赖于大数分解。公钥和私钥都是两个大素数( 大于 100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积。
密钥对的产生。选择两个大素数,p 和q 。计算:
n = p * q
然后随机选择加密密钥e,要求 e 和 ( p - 1 ) * ( q - 1 ) 互质。最后,利用Euclid 算法计算解密密钥d, 满足
e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )
其中n和d也要互质。数e和n是公钥,d是私钥。两个素数p和q不再需要,应该丢弃,不要让任何人知道。
加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s,其中 2^s <= n, s 尽可能的大。对应的密文是:
ci = mi^e ( mod n ) ( a )
解密时作如下计算:
mi = ci^d ( mod n
