第十七章 RSA / 17.2 openssl的RSA实现

Openssl的RSA实现源码在crypto/rsa目录下。它实现了RSA PKCS1标准。主要源码如下:

1)  rsa.h

       定义RSA数据结构以及RSA_METHOD,定义了RSA的各种函数。

2)    rsa_asn1.c

       实现了RSA密钥的DER编码和解码,包括公钥和私钥。

3)  rsa_chk.c

       RSA密钥检查。

4)  rsa_eay.c

Openssl实现的一种RSA_METHOD,作为其默认的一种RSA计算实现方式。此文件未实现rsa_sign、rsa_verify和rsa_keygen回调函数。

       5)rsa_err.c

              RSA错误处理。

       6)rsa_gen.c

RSA密钥生成,如果RSA_METHOD中的rsa_keygen回调函数不为空,则调用它,否则调用其内部实现。

       7)rsa_lib.c

主要实现了RSA运算的四个函数(公钥/私钥,加密/解密),它们都调用了RSA_METHOD中相应都回调函数。

       8)rsa_none.c

              实现了一种填充和去填充。

       9)rsa_null.c

              实现了一种空的RSA_METHOD。

       10)  rsa_oaep.c

              实现了oaep填充与去填充。

       11)rsa_pk1.

              实现了pkcs1填充与去填充。

       12)rsa_sign.c

              实现了RSA的签名和验签。

       13)rsa_ssl.c

              实现了ssl填充。

       14)rsa_x931.c

              实现了一种填充和去填充。