第十七章 RSA / 17.5 主要函数

       1  RSA_check_key

              检查RSA密钥。

2RSA_new

       生成一个RSA密钥结构,并采用默认的rsa_pkcs1_eay_meth RSA_METHOD方法。

3RSA_free

       释放RSA结构。

4)    RSA *RSA_generate_key(int bits, unsigned long e_value,

void (*callback)(int,int,void *), void *cb_arg)

生成RSA密钥,bits是模数比特数,e_value是公钥指数ecallback回调函数由用户实现,用于干预密钥生成过程中的一些运算,可为空。

5RSA_get_default_method

获取默认的RSA_METHOD,为rsa_pkcs1_eay_meth

6RSA_get_ex_data

获取扩展数据。

7RSA_get_method

获取RSA结构的RSA_METHOD

       8  RSA_padding_add_none

RSA_padding_add_PKCS1_OAEP

RSA_padding_add_PKCS1_type_1(私钥加密的填充)

RSA_padding_add_PKCS1_type_2(公钥加密的填充)

RSA_padding_add_SSLv23

各种填充方式函数。

9  RSA_padding_check_none

RSA_padding_check_PKCS1_OAEP

RSA_padding_check_PKCS1_type_1

RSA_padding_check_PKCS1_type_2

RSA_padding_check_SSLv23

RSA_PKCS1_SSLeay

各种去除填充函数。

       10int RSA_print(BIO *bp, const RSA *x, int off)

RSA信息输出到BIO中,off为输出信息在BIO中的偏移量,比如是屏幕BIO,则表示打印信息的位置离左边屏幕边缘的距离。

11int DSA_print_fp(FILE *fp, const DSA *x, int off)

RSA信息输出到FILE中,off为输出偏移量。

       12RSA_public_decrypt

              RSA公钥解密。

13RSA_public_encrypt

       RSA公钥加密。

14RSA_set_default_method/ RSA_set_method

设置RSA结构中的method,当用户实现了一个RSA_METHOD时,调用此函数来设置,使RSA运算采用用户的方法。

15RSA_set_ex_data

       设置扩展数据。

16RSA_sign

RSA签名。

17RSA_sign_ASN1_OCTET_STRING

另外一种RSA签名,不涉及摘要算法,它将输入数据作为ASN1_OCTET_STRING进行DER编码,然后直接调用RSA_private_encrypt进行计算。

18RSA_size

       获取RSA密钥长度字节数。

19RSA_up_ref

RSA密钥增加一个引用。

20RSA_verify

       RSA验证。

21RSA_verify_ASN1_OCTET_STRING

       另一种RSA验证,不涉及摘要算法,与RSA_sign_ASN1_OCTET_STRING对应。

22RSAPrivateKey_asn1_meth

       获取RSA私钥的ASN1_METHOD,包括i2dd2inewfree函数地址。

23RSAPrivateKey_dup

       复制RSA私钥。

24RSAPublicKey_dup

              复制RSA公钥。