diff options
author | Ulf Möller <ulf@openssl.org> | 2000-01-11 22:35:21 +0000 |
---|---|---|
committer | Ulf Möller <ulf@openssl.org> | 2000-01-11 22:35:21 +0000 |
commit | 2186cd8ef1c4db86109af7a38182c2bd9ddbbb32 (patch) | |
tree | 407efa98f1a4fe9b118651f06c57e85d6d0139e5 /doc/crypto/RSA_generate_key.pod | |
parent | de73e397f86c578ee514816ca1a312689a89686f (diff) |
Document the RSA library.
Diffstat (limited to 'doc/crypto/RSA_generate_key.pod')
-rw-r--r-- | doc/crypto/RSA_generate_key.pod | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/doc/crypto/RSA_generate_key.pod b/doc/crypto/RSA_generate_key.pod new file mode 100644 index 0000000000..cdf527069a --- /dev/null +++ b/doc/crypto/RSA_generate_key.pod @@ -0,0 +1,68 @@ +=pod + +=head1 NAME + +RSA_generate_key - Generate RSA key pair + +=head1 SYNOPSIS + + #include <openssl/rsa.h> + + RSA *RSA_generate_key(int num, unsigned long e, + void (*callback)(int,int,void *), void *cb_arg); + +=head1 DESCRIPTION + +RSA_generate_key() generates a key pair and returns it in a newly +allocated B<RSA> structure. The pseudo-random number generator must +be seeded prior to calling RSA_generate_key(). + +The modulus size will be B<num> bits, and the public exponent will be +B<e>. Key sizes with B<num> E<lt> 1024 should be considered insecure. +The exponent is an odd number, typically 3 or 65535. + +A callback function may be used to provide feedback about the +progress of the key generation. If B<callback> is not B<NULL>, it +will be called as follows: + +=over 4 + +=item * + +While a random prime number is generated, it is called as +described in L<BN_generate_prime(3)>. + +=item * + +When the n-th randomly generated prime is rejected as not +suitable for the key, B<callback(2, n, cb_arg)> is called. + +=item * + +When a random p has been found with p-1 relatively prime to B<e>, +it is called as B<callback(3, 0, cb_arg)>. + +=back + +The process is then repeated for prime q with B<callback(3, 1, cb_arg)>. + +=head1 RETURN VALUES + +If key generation fails, RSA_generate_key() returns B<NULL>; the +error codes can be obtained by ERR_get_error(3). + +=head1 BUGS + +B<callback(2, x, cb_arg)> is used with two different meanings. + +RSA_generate_key() goes into an infinite loop for illegal input values. + +=head1 SEE ALSO + +err(3), rand(3), rsa(3), RSA_free(3) + +=head1 HISTORY + +The B<cb_arg> argument was added in SSLeay 0.9.0. + +=cut |