1

JKJS

RSA_print_fp(stdout,rsa,1);

此函数在模数中添加 0x00。所以公钥大小变为 129 字节而不是 128 字节。为什么要添加 0x00?

谢谢你。

4

2 回答 2

0

模数是一个整数,而不是一串字节。整数可以是负数也可以是正数。尽管 RSA 中的模数不使用负整数,但处理整数的函数在 OpenSSL 中是通用的。

负数的最高有效位设置为 1。为了区分负整数和恰好将最高有效字节的第 7 位设置为 1 的正整数,正整数以 0x00 为前缀。

于 2012-11-10T14:26:39.143 回答
0

它是模数的 ASN.1 DER 编码。整数以二进制补码形式、大端顺序和最小字节数表示。

根据该规则,FF是 -1(十进制)和00 FF255(十进制)。

在 RSA 中,所有整数都是正数。因此,从不设置最左边字节的 MSB 位。

于 2012-11-10T18:45:31.820 回答