【发布时间】:2021-01-11 02:25:48
【问题描述】:
我已经实现了一个主要功能的 RSA 加密。它随机生成 2048 位素数 p 和 q (n = pq),大多数时候我得到一个相对较小的值 d 符合预期。值 d 用于加密 M^d mod n.
但是,有时我得到的 d 值为负数,这在 RSA 中通常是不受欢迎的。经过一番研究,我发现一个常见的解决方案是在这种情况下简单地添加 phi (phi = (p-1)(q-1))。
d = d % phi;
if(d < 0)
d += phi;
但是当我这样做时,我最终得到的 d 与 n 一样大(超过 2048 位)。这似乎太大而无用。有没有我遗漏的东西,或者 d 的值实际上可以接受吗?
【问题讨论】:
-
嗯,这似乎是添加 phi 的重点。 (phi和n是一回事吗?)
-
是的,从逻辑上讲,这是完全合理的,但在实践中将某些东西提高到 1024 位功率似乎很荒谬。 Phi = (p-1)(q-1)
-
那怎么不行呢?
-
就像我说的,我担心 d 太大会使其无法用于加密,所以我想知道这种事情是否真的正常。
-
为什么不实用?我将假设数学工作正常,因为我不知道 RSA 的详细信息。
标签: encryption cryptography rsa