博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于RSA算法
阅读量:6600 次
发布时间:2019-06-24

本文共 781 字,大约阅读时间需要 2 分钟。

关于RSA算法

                ——记"永恒之蓝"事件

RSA的加密解密都是在整数环$Z_n$​内完成的.

设明文$x$和密文$y$​是$Z_n$​内的元素,使用公钥进行加密可表示为:

  • 给定公钥$(n,e)$和明文$x$,则密文$y=x^e(mod n)$,其中$x,y \in Z_n$.

使用私钥进行解密可表示为:

  • 给定私钥$(n,d)$和密文$y$,则明文$x=y^d(mod n)$,其中$x,y \in Z_n$.

通常,$x$,$y$,$n$和$d$都是非常大的数字.$e$有时被称为公开指数,$d$被称为保密指数.

以下是RSA密码体制中计算公钥$(n,e)$和私钥$(n,d)$的步骤:

  1. 选择两个大整数$p$和$q$.
  2. 计算$n=p\times q$.
  3. 计算$\varphi(n)=(p-1) \times (q-1)$.
  4. 随机选择满足$(e,\varphi(n))=1$的公开指数$e \in \{1,2,...,\varphi(n)-1\}$.
  5. 计算满足$e \times d \equiv 1(mod n)$的保密指数$d$.

证明RSA方案的可行性:

条件$(e,\varphi(n))=1$保证了$Z_{\varphi(n)}$中存在$e$的逆元,即保密指数$d$必存在.

设$e \times d=k \times \varphi(n)+1$,根据加密公式和解密公式及欧拉定理,

有$x \equiv y^d \equiv (x^e)^d \equiv x^{ed} \equiv x^{k\varphi(n)+1} \equiv x^{k\varphi(n)} \times x \equiv x(mod n)$.证毕.

 

转载于:https://www.cnblogs.com/barrier/p/6851028.html

你可能感兴趣的文章
代理模式
查看>>
如何用转义来给JS添加的input元素设置单引号
查看>>
开源软件如何赚钱?
查看>>
php 从hbase 获取数据
查看>>
怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块
查看>>
J2E——网络编程练习
查看>>
scss控制指令
查看>>
增加右键启动cmd菜单
查看>>
easyUI 常用操作
查看>>
VirtualBox移植
查看>>
CDN工程师:还没用上TLS1.2? 那就直接升级到TLS1.3吧!
查看>>
HTTP要被抛弃? 亚洲诚信携手宝塔开启HTTPS加密快速通道
查看>>
Chrome: 完全移除对WoSign和StartCom证书的信任
查看>>
实用处理计算数据的小例子
查看>>
关于DNS 和根证书你了解多少?
查看>>
从0开始写小程序(三)前台循环数据绑定
查看>>
RecyclerView侧滑删除功能
查看>>
记一个hystrix异常
查看>>
9.02-Spring IOC 容器中Bean的生命周期
查看>>
6.6 tar打包
查看>>