gpt4 book ai didi

math - 构造简单的非对称 RSA key 对的示例

转载 作者:行者123 更新时间:2023-12-03 08:28:43 33 4
gpt4 key购买 nike

我正在尝试了解 RSA 非对称 key 生成中的数学原理。我在网上找了几篇文章,我的想法不是很清楚,所以我带着希望终于能够完成一个例子来到这里。我非常了解数学,但我对这些步骤有点困惑,所以我会一步一步地进行,直到我理解为止。

我将尝试使用低于 16[0..15](4 位)的数字来尝试此示例加密/解密消息:“hello world”

第 1 步:随机选择 2 个素数

P=11Q=5

第 2 步:计算 H [(P-1)*(Q-1)]

H = (11-1) * (5-1) = 10* 4= 40

第3步:选择一个低于H(E)的随机质数(我相信H的互质数也适用于E)

E = 7

现在呢?

最佳答案

我们可以从第 2 步继续:

步骤 3) 选择 E这样Greatest Common Divisor(H,E)=1(1 < E < H)

在您的示例中,我们有 gcd(40,?)=1 and 1<?<40 --> 7满足这个,所以我们选择E=7

步骤 4) 计算 d这样(dE) mod H =1d<H

在示例中,我们有 (d*7) mod 40=1 且 d< 40,因此我们得到 d= 23

步骤 5) 公钥是 {E,n}私钥是{d,n}其中n = P * Q 。在示例中,我们有公钥={7,55} 和私钥={23,55}

步骤 6) 计算 C= M^E(mod n)用于加密其中 M是我们要加密的消息的数字表示。

在示例中,我们必须将 M="hello world"解释为数字。在这里,为了简单起见,我假设它等于 39 (这个数字应该小于 n )。您可以引用here了解有关如何将文本编码为数值的更多信息。

C= 39 ^7 mod 55 = 19(M的加密值)

步骤 7) 计算 M= C^d(mod n)用于解密19

在示例中,我们有 M=19^23 mod 55 = 39(应解码为“hello world”的消息)。

关于math - 构造简单的非对称 RSA key 对的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65802494/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com