Как найти модуль и показатель степени из открытого ключа? - PullRequest
0 голосов
/ 20 августа 2011

Мне нужно зашифровать некоторые данные, используя RSA в PHP.Все библиотеки вокруг запрашивают показатель степени и модуль, но я получаю один открытый ключ, такой как

Открытый ключ:

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

Как вы получаете открытую часть показателя и модуляиз этого?

1 Ответ

2 голосов
/ 22 августа 2011

Как ты получил этот ключ?

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, на данный момент даже не похоже, чтобы она соответствовала какому-либо стандартному формату.

...