From aa4d426b4d3527d7e166df1a05058c9a4a0f6683 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 30 Apr 2021 00:33:56 +0200 Subject: initial/final commit --- .../doc/crypto/BN_mod_mul_reciprocal.pod | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 openssl-1.1.0h/doc/crypto/BN_mod_mul_reciprocal.pod (limited to 'openssl-1.1.0h/doc/crypto/BN_mod_mul_reciprocal.pod') diff --git a/openssl-1.1.0h/doc/crypto/BN_mod_mul_reciprocal.pod b/openssl-1.1.0h/doc/crypto/BN_mod_mul_reciprocal.pod new file mode 100644 index 0000000..d480fed --- /dev/null +++ b/openssl-1.1.0h/doc/crypto/BN_mod_mul_reciprocal.pod @@ -0,0 +1,76 @@ +=pod + +=head1 NAME + +BN_mod_mul_reciprocal, BN_div_recp, BN_RECP_CTX_new, +BN_RECP_CTX_free, BN_RECP_CTX_set - modular multiplication using +reciprocal + +=head1 SYNOPSIS + + #include + + BN_RECP_CTX *BN_RECP_CTX_new(void); + 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); + +=head1 DESCRIPTION + +BN_mod_mul_reciprocal() can be used to perform an efficient +L operation when the operation will be performed +repeatedly with the same modulus. It computes B=(B*B)%B +using B=1/B, which is set as described below. B is a +previously allocated B used for temporary variables. + +BN_RECP_CTX_new() allocates and initializes a B structure. + +BN_RECP_CTX_free() frees the components of the B, and, if it +was created by BN_RECP_CTX_new(), also the structure itself. +If B is NULL, nothing is done. + +BN_RECP_CTX_set() stores B in B and sets it up for computing +1/B and shifting it left by BN_num_bits(B)+1 to make it an +integer. The result and the number of bits it was shifted left will +later be stored in B. + +BN_div_recp() divides B by B using B. It places the quotient +in B and the remainder in B. + +The B structure cannot be shared between threads. + +=head1 RETURN VALUES + +BN_RECP_CTX_new() returns the newly allocated B, and NULL +on error. + +BN_RECP_CTX_free() has no return value. + +For the other functions, 1 is returned for success, 0 on error. +The error codes can be obtained by L. + +=head1 SEE ALSO + +L, L, +L + +=head1 HISTORY + +BN_RECP_CTX_init() was removed in OpenSSL 1.1.0 + +=head1 COPYRIGHT + +Copyright 2000-2017 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. + +=cut -- cgit v1.2.3