.\" -*- 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 Title "BN_MOD_MUL_MONTGOMERY 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH BN_MOD_MUL_MONTGOMERY 3ssl "7 أبريل 2026" 3.6.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 الاسم 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 \- ضرب مونتغمري .SH موجز .IX Header موجز .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 الوصف .IX Header الوصف تنفذ هذه الدوال ضرب مونتغمري. تُستخدم آلي عندما تُستدعى \fBBN_mod_exp\fP\|(3) بإدخال مناسب، لكنها قد تكون مفيدة عند تنفيذ عدة عمليات باستخدام نفس المقياس. .PP \&تخصص \fBBN_MONT_CTX_new()\fP وتهيئ بنية \fBBN_MONT_CTX\fP. .PP \&تعد \fBBN_MONT_CTX_set()\fP بنية \fImont\fP من المقياس \fIm\fP بحساب معكوسها وقيمة R مسبق. .PP \&تنسخ \fBBN_MONT_CTX_copy()\fP \fBBN_MONT_CTX\fP \fIfrom\fP إلى \fIto\fP. .PP \&تحرر \fBBN_MONT_CTX_free()\fP مكونات \fBBN_MONT_CTX\fP، وإذا أُنشئت بواسطة \fBBN_MONT_CTX_new()\fP، تحرر البنية نفسها أيضًا. إذا كان \fBmont\fP NULL، لا يُفعل شيء. .PP \&تحسب \fBBN_mod_mul_montgomery()\fP Mont(\fIa\fP,\fIb\fP):=\fIa\fP*\fIb\fP*R^\-1 وتضع النتيجة في \fIr\fP. .PP \&تنفذ \fBBN_from_montgomery()\fP اختزال مونتغمري \fIr\fP = \fIa\fP*R^\-1. .PP \&تحسب \fBBN_to_montgomery()\fP Mont(\fIa\fP,R^2)، أي \fIa\fP*R. لاحظ أن \fIa\fP يجب أن يكون غير سالب وأصغر من المقياس. .PP لكل الدوال، \fIctx\fP هو \fBBN_CTX\fP مخصص مسبق يُستخدم للمتغيرات المؤقتة. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&ترجع \fBBN_MONT_CTX_new()\fP \fBBN_MONT_CTX\fP المخصص حديثًا، وNULL عند الخطأ. .PP \&ليس لـ \fBBN_MONT_CTX_free()\fP قيمة إرجاع. .PP للدوال الأخرى، تُرجع القيمة 1 للنجاح، و0 للخطأ. يمكن الحصول على رموز الخطأ عبر \fBERR_get_error\fP\|(3). .SH تحذيرات .IX Header تحذيرات يجب اختزال المدخلات مقياس \fBm\fP، وإلا ستكون النتيجة خارج النطاق المتوقع. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBERR_get_error\fP\|(3)، \fBBN_add\fP\|(3)، \&\fBBN_CTX_new\fP\|(3) .SH التاريخ .IX Header التاريخ \&أُزيلت \fBBN_MONT_CTX_init()\fP في OpenSSL 1.1.0 .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2000\-2020 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة. .PP مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط . .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .