単純なテキストを RSA アルゴリズムで暗号化しようとしています。コードに問題があります。
RSA *_RSA ;
unsigned char text[2560] = "A";
unsigned char sectext[2560];
unsigned char decrypttext[2560];
int i = 0;
_RSA = RSA_generate_key ( 1024, 65537, NULL, NULL );
i = RSA_public_encrypt ( 1, text, sectext, _RSA, RSA_PKCS1_OAEP_PADDING );
i = RSA_private_decrypt( 1, sectext, decrypttext, _RSA, RSA_PKCS1_OAEP_PADDING);
RSA_free ( _RSA );
の戻り値RSA_public_encrypt
は 128 で、これは暗号文のサイズです。RSA_private_decrypt
-1 を返します。これはエラーです。復元されたテキストを表示しようとすると、何も得られません。
RSA_private_decrypt
-1 を返すのはなぜですか?