JKJS
RSA_print_fp(stdout,rsa,1);
此函数在模数中添加 0x00。所以公钥大小变为 129 字节而不是 128 字节。为什么要添加 0x00?
谢谢你。
模数是一个整数,而不是一串字节。整数可以是负数也可以是正数。尽管 RSA 中的模数不使用负整数,但处理整数的函数在 OpenSSL 中是通用的。
负数的最高有效位设置为 1。为了区分负整数和恰好将最高有效字节的第 7 位设置为 1 的正整数,正整数以 0x00 为前缀。
它是模数的 ASN.1 DER 编码。整数以二进制补码形式、大端顺序和最小字节数表示。
根据该规则,FF
是 -1(十进制)和00 FF
255(十进制)。
在 RSA 中,所有整数都是正数。因此,从不设置最左边字节的 MSB 位。