码迷,mamicode.com
首页 > 编程语言 > 详细

RSA 算法-MSDN文档

时间:2018-06-06 21:49:48      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:1.2   version   分解   分享   standard   bsp   prime   table   off   

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,私钥指数

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.2   version   分解   分享   standard   bsp   prime   table   off   

原文地址:https://www.cnblogs.com/jiftle/p/9146266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!