2012-11-10 77 views
1

JKJSOpenSSL的-RSA C庫

RSA_print_fp(stdout,rsa,1); 

此函數添加中的0x00模量。所以公鑰的大小變成了129字節而不是128字節。 爲什麼添加0x00?

謝謝。

回答

0

模數是一個整數,而不是字節串。整數既可以是負數也可以是正數。雖然負整數不用於RSA中的模數,但處理整數的函數在OpenSSL中是通用的。

負數將其最高有效位設置爲1.要區分恰好將最高有效字節的位7設爲1的負整數和正整數,正整數前綴爲0x00。

0

它是模數的ASN.1 DER編碼。整數用二進制補碼形式表示,大端順序和最小字節數。

由此規則,FF爲-1(十進制),而00 FF爲255(十進制)。

在RSA中,所有整數都是正數。因此,最左邊的字節的MSB位從不設置。