关于RSA安全性的疑问
想用RSA做软件的注册算法,过程是:
1、根据用户发送的用户名用私钥加密。
2、将加密码后的注册码发送给用户。
3、用户收到注册码后公钥解密后判断注册是否成功。
这里有一个疑问就是,用户是知道公钥和用户名的,他能不能任意伪造(不是破解)一个私钥,然后用这个私钥和公钥将用户名加密,那么软件不就被破解了吗?
[解决办法]
看雪论坛看看相关帖子吧
【原创】使用RSA1024算法防止软件被Keygen http://bbs.pediy.com/showthread.php?t=92380
[解决办法]
别人当然可以伪造私钥,但是加密后的密码肯定跟你提供的私钥再进行加密后的密码不一样。
[解决办法]
理论上是可以伪造的
但RSA的安全性是基于大数分解复杂性的,目前的技术分解一个超过1024位(bit)的数是不现实的,所以超过1024位的RSA暂时还是安全的
[解决办法]
如果你说的伪造私钥是随便的一个,那肯定不行,
我理解的是,注册码-加私钥-加公钥,这三项一起检查你的注册码。一个私钥对应一个注册码。
用户申请注册码,应该是用用户名和私钥同时申请。