.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Titlu "BN_MOD_MUL_MONTGOMERY 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH BN_MOD_MUL_MONTGOMERY 3ssl "5 august 2025" 3.5.2 OpenSSL .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH NUME 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 \- înmulțirea Montgomery .SH SINOPSIS .IX Antet SINOPSIS .Vb 1 \& #include \& \& BN_MONT_CTX *BN_MONT_CTX_new(void); \& void BN_MONT_CTX_free(BN_MONT_CTX *mont); \& \& int BN_MONT_CTX_set(BN_MONT_CTX *mont, const BIGNUM *m, BN_CTX *ctx); \& BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from); \& \& int BN_mod_mul_montgomery(BIGNUM *r, BIGNUM *a, BIGNUM *b, \& BN_MONT_CTX *mont, BN_CTX *ctx); \& \& int BN_from_montgomery(BIGNUM *r, BIGNUM *a, BN_MONT_CTX *mont, \& BN_CTX *ctx); \& \& int BN_to_montgomery(BIGNUM *r, BIGNUM *a, BN_MONT_CTX *mont, \& BN_CTX *ctx); .Ve .SH DESCRIERE .IX Antet DESCRIERE Aceste funcții implementează înmulțirea Montgomery. Ele sunt utilizate automat atunci când \fBBN_mod_exp\fP\|(3) este apelată cu o intrare adecvată, dar pot fi utile atunci când trebuie efectuate mai multe operații folosind același modul. .PP \&\fBBN_MONT_CTX_new()\fP alocă și inițializează o structură \fBBN_MONT_CTX\fP. .PP \&\fBBN_MONT_CTX_set()\fP configurează structura \fImont\fP din modulul \fIm\fP prin precalcularea inversului său și a unei valori R. .PP \&\fBBN_MONT_CTX_copy()\fP copiază \fIfrom\fP în \fIto\fP \fBBN_MONT_CTX\fP. .PP \&\fBBN_MONT_CTX_free()\fP eliberează componentele structurii \fBBN_MONT_CTX\fP și, dacă aceasta a fost creată de \fBBN_MONT_CTX_new()\fP, și structura în sine. Dacă \fBmont\fP este NULL, nu se face nimic. .PP \&\fBBN_mod_mul_montgomery()\fP calculează Mont(\fIa\fP,\fIb\fP):=\fIa\fP*\fIb\fP*R^\-1 și plasează rezultatul în \fIr\fP. .PP \&\fBBN_from_montgomery()\fP efectuează reducerea Montgomery \fIr\fP = \fIa\fP*R^\-1. .PP \&\fBBN_to_montgomery()\fP calculează Mont(\fIa\fP,R^2), adică \fIa\fP*R. Rețineți că \fIa\fP trebuie să fie nenegativ și mai mic decât modulul. .PP Pentru toate funcțiile, \fIctx\fP este un \fBBN_CTX\fP alocat anterior, utilizat pentru variabile temporare. .SH "VALORI RETURNATE" .IX Antet "VALORI RETURNATE" \&\fBBN_MONT_CTX_new()\fP returnează valoarea \fBBN_MONT_CTX\fP nou alocată și valoarea NULL în caz de eroare. .PP \&\fBBN_MONT_CTX_free()\fP nu are valoare de returnare. .PP Pentru celelalte funcții, 1 este returnat în caz de succes, 0 în caz de eroare. Codurile de eroare pot fi obținute prin \fBERR_get_error\fP\|(3). .SH AVERTISMENTE .IX Antet AVERTISMENTE Intrările trebuie să fie reduse modulo \fBm\fP, altfel rezultatul va fi în afara intervalului așteptat. .SH "CONSULTAȚI ȘI" .IX Antet "CONSULTAȚI ȘI" \&\fBERR_get_error\fP\|(3), \fBBN_add\fP\|(3), \&\fBBN_CTX_new\fP\|(3) .SH ISTORIC .IX Antet ISTORIC \&\fBBN_MONT_CTX_init()\fP a fost eliminat în OpenSSL 1.1.0 .SH "DREPTURI DE AUTOR" .IX Antet "DREPTURI DE AUTOR" Drepturi de autor 2000\-2020 The OpenSSL Project Authors. Toate drepturile rezervate. .PP Licențiat sub Licența Apache 2.0 („License”). Nu aveți voie să utilizați acest fișier decât în conformitate cu licența. Puteți obține o copie din fișierul LICENSE din distribuția sursei sau de la . .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .