The RSA patent will have expired when the next version is released...
[openssl.git] / doc / crypto / rsa.pod
index fafe337a4b536eb252959687c321c38811710383..1633840d4c21ca9fb09c96a3ad3be7d5d652f567 100644 (file)
@@ -9,18 +9,15 @@ rsa - RSA public key cryptosystem
  #include <openssl/rsa.h>
 
  RSA * RSA_new(void);
  #include <openssl/rsa.h>
 
  RSA * RSA_new(void);
-
  void RSA_free(RSA *rsa);
 
  int RSA_public_encrypt(int flen, unsigned char *from,
     unsigned char *to, RSA *rsa, int padding);
  void RSA_free(RSA *rsa);
 
  int RSA_public_encrypt(int flen, unsigned char *from,
     unsigned char *to, RSA *rsa, int padding);
-
  int RSA_private_decrypt(int flen, unsigned char *from,
     unsigned char *to, RSA *rsa, int padding);
 
  int RSA_sign(int type, unsigned char *m, unsigned int m_len,
     unsigned char *sigret, unsigned int *siglen, RSA *rsa);
  int RSA_private_decrypt(int flen, unsigned char *from,
     unsigned char *to, RSA *rsa, int padding);
 
  int RSA_sign(int type, unsigned char *m, unsigned int m_len,
     unsigned char *sigret, unsigned int *siglen, RSA *rsa);
-
  int RSA_verify(int type, unsigned char *m, unsigned int m_len,
     unsigned char *sigbuf, unsigned int siglen, RSA *rsa);
 
  int RSA_verify(int type, unsigned char *m, unsigned int m_len,
     unsigned char *sigbuf, unsigned int siglen, RSA *rsa);
 
@@ -32,83 +29,38 @@ rsa - RSA public key cryptosystem
  int RSA_check_key(RSA *rsa);
 
  int RSA_blinding_on(RSA *rsa, BN_CTX *ctx);
  int RSA_check_key(RSA *rsa);
 
  int RSA_blinding_on(RSA *rsa, BN_CTX *ctx);
-
  void RSA_blinding_off(RSA *rsa);
 
  void RSA_set_default_method(RSA_METHOD *meth);
  void RSA_blinding_off(RSA *rsa);
 
  void RSA_set_default_method(RSA_METHOD *meth);
-
  RSA_METHOD *RSA_get_default_method(void);
  RSA_METHOD *RSA_get_default_method(void);
-
  RSA_METHOD *RSA_set_method(RSA *rsa, RSA_METHOD *meth);
  RSA_METHOD *RSA_set_method(RSA *rsa, RSA_METHOD *meth);
-
  RSA_METHOD *RSA_get_method(RSA *rsa);
  RSA_METHOD *RSA_get_method(RSA *rsa);
-
  RSA_METHOD *RSA_PKCS1_SSLeay(void);
  RSA_METHOD *RSA_PKCS1_SSLeay(void);
-
  RSA_METHOD *RSA_PKCS1_RSAref(void);
  RSA_METHOD *RSA_PKCS1_RSAref(void);
-
  RSA_METHOD *RSA_null_method(void);
  RSA_METHOD *RSA_null_method(void);
-
  int RSA_flags(RSA *rsa);
  int RSA_flags(RSA *rsa);
-
  RSA *RSA_new_method(RSA_METHOD *method);
 
  int RSA_print(BIO *bp, RSA *x, int offset);
  RSA *RSA_new_method(RSA_METHOD *method);
 
  int RSA_print(BIO *bp, RSA *x, int offset);
-
  int RSA_print_fp(FILE *fp, RSA *x, int offset);
 
  int RSA_get_ex_new_index(long argl, char *argp, int (*new_func)(),
     int (*dup_func)(), void (*free_func)());
  int RSA_print_fp(FILE *fp, RSA *x, int offset);
 
  int RSA_get_ex_new_index(long argl, char *argp, int (*new_func)(),
     int (*dup_func)(), void (*free_func)());
-
  int RSA_set_ex_data(RSA *r,int idx,char *arg);
  int RSA_set_ex_data(RSA *r,int idx,char *arg);
-
  char *RSA_get_ex_data(RSA *r, int idx);
 
  int RSA_private_encrypt(int flen, unsigned char *from,
     unsigned char *to, RSA *rsa,int padding);
  char *RSA_get_ex_data(RSA *r, int idx);
 
  int RSA_private_encrypt(int flen, unsigned char *from,
     unsigned char *to, RSA *rsa,int padding);
-
  int RSA_public_decrypt(int flen, unsigned char *from, 
     unsigned char *to, RSA *rsa,int padding);
 
  int RSA_sign_ASN1_OCTET_STRING(int dummy, unsigned char *m,
     unsigned int m_len, unsigned char *sigret, unsigned int *siglen,
     RSA *rsa);
  int RSA_public_decrypt(int flen, unsigned char *from, 
     unsigned char *to, RSA *rsa,int padding);
 
  int RSA_sign_ASN1_OCTET_STRING(int dummy, unsigned char *m,
     unsigned int m_len, unsigned char *sigret, unsigned int *siglen,
     RSA *rsa);
-
  int RSA_verify_ASN1_OCTET_STRING(int dummy, unsigned char *m,
     unsigned int m_len, unsigned char *sigbuf, unsigned int siglen,
     RSA *rsa);
 
  int RSA_verify_ASN1_OCTET_STRING(int dummy, unsigned char *m,
     unsigned int m_len, unsigned char *sigbuf, unsigned int siglen,
     RSA *rsa);
 
- int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen,
-    unsigned char *f, int fl);
-
- int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen,
-    unsigned char *f, int fl, int rsa_len);
-
- int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen,
-    unsigned char *f, int fl);
-
- int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen,
-    unsigned char *f, int fl, int rsa_len);
-
- int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen,
-    unsigned char *f, int fl, unsigned char *p, int pl);
-
- int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen,
-    unsigned char *f, int fl, int rsa_len, unsigned char *p, int pl);
-
- int RSA_padding_add_SSLv23(unsigned char *to, int tlen,
-    unsigned char *f, int fl);
-
- int RSA_padding_check_SSLv23(unsigned char *to, int tlen,
-    unsigned char *f, int fl, int rsa_len);
-
- int RSA_padding_add_none(unsigned char *to, int tlen,
-    unsigned char *f, int fl);
-
- int RSA_padding_check_none(unsigned char *to, int tlen,
-    unsigned char *f, int fl, int rsa_len);
-
-
 =head1 DESCRIPTION
 
 These functions implement RSA public key encryption and signatures
 =head1 DESCRIPTION
 
 These functions implement RSA public key encryption and signatures
@@ -134,19 +86,31 @@ contain public as well as private RSA keys:
 In public keys, the private exponent and the related secret values are
 B<NULL>.
 
 In public keys, the private exponent and the related secret values are
 B<NULL>.
 
-B<dmp1>, B<dmq1> and B<iqmp> may be B<NULL> in private keys, but the
-RSA operations are much faster when these values are available.
+B<p>, B<q>, B<dmp1>, B<dmq1> and B<iqmp> may be B<NULL> in private
+keys, but the RSA operations are much faster when these values are
+available.
+
+=head1 CONFORMING TO
+
+SSL, PKCS #1 v2.0
 
 =head1 PATENTS
 
 
 =head1 PATENTS
 
-RSA is covered by a US patent which expires in September 2000.
+RSA was covered by a US patent which expired in September 2000.
 
 =head1 SEE ALSO
 
 
 =head1 SEE ALSO
 
-rsa(1), bn(3), dsa(3), dh(3), rand(3), RSA_new(3),
-RSA_public_encrypt(3), RSA_sign(3), RSA_size(3), RSA_generate_key(3),
-RSA_check_key(3), RSA_blinding_on(3), RSA_set_method(3), RSA_print(3),
-RSA_get_ex_new_index(3), RSA_private_encrypt(3),
-RSA_sign_ASN_OCTET_STRING(3), RSA_padding_add_PKCS1_type_1(3)
+L<rsa(1)|rsa(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>,
+L<rand(3)|rand(3)>, L<RSA_new(3)|RSA_new(3)>,
+L<RSA_public_encrypt(3)|RSA_public_encrypt(3)>,
+L<RSA_sign(3)|RSA_sign(3)>, L<RSA_size(3)|RSA_size(3)>,
+L<RSA_generate_key(3)|RSA_generate_key(3)>,
+L<RSA_check_key(3)|RSA_check_key(3)>,
+L<RSA_blinding_on(3)|RSA_blinding_on(3)>,
+L<RSA_set_method(3)|RSA_set_method(3)>, L<RSA_print(3)|RSA_print(3)>,
+L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>,
+L<RSA_private_encrypt(3)|RSA_private_encrypt(3)>,
+L<RSA_sign_ASN_OCTET_STRING(3)|RSA_sign_ASN_OCTET_STRING(3)>,
+L<RSA_padding_add_PKCS1_type_1(3)|RSA_padding_add_PKCS1_type_1(3)> 
 
 =cut
 
 =cut