X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=lib%2Fopenssl%2Fdoc%2Fcrypto%2FBN_mod_mul_montgomery.pod;fp=lib%2Fopenssl%2Fdoc%2Fcrypto%2FBN_mod_mul_montgomery.pod;h=bf1ef343cdae7565baa3bc8c0531a7137dcb5b43;hb=02ed66432c92de70694700164f986190aad3cbc5;hp=6b16351b92e4bd67967762e3f0de7858c5a620e8;hpb=89016837dcbf2775cd15dc8cbaba00dc6379f86e;p=cassiopeia.git diff --git a/lib/openssl/doc/crypto/BN_mod_mul_montgomery.pod b/lib/openssl/doc/crypto/BN_mod_mul_montgomery.pod index 6b16351..bf1ef34 100644 --- a/lib/openssl/doc/crypto/BN_mod_mul_montgomery.pod +++ b/lib/openssl/doc/crypto/BN_mod_mul_montgomery.pod @@ -2,7 +2,7 @@ =head1 NAME -BN_mod_mul_montgomery, BN_MONT_CTX_new, BN_MONT_CTX_init, +BN_mod_mul_montgomery, BN_MONT_CTX_new, BN_MONT_CTX_free, BN_MONT_CTX_set, BN_MONT_CTX_copy, BN_from_montgomery, BN_to_montgomery - Montgomery multiplication @@ -11,7 +11,6 @@ BN_from_montgomery, BN_to_montgomery - Montgomery multiplication #include BN_MONT_CTX *BN_MONT_CTX_new(void); - void BN_MONT_CTX_init(BN_MONT_CTX *ctx); void BN_MONT_CTX_free(BN_MONT_CTX *mont); int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *m, BN_CTX *ctx); @@ -29,12 +28,11 @@ BN_from_montgomery, BN_to_montgomery - Montgomery multiplication =head1 DESCRIPTION These functions implement Montgomery multiplication. They are used -automatically when L is called with suitable input, +automatically when L is called with suitable input, but they may be useful when several operations are to be performed using the same modulus. BN_MONT_CTX_new() allocates and initializes a B structure. -BN_MONT_CTX_init() initializes an existing uninitialized B. BN_MONT_CTX_set() sets up the I structure from the modulus I by precomputing its inverse and a value R. @@ -43,6 +41,7 @@ BN_MONT_CTX_copy() copies the B I to I. BN_MONT_CTX_free() frees the components of the B, and, if it was created by BN_MONT_CTX_new(), also the structure itself. +If B is NULL, nothing is done. BN_mod_mul_montgomery() computes Mont(I,I):=I*I*R^-1 and places the result in I. @@ -55,30 +54,15 @@ Note that I must be non-negative and smaller than the modulus. For all functions, I is a previously allocated B used for temporary variables. -The B structure is defined as follows: - - typedef struct bn_mont_ctx_st - { - int ri; /* number of bits in R */ - BIGNUM RR; /* R^2 (used to convert to Montgomery form) */ - BIGNUM N; /* The modulus */ - BIGNUM Ni; /* R*(1/R mod N) - N*Ni = 1 - * (Ni is only stored for bignum algorithm) */ - BN_ULONG n0; /* least significant word of Ni */ - int flags; - } BN_MONT_CTX; - -BN_to_montgomery() is a macro. - =head1 RETURN VALUES BN_MONT_CTX_new() returns the newly allocated B, and NULL on error. -BN_MONT_CTX_init() and BN_MONT_CTX_free() have no return values. +BN_MONT_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. +The error codes can be obtained by L. =head1 WARNING @@ -87,15 +71,20 @@ outside the expected range. =head1 SEE ALSO -L, L, L, -L +L, L, L, +L =head1 HISTORY -BN_MONT_CTX_new(), BN_MONT_CTX_free(), BN_MONT_CTX_set(), -BN_mod_mul_montgomery(), BN_from_montgomery() and BN_to_montgomery() -are available in all versions of SSLeay and OpenSSL. +BN_MONT_CTX_init() was removed in OpenSSL 1.1.0 + +=head1 COPYRIGHT + +Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. -BN_MONT_CTX_init() and BN_MONT_CTX_copy() were added in SSLeay 0.9.1b. +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