2000-01-11 22:35:21 +00:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
2016-06-09 20:39:19 +00:00
|
|
|
RSA_private_decrypt,
|
|
|
|
RSA_private_encrypt,
|
|
|
|
RSA_public_decrypt,
|
|
|
|
RSA_sign,
|
|
|
|
RSA_verify,
|
|
|
|
RSA_sign_ASN1_OCTET_STRING,
|
|
|
|
RSA_verify_ASN1_OCTET_STRING
|
|
|
|
- RSA public key cryptosystem
|
2000-01-11 22:35:21 +00:00
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
#include <openssl/rsa.h>
|
|
|
|
|
|
|
|
int RSA_private_decrypt(int flen, unsigned char *from,
|
|
|
|
unsigned char *to, RSA *rsa, int padding);
|
2002-08-04 21:08:36 +00:00
|
|
|
int RSA_private_encrypt(int flen, unsigned char *from,
|
|
|
|
unsigned char *to, RSA *rsa,int padding);
|
2016-05-20 12:11:46 +00:00
|
|
|
int RSA_public_decrypt(int flen, unsigned char *from,
|
2002-08-04 21:08:36 +00:00
|
|
|
unsigned char *to, RSA *rsa,int padding);
|
2000-01-11 22:35:21 +00:00
|
|
|
|
|
|
|
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_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);
|
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
These functions implement RSA public key encryption and signatures
|
|
|
|
as defined in PKCS #1 v2.0 [RFC 2437].
|
|
|
|
|
2016-06-09 20:39:19 +00:00
|
|
|
The B<RSA> structure represents public and private RSA keys.
|
2000-01-11 22:35:21 +00:00
|
|
|
|
2002-08-04 21:08:36 +00:00
|
|
|
Note that RSA keys may use non-standard B<RSA_METHOD> implementations,
|
|
|
|
either directly or by the use of B<ENGINE> modules. In some cases (eg. an
|
|
|
|
ENGINE providing support for hardware-embedded keys), these BIGNUM values
|
|
|
|
will not be used by the implementation or may be used for alternative data
|
|
|
|
storage. For this reason, applications should generally avoid using RSA
|
|
|
|
structure elements directly and instead use API functions to query or
|
|
|
|
modify keys.
|
|
|
|
|
2000-01-27 19:31:26 +00:00
|
|
|
=head1 CONFORMING TO
|
|
|
|
|
|
|
|
SSL, PKCS #1 v2.0
|
|
|
|
|
2000-01-11 22:35:21 +00:00
|
|
|
=head1 SEE ALSO
|
|
|
|
|
2016-06-09 20:39:19 +00:00
|
|
|
L<bn(3)>, L<dsa(3)>, L<dh(3)>,
|
2016-04-02 14:43:21 +00:00
|
|
|
L<rand(3)>, L<engine(3)>, L<RSA_new(3)>, L<RSA_set0_key(3)>
|
2015-08-17 19:21:33 +00:00
|
|
|
L<RSA_public_encrypt(3)>,
|
2016-06-09 20:39:19 +00:00
|
|
|
L<RSA_size(3)>,
|
2015-08-17 19:21:33 +00:00
|
|
|
L<RSA_generate_key(3)>,
|
|
|
|
L<RSA_check_key(3)>,
|
|
|
|
L<RSA_blinding_on(3)>,
|
|
|
|
L<RSA_set_method(3)>, L<RSA_print(3)>,
|
|
|
|
L<RSA_get_ex_new_index(3)>,
|
|
|
|
L<RSA_sign_ASN1_OCTET_STRING(3)>,
|
2016-05-20 12:11:46 +00:00
|
|
|
L<RSA_padding_add_PKCS1_type_1(3)>
|
2000-01-11 22:35:21 +00:00
|
|
|
|
2016-05-18 15:44:05 +00:00
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
|
|
|
Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
|
|
|
|
Licensed under the OpenSSL license (the "License"). You may not use
|
|
|
|
this file except in compliance with the License. You can obtain a copy
|
|
|
|
in the file LICENSE in the source distribution or at
|
|
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
|
|
|
|
=cut
|