RSA那点事儿

从工具入手

RSA-Tool 2使用说明

生成
  • 按下start,随意移动鼠标指针,以生成随机数(算法?)
  • 设置密钥长度,即n的长度,一般为2048bit(支持到4096)
  • 设置指数e以及指数的进制,一般为10进制的63357
  • 按下generate等待生成p/q/n/d
  • 两次或两次以上生成相同的密钥对是不可能的
分解
  • 将模数n复制到对应编辑框中,点击factor按钮,进行分解尝试
由p和q计算私钥d
  • 选择p和q的进制
  • 复制到对应编辑框
  • 点击calc.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大数运算原理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 姓名:于川皓 学号:16140210089 转载自:https://baike.baidu.com/item/RS...
    道无涯_cc76阅读 7,588评论 0 1
  • 公钥密码系统及RSA公钥算法 本文简单介绍了公开密钥密码系统的思想和特点,并具体介绍了RSA算法的理论基础,工作原...
    火狼o阅读 9,772评论 2 15
  • MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA...
    没能唱给你的歌曲阅读 4,554评论 2 6
  • RSA算法它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命...
    火狼o阅读 3,887评论 0 1
  • 前言 本文的RSA例子代码更新在我的github上。 RSA算法是最重要算法之一,它是计算机通信安全的基石,保证了...
    game3108阅读 14,017评论 2 53

友情链接更多精彩内容