开发者社区> 问答> 正文

如何快速生成随机数 RSA算法

如何快速生成随机数 RSA算法

展开
收起
知与谁同 2018-07-16 17:23:30 1979 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
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载