BN_RECP_CTX_free man page on OSF1

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

BN_mod_mul_reciprocal(3)			      BN_mod_mul_reciprocal(3)

NAME
       BN_mod_mul_reciprocal,  BN_div_recp, BN_RECP_CTX_new, BN_RECP_CTX_init,
       BN_RECP_CTX_free, BN_RECP_CTX_set - Modular multiplication using recip‐
       rocal

SYNOPSIS
       #include <openssl/bn.h>

       BN_RECP_CTX *BN_RECP_CTX_new(
	       void ); void BN_RECP_CTX_init(
	       BN_RECP_CTX *recp ); void BN_RECP_CTX_free(
	       BN_RECP_CTX *recp ); int BN_RECP_CTX_set(
	       BN_RECP_CTX   *recp,  const  BIGNUM  *m,	 BN_CTX	 *ctx  );  int
       BN_div_recp(
	       BIGNUM  *dv,  BIGNUM  *rem,  BIGNUM  *a,	  BN_RECP_CTX	*recp,
       BN_CTX *ctx ); int BN_mod_mul_reciprocal(
	       BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_RECP_CTX *recp, BN_CTX *ctx
       );

DESCRIPTION
       The BN_mod_mul_reciprocal() function can be used to  perform  an	 effi‐
       cient  BN_mod_mul()  operation  when  the  operation  will be performed
       repeatedly with the same modulus. It computes r=(a*b)%m using recp=1/m,
       which  is set as described below.  ctx is a previously allocated BN_CTX
       used for temporary variables.

       The BN_RECP_CTX_new() function  allocates  and  initializes  a  BN_RECP
       structure.  The	BN_RECP_CTX_init()  function  initializes  an existing
       uninitialized BN_RECP.

       The BN_RECP_CTX_free() function frees the components  of	 the  BN_RECP,
       and, if it was created by BN_RECP_CTX_new(), also the structure itself.

       The BN_RECP_CTX_set() function stores m in recp and sets it up for com‐
       puting 1/m and shifting it left by BN_num_bits(m)+1 to make it an inte‐
       ger.  The  result and the number of bits it was shifted left will later
       be stored in recp.

       The BN_div_recp() function divides a by m using	recp.  It  places  the
       quotient in dv and the remainder in rem.

       The BN_RECP_CTX structure is defined as follows:
	typedef	 struct bn_recp_ctx_st	    {	   BIGNUM N; /* the divisor */
	    BIGNUM Nr;	   /* the reciprocal */	      int  num_bits;	   int
       shift;	   int flags;	   } BN_RECP_CTX;

       It cannot be shared between threads.

RETURN VALUES
       The BN_RECP_CTX_new() function returns the newly allocated BN_RECP_CTX,
       and NULL on error.

       The BN_RECP_CTX_init() and BN_RECP_CTX_free() functions have no	return
       values.

       For  the	 other	functions,  1 is returned for success, 0 on error. The
       error codes can be obtained by

       ERR_get_error(3).

HISTORY
       The BN_RECP_CTX structure was added in SSLeay 0.9.0.  Before that,  the
       BN_reciprocal()	function was used instead, and the BN_mod_mul_recipro‐
       cal() arguments were different.

SEE ALSO
       Functions: bn(3), err(3), BN_add(3), BN_CTX_new(3)

						      BN_mod_mul_reciprocal(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server OSF1

List of man pages available for OSF1

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