RSA那点事儿
从工具入手
RSA-Tool 2使用说明
生成
- 按下start,随意移动鼠标指针,以生成随机数(算法?)
- 设置密钥长度,即n的长度,一般为2048bit(支持到4096)
- 设置指数e以及指数的进制,一般为10进制的63357
- 按下generate等待生成p/q/n/d
- 两次或两次以上生成相同的密钥对是不可能的
- 将模数n复制到对应编辑框中,点击factor按钮,进行分解尝试
- 选择p和q的进制
- 复制到对应编辑框
- 点击calc.d按钮
生成算法
- 选取两个大素数p和q(p和q不相等)
- 定义模数n,n=pq
- 选取一个指数e,满足条件1
- 计算e的模反元素d,即ed = 1 mod (p-1)(q-1),d就是私钥
- 分发公钥(N, e)
ed≡1 mod (p-1)(q-1)
n=pq,已知p和q时才能求解d,而只知道n,就需要因数分解,基于大整数因数分解十分困难的事实,rsa在密钥长度足够的情况下,安全性得到了保证。
加解密算法 【RSA那点事儿】加密:m^e ≡ c (mod n),其中m为明文,c为密文,(n, e)为公钥
解密:c^d ≡ m (mod n),(n, d)为私钥
miracl rsa大数运算实例
miracl 使用手册
miracl github
rsa大数运算原理
推荐阅读
- 说睡
- 2019-08-29|2019-08-29 iOS13适配那点事
- 糖尿病肾病那些事儿
- 昨日反思
- | 《明朝那些事儿》09 当年明月著
- 关于拼多多的那些事儿
- 肉奴和多肉的那点事儿
- 欢喜合一刘恩桥|欢喜合一刘恩桥,创业是件不简单的事儿
- 写作这件小事儿,我能搞定
- 2020暑假琐记7:坐席那些事儿