RSA算法,取p,q为小素数和比较大的素数,算法有区别吗?

来源:百度知道 编辑:UC知道 时间:2024/05/19 08:57:30
RSA算法,求d,e,n等;
我拿到了一个算法,比较简单。发现只能处理比较小的素数计算,比如p,q都位于300以内,但当p,q超过大概500时,算法失效了,也就是加密后无法再解密出原有内容!
是否素数:小数和大数的算法有区别?
有谁能详细介绍一下?或提供一个能处理大素数的算法。谢谢

你应该先看一下那个程序.
小数和大数算法在忽略机器条件时是肯定一样的,但是由于实现方法和软硬件环境不同,有可能会出现无法计算大数的情况.这个有可能是由程序内任何一处计算大数的地方引发.
500^2=250000比300^大了很多,相应的二进制串也长了很多,如果程序没有考虑到二进制数据长度的问题,采用了数字数据而非字符数据形式来进行运算的话,给一个相当于二进制64位长的变量赋值65位二进制数据是不会报错,而是强行进行移位赋值,从而导致实际数据不一,无法解密的情况.