RSA那点事儿

2016-12-18  本文已影响72人  行走的程序猿

从工具入手

RSA-Tool 2使用说明

生成
分解
由p和q计算私钥d

再来看看算法

生成算法
  1. 选取两个大素数p和q(p和q不相等)
  2. 定义模数n,n=pq
  3. 选取一个指数e,满足条件1<e<(p-1)(q-1),e和(p-1)(q-1)互素(欧拉函数)
  4. 计算e的模反元素d,即ed = 1 mod (p-1)(q-1),d就是私钥
  5. 分发公钥(N, e)
rsa可靠性来源

在n和e已知的情况下,是否能够求取私钥d?
ed≡1 mod (p-1)(q-1)
n=pq,已知p和q时才能求解d,而只知道n,就需要因数分解,基于大整数因数分解十分困难的事实,rsa在密钥长度足够的情况下,安全性得到了保证。

加解密算法

加密:m^e ≡ c (mod n),其中m为明文,c为密文,(n, e)为公钥
解密:c^d ≡ m (mod n),(n, d)为私钥

miracl rsa大数运算实例
miracl 使用手册
miracl github
rsa大数运算原理

上一篇 下一篇

猜你喜欢

热点阅读