RSA 算法

若要生成密钥对,可以从创建名为 p 和 q 的两个大的质数开始。 这两个数相乘,结果称为 n。 因为 p 和 q 都是质数,所以 n 的全部因数为 1、 p、 q 和 n。

如果仅考虑小于 n 的数,则与 n 为互质数(即与 n 没有公因数)的数的个数等于 (p - 1)(q - 1)。

现在,选择一个数 e,它与计算的值为互质数。 则公钥表示为 {e, n}。

若要创建私钥,则必须计算 d,它是满足 (d)(e) mod n = 1 的一个数。 根据 Euclidean 算法,私钥为 {d, n}。

纯文本 m 到密码文本 c 的加密定义为 c = (m ^ e) mod n。 解密则定义为 m = (c ^ d) mod n。

字段总结

RSA Laboratories 网站上的   PKCS #1: RSA Cryptography Standard(PKCS #1:RSA 加密标准)的 A.1.2 节定义了 RSA 私钥的格式。

下表总结了 RSAParameters 结构的字段。 第三列提供了   PKCS #1: RSA Cryptography Standard(PKCS #1:RSA 加密标准)的 A.1.2 节中的对应字段。

 

RSAParameters 字段

Contains

对应的 PKCS #1 字段

D

d,私钥指数 , d = e-1 mod (p-1)*(q-1)

privateExponent

DP

d mod (p - 1)

exponent1

DQ

d mod (q - 1)

exponent2

Exponent

e,公钥指数

publicExponent

InverseQ

(InverseQ)(q) = 1 mod p

coefficient

Modulus

n

modulus

P

p

prime1

Q

q

prime2

RSA 的安全性基于这样的事实,给定公钥 { e, n },无论是直接计算还是通过将 n 因式分解为 p 和 q,要计算出 d 都是不可行的。 因此,与 d、 p 或 q 相关的任何密钥部分都必须保密。

RSA 算法-MSDN文档的更多相关文章

  1. MSDN文档篇

    很多人网上下载3~10G不等的MSDN文档,发现,下载完成了不会用 很多人每次都得在线下载文档,手上万千PC,都重新下载不是得疯了? so==> 先看几张图 推荐一个工具:https://vsh ...

  2. 英文VS2010安装中文版MSDN文档方法

    英文VS2010安装中文版MSDN文档方法 2010-06-01 11:52 by 李永京, 51409 阅读, 50 评论, 收藏, 编辑 在2010年4月12号发布Visual Studio 20 ...

  3. VS2017 下载离线MSDN文档

    VS2017 下载离线MSDN文档 点开帮助窗口的时候发现没有添加和删除帮助内容选项.处理方法如下: 1.打开vs2017安装包,如果你找不到安装包,可在相应你下载vs2017的浏览器上找到下载内容, ...

  4. NLP传统基础(1)---BM25算法---计算文档和query相关性

    一.简介:TF-IDF 的改进算法 https://blog.csdn.net/weixin_41090915/article/details/79053584 bm25 是一种用来评价搜索词和文档之 ...

  5. c#中操作word文档-三、MSDN文档

    这是关于word读写的MSDN内容,基本所有的方法都可以在这上面找到 https://msdn.microsoft.com/zh-cn/library/office/ff837519.aspx

  6. vs2010 MSDN文档安装方法

    vs2010的MSDN是不能独立安装,必须安装VS2010后才能安装. 安装方法: 1.vs2010的ISO光盘文件中,里面会有个ProductDocumentation文件夹,其实这个就是安装MSD ...

  7. 【转】 修改vs2010帮助文档(MSDN)路径

    VS2010的MSDN采用代理网页的方式,规定首次确定目录后不能更改本地Help Library的路径,只好手动变更路径 第一步: 先把MSDN装好,先装在C盘,默认的路径 第二步 现在我要把MSDN ...

  8. Visual Studio 2010 vs2010 英文版 使用 已有的中文版 MSDN 帮助文档

    第一步 设置Help Library Manager区域语言 打开Microsoft Visual Studio 2010开始菜单里Visual Studio Tools里的Manage Help S ...

  9. Kmeans文档聚类算法实现之python

    实现文档聚类的总体思想: 将每个文档的关键词提取,形成一个关键词集合N: 将每个文档向量化,可以参看计算余弦相似度那一章: 给定K个聚类中心,使用Kmeans算法处理向量: 分析每个聚类中心的相关文档 ...

随机推荐

  1. 《微赢微信公众平台系统5月14最新破解高级运营版+水果机+邀请函+微汽车+微食品+用户CRM》

    <微赢微信公众平台系统5月14最新破解高级运营版+水果机+邀请函+微汽车+微食品+用户CRM> 此版本号眼下是淘宝卖600RMB的,其他VIP源代码论坛也都还没有公布.咱们这里全然免费分享 ...

  2. 【VMware】宿主机连接wifi,虚拟机中的Linux系统配置连接wifi

    环境描述 宿主机:Windows 10 64bit 虚拟机:Centos 第一步:虚拟机设置 选择连接方式为NAT 第二步:设置宿主机的wifi 控制面板>>网络和Internet> ...

  3. java的过滤器对session进行检查

    private void sendErrorToBrowser(HttpServletRequest request,HttpServletResponse response) throws IOEx ...

  4. python字符串格式化--dict传参

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python字符串格式化--dict传参 print "I'm %(name)s. I'm %(a ...

  5. HeidiSQL数据库mysql/sql-server连接工具

    HeidiSQL,是一款可以显示表在存储中占得空间,体积小的mysql.sql-server连接工具! 下载地址: https://www.heidisql.com/download.php 中文版: ...

  6. 【自创+转发】jQuery给input 密码框绑定回车事件

    <script type="text/javascript" src="Scripts/jquery-1.6.2.js"></script&g ...

  7. HDUOJ--1058HangOver

    HangOver Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...

  8. php数据库操作类(转)

    <?php Class DB {       private $link_id;     private $handle;     private $is_log;     private $t ...

  9. linux服务器的Gzip文件压缩方法[转]

    一.gzip介绍 gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.软件的作者是Jean-loup Gailly和Mark Adler.1992 ...

  10. iOS - CFNetwork 的使用

    1.CFNetwork CFNetwork 是基于 OS 层 BSDSocket 封装(纯 C),用于网络通信,早期的网络请求框架 ASIHTTPRequest 就是基于 CFNetwork 进行的封 ...