当前位置: 首页 > news >正文

RSA 算法数学原理

RSA算法是应用最广泛的非对称加密算法。算法核心是“用两个大质数生成公钥和私钥,公钥加密的内容只有对应的私钥能解密”,两者不可逆且成对出现。

一、原理

RSA的本质是利用“大质数分解的数学难题”——把两个大质数相乘很容易,但要把乘积拆回原来的两个质数,在现有技术下几乎不可能,以此保证安全性。

  1. 生成密钥对(公钥+私钥)

    • 选两个不相等的质数(演示举例使用小质数,实际用数百位的大质数)
      p=61q=53
    • 计算乘积 n = p×qn=61×53=3233),n 会作为公钥和私钥的共同参数。
    • 计算“欧拉函数” φ(n) = (p-1)×(q-1)φ(3233)=60×52=3120),用于后续计算私钥。
    • 选一个整数 e1<e<φ(n),且 eφ(n) 互质,即最大公约数为1),比如 e=17(17,3120) 互质,此时 (e,n)=(17,3233) 就是公钥
    • 计算 dde 关于 φ(n) 的“模逆元”,即 (e×d) mod φ(n) = 1),通过计算得 d=2753(即 17×2753=4680146801 mod 3120=1),此时 (d,n)=(2753,3233) 就是私钥
  2. 公钥加密(任何人都能做)
    假设要加密的明文是 mm<n,否则需分段),加密公式为:
    密文c = (m^e) mod n
    比如明文 m=65(对应字母“A”的ASCII码),代入得 c=(65^17) mod 3233,计算结果为 2790,这就是加密后的密文。

  3. 私钥解密(只有私钥持有者能做)
    解密公式为:
    明文m = (c^d) mod n
    用私钥 d=2753 解密密文 c=2790,即 m=(2790^2753) mod 3233,计算结果会还原为 65,完成解密。

二、实例演示

为了让计算更简单,用更小的质数 p=3q=11 再演示一遍:

步骤计算过程结果(密钥/数据)
1. 选质数p=3,q=11-
2. 计算n = p×qn = 3×11n=33(公钥/私钥共用)
3. 计算φ(n) = (p-1)×(q-1)φ(33)=(3-1)×(11-1)φ(n)=20
4. 选e(1<e<φ(n),且 e 与 φ(n)互质)选e=7(1<7<20,且7和20互质)公钥:(e,n)=(7,33)
5. 算d(e的模逆元,即(e×d) mod φ(n) = 1)找d使(7×d) mod 20=1,得d=3(7×3=21,21 mod20=1)私钥:(d,n)=(3,33)
6. 公钥加密 (m^e) mod n(明文m=5)c=(5^7) mod 33(5^7=78125,78125÷33余6)密文c=6
7. 私钥解密 (c^d) mod n(密文c=6)m=(6^3) mod 33(6^3=216,216÷33余5)明文m=5(还原成功)

三、注意事项

  • 实际场景中,pq非常大的质数(通常 512、1024、1536、2048位二进制)n 的位数≈p 的位数 + q 的位数(通常 1024、2048、3072、4096 位二进制),未来会逐步过渡到更长。这让“分解n找p、q”的难度达到当前计算机无法破解的程度。
  • 公钥可以公开(比如发给别人加密信息),私钥必须保密(只有自己能解密)。
http://www.dtcms.com/a/565800.html

相关文章:

  • 网站建设应注意哪些事项wordpress 收费 视频
  • 外贸找客户有什么网站平台公司会倒闭吗
  • P5091 【模板】扩展欧拉定理
  • C盘爆满急救指南
  • 天台高端网站建设公司专业网站设计公司价格
  • 温州专业微网站制作公司天猫网页版
  • 免费网络推广网站王烨重生
  • 微气象仪:精准感知微环境气象变化
  • svn使用之创建分支进行开发
  • 拍卖网站建设公司社交类电商平台
  • Elasticsearch 8 安装与配置
  • 邯郸做网站推广找谁盛大游戏优化大师
  • HR1124S/HR1154D:赋能直流电机高效安全运行的核心芯片
  • 化妆品网站网页设计营销培训师
  • 网站积分解决方案标书制作模板
  • 前端直接渲染Markdown
  • Vue 3.5 新特性——useTemplateRef:简化模板引用的革命!
  • 网站开发技术三大件网页设计与制作教程期末考试试题
  • 赣州制作网站企业个人简历自我评价
  • 寄存器与存储器的区别(TLB和Cache,指令流水线分析)
  • 思维链(CoT)× 智能体(Agent)× 提示词(Prompt)讲解
  • MAC-SQL 图1
  • 第一章 WPF概述
  • 建设网站主机免费版展厅设计与施工公司
  • 如何注册网站免费的吗wordpress注释符号
  • 博客网站快速排名常用的设计软件有哪些
  • 做直播导航网站有哪些网站后端开发语言
  • C# 常用集合的使用
  • 合肥市建设网官方网站公司微网站怎么做的
  • 网站服务器的费用如何在网站后台删除栏目