如何快速生成随机数 RSA算法
收起
知与谁同
2018-07-16 17:23:30
2077
0
1
条回答
写回答
取消
提交回答
-
可以采用32bit RSA算法
设A从2~(N-1)
C=(A EXP D) mod N
满足如下条件:
D是素数,N是两个素数(P,Q)之积,
(D * E) mod ((P-1) * (Q-1))=1
因为:若
C=(A EXP D)mod N
有:
A=(C EXP E) mod N
所以,C与A 一一对应。
所以,对于A=2~(N-1),有不重复,无遗漏的伪随机码C。
凡是稍微扯上一点数学,尤其是高等数学的问题,我等泛泛之辈看起来就有点费劲,这里虽然文字不长,但是还得慢慢来看。
这里面RSA算法是密码学三大算法之一(RSA、MD5、DES),是一种不对称密码算法。说如果满足条件:D是素数,N是两个素数(P,Q)之积,(D * E) mod ((P-1) * (Q-1))=1,那么存在C与A(范围从2到N-1)一一对应,且C=(A EXP D)mod N。A是一个有顺序的数,C就是一个看似无规律的伪随机数。Mod运算表示求模,例如7Mod3=1。意思是7除以3余1。类似地8Mod3=2,9Mod3=0。EXP表示前面数的后面数次方,AEXPD表示A的D次方。这两个运算清楚了,其它的也就没什么困难的了,*是乘法的意思,大多数理科生都清
2019-07-17 22:56:10