spl*_*cer 9 ssh rsa ssh-keygen ssh-keys
我的私钥 ( ~/.ssh/id_rsa) 是一个 1766 字节的文件,但我的公钥 ( ~/.ssh/id_rsa.pub) 只有 396 字节的长度。为什么会有巨大的差异?是因为私钥是使用 AES 加密的吗?AES 密文通常不是与明文长度相同吗?
use*_*636 18
你的私钥比你的公钥有更多的信息。公钥仅传达加密指数 (e) 和模数 (n),而私钥额外包含解密指数 (d) 和模数的两个素数因子 (p 和 q)。私钥本质上有一个公钥。
[加密:密文=消息^e(mod n); 解密:消息=密文^d(mod n)]
要查看您的私钥文件中的所有数据:
$ openssl rsa -in id_rsa -text -noout
Run Code Online (Sandbox Code Playgroud)
编辑:私钥文件显然没有加密指数,但它有指数 d_1 和 d_2,其中 d_1 = d (mod p-1) 和 d_2 = d (mod q-1)。这些用于加速解密——您可以将解密幂运算拆分为较小的并行幂运算调用,最终比 big d 和 big n 的一个 big m=c^d (mod n) 更快。