如何从公钥中找出模数和指数?

时间:2011-08-20 07:07:21

标签: php cryptography public-key modulus

我需要在PHP中使用RSA加密一些数据。所有的库都要求指数和模数,但我得到一个像这样的单一公钥

公钥:

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVnXLu0FM37CmUYjJuu4JaB6bo
liJ1b5BybAVcqlfvUxjpU+VVhKnZNd4IU7S0ITRTAKvoFk68CiUmaRA9871mfxjp
sX6YeNs913LyGwFw0bmno+1o6URBui2p3gHwGQL8R/jIl4NHC1TF47Q5Vj3RuraV
Ky4YH6dp7YIJRaU7JQIDAQAB
-----END PUBLIC KEY----- 

如何从中检索公共指数和模数部分?

1 个答案:

答案 0 :(得分:2)

你怎么得到那把钥匙?

openssl asn1parse -inform PEM -in pubkey.txt -i
    0:d=0  hl=3 l= 159 cons: SEQUENCE
    3:d=1  hl=2 l=  13 cons:  SEQUENCE
    5:d=2  hl=2 l=   9 prim:   OBJECT            :rsaEncryption
   16:d=2  hl=2 l=   0 prim:   NULL
   18:d=1  hl=3 l= 141 prim:  BIT STRING

根据最后一个字节序列的长度为141,但整个密钥只有119个字符。

暂时忽略BIT STRING应该持续多长时间,甚至不符合任何标准格式。