私钥长度 > public 密钥?
Private key length > public key?
我正在使用 openssl 模块处理 rsa private 和 public 密钥/加密/解密等。但是一个问题仍然没有答案:为什么私钥经常(总是,我不知道)比 public 密钥长?
这个有几个答案吗?
这是我的 public 和生成的私钥。
RSA 私钥包括 RSA public 密钥中的值,以及更多的值私有。而且,数值本身更大。
public 键包含 modulus 和 public 指数 e,它很短(主要是 3 或 65537)。另一方面,私钥包含私钥指数 d ≡ e−1 (mod φ(n)).根据 φ(n),d 可能比 e.
大得多
还有其他 public 个不同的关键算法。一些基于椭圆曲线的算法有一个大整数作为私钥(和组描述),public密钥有一个大于大整数的曲线点(和组描述)。
why private key are often (are always, i don't know) longer than public key ?
答案详见PKCS 1 (and friends like RFC 2437).
public 键是对 {e, n}
,其中 e
是 public 指数,n
是模数。
私钥表示之一是三元组 {e, d, n}
,其中 e
是 public 指数,d
是私有指数,n
是模数。
另一个私钥表示n元组{e, d, n, p, q, dp, dq, qi}
,其中e
是public指数; d
是私有指数; n
是模数; p
和 q
是 n
.
的因子
其余的是中国剩余定理,它可以加快签名速度(我相信)。 dp
是p的指数,一个正整数使得e(dP) ≅ 1 (mod(p-1))
; dq
是 q 的指数,一个正整数使得 e(dq) ≅ 1 (mod(q-1))
; qi
是 CRT 系数,小于 p
的正整数使得 q(qInv) ≅ 1 (mod p)
.
我正在使用 openssl 模块处理 rsa private 和 public 密钥/加密/解密等。但是一个问题仍然没有答案:为什么私钥经常(总是,我不知道)比 public 密钥长?
这个有几个答案吗?
这是我的 public 和生成的私钥。
RSA 私钥包括 RSA public 密钥中的值,以及更多的值私有。而且,数值本身更大。
public 键包含 modulus 和 public 指数 e,它很短(主要是 3 或 65537)。另一方面,私钥包含私钥指数 d ≡ e−1 (mod φ(n)).根据 φ(n),d 可能比 e.
大得多还有其他 public 个不同的关键算法。一些基于椭圆曲线的算法有一个大整数作为私钥(和组描述),public密钥有一个大于大整数的曲线点(和组描述)。
why private key are often (are always, i don't know) longer than public key ?
答案详见PKCS 1 (and friends like RFC 2437).
public 键是对 {e, n}
,其中 e
是 public 指数,n
是模数。
私钥表示之一是三元组 {e, d, n}
,其中 e
是 public 指数,d
是私有指数,n
是模数。
另一个私钥表示n元组{e, d, n, p, q, dp, dq, qi}
,其中e
是public指数; d
是私有指数; n
是模数; p
和 q
是 n
.
其余的是中国剩余定理,它可以加快签名速度(我相信)。 dp
是p的指数,一个正整数使得e(dP) ≅ 1 (mod(p-1))
; dq
是 q 的指数,一个正整数使得 e(dq) ≅ 1 (mod(q-1))
; qi
是 CRT 系数,小于 p
的正整数使得 q(qInv) ≅ 1 (mod p)
.