BN_generate_prime man page on BSDOS

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDOS logo
[printable version]



BN_generate_prime(3)	     OpenSSL	     BN_generate_prime(3)

NAME
       BN_generate_prime, BN_is_prime, BN_is_prime_fasttest -
       generate primes and test for primality

SYNOPSIS
	#include <openssl/bn.h>

	BIGNUM *BN_generate_prime(BIGNUM *ret, int num, int safe, BIGNUM *add,
	    BIGNUM *rem, void (*callback)(int, int, void *), void *cb_arg);

	int BN_is_prime(const BIGNUM *a, int checks, void (*callback)(int, int,
	    void *), BN_CTX *ctx, void *cb_arg);

	int BN_is_prime_fasttest(const BIGNUM *a, int checks,
	    void (*callback)(int, int, void *), BN_CTX *ctx, void *cb_arg,
	    int do_trial_division);

DESCRIPTION
       BN_generate_prime() generates a pseudo-random prime number
       of num bits.  If ret is not NULL, it will be used to store
       the number.

       If callback is not NULL, it is called as follows:

       o   callback(0, i, cb_arg) is called after generating the
	   i-th potential prime number.

       o   While the number is being tested for primality,
	   callback(1, j, cb_arg) is called as described below.

       o   When a prime has been found, callback(2, i, cb_arg) is
	   called.

       The prime may have to fulfill additional requirements for
       use in Diffie-Hellman key exchange:

       If add is not NULL, the prime will fulfill the condition p
       % add == rem (p % add == 1 if rem == NULL) in order to
       suit a given generator.

       If safe is true, it will be a safe prime (i.e. a prime p
       so that (p-1)/2 is also prime).

       The PRNG must be seeded prior to calling
       BN_generate_prime().  The prime number generation has a
       negligible error probability.

       BN_is_prime() and BN_is_prime_fasttest() test if the
       number a is prime.  The following tests are performed
       until one of them shows that a is composite; if a passes
       all these tests, it is considered prime.

       BN_is_prime_fasttest(), when called with do_trial_division

16/Aug/2000		      0.9.6				1

BN_generate_prime(3)	     OpenSSL	     BN_generate_prime(3)

       == 1, first attempts trial division by a number of small
       primes; if no divisors are found by this test and callback
       is not NULL, callback(1, -1, cb_arg) is called.	If
       do_trial_division == 0, this test is skipped.

       Both BN_is_prime() and BN_is_prime_fasttest() perform a
       Miller-Rabin probabilistic primality test with checks
       iterations. If checks == BN_prime_check, a number of
       iterations is used that yields a false positive rate of at
       most 2^-80 for random input.

       If callback is not NULL, callback(1, j, cb_arg) is called
       after the j-th iteration (j = 0, 1, ...). ctx is a pre-
       allocated BN_CTX (to save the overhead of allocating and
       freeing the structure in a loop), or NULL.

RETURN VALUES
       BN_generate_prime() returns the prime number on success,
       NULL otherwise.

       BN_is_prime() returns 0 if the number is composite, 1 if
       it is prime with an error probability of less than
       0.25^checks, and -1 on error.

       The error codes can be obtained by ERR_get_error(3).

SEE ALSO
       bn(3), err(3), rand(3)

HISTORY
       The cb_arg arguments to BN_generate_prime() and to
       BN_is_prime() were added in SSLeay 0.9.0. The ret argument
       to BN_generate_prime() was added in SSLeay 0.9.1.
       BN_is_prime_fasttest() was added in OpenSSL 0.9.5.

16/Aug/2000		      0.9.6				2

[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server BSDOS

List of man pages available for BSDOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net