.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2008, George Spelvin .\" Copyright 2008, Matt Mackall .\" Copyright 2016, Laurent Georget .\" Copyright 2016, Nikos Mavrogiannopoulos .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH random 7 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم random \- نظرة عامة على واجهات الحصول على العشوائية .SH الوصف يعتمد مولد الأرقام العشوائية في النواة على الإنتروبيا المجمعة من برامج تشغيل الأجهزة ومصادر أخرى للضوضاء البيئية لتغذية مولد أرقام شبه عشوائي آمن تشفيريًا (CSPRNG). وهو مصمم للأمان، وليس للسرعة. .P توفر الواجهات التالية الوصول إلى مخرجات CSPRNG للنواة: .IP \[bu] 3 جهازا \fI/dev/urandom\fP و \fI/dev/random\fP، وكلاهما موصوف في \fBrandom\fP(4). توجد هذه الأجهزة في لينكس منذ الأزمنة المبكرة، وهي متوفرة أيضًا على العديد من الأنظمة الأخرى. .IP \[bu] .\" استدعاء النظام الخاص بلينكس \fBgetrandom\fP(2)، المتاح منذ لينكس 3.17. يوفر استدعاء النظام هذا الوصول إما إلى نفس مصدر \fI/dev/urandom\fP (المسمى مصدر \fIurandom\fP في هذه الصفحة) أو إلى نفس مصدر \fI/dev/random\fP (المسمى مصدر \fIrandom\fP في هذه الصفحة). المبدئي هو مصدر \fIurandom\fP؛ يتم تحديد مصدر \fIrandom\fP بتحديد العلم \fBGRND_RANDOM\fP لاستدعاء النظام. (توفر الدالة \fBgetentropy\fP(3) واجهة أكثر قابلية للنقل قليلاً فوق \fBgetrandom\fP(2).) .SS "تهيئة مجمع الإنتروبيا" تجمع النواة بتات الإنتروبيا من البيئة. عندما يتم جمع عدد كافٍ من البتات العشوائية، يعتبر مجمع الإنتروبيا قد تمت تهيئته. .SS "اختيار المصدر العشوائي" ما لم تكن تقوم بتوليد مفاتيح طويلة الأمد (وعلى الأرجح حتى في هذه الحالة)، ربما لا ينبغي لك القراءة من جهاز \fI/dev/random\fP أو استخدام \fBgetrandom\fP(2) مع العلم \fBGRND_RANDOM\fP. بدلاً من ذلك، اقرأ إما من جهاز \fI/dev/urandom\fP أو استخدم \fBgetrandom\fP(2) بدون العلم \fBGRND_RANDOM\fP. الخوارزميات التشفيرية المستخدمة لمصدر \fIurandom\fP متحفظة تمامًا، وبالتالي ينبغي أن تكون كافية لجميع الأغراض. .P .\" عيب \fBGRND_RANDOM\fP والقراءات من \fI/dev/random\fP هو أن العملية يمكن أن تمنع لفترة غير محددة من الزمن. علاوة على ذلك، التعامل مع الطلبات المنفذة جزئيًا التي يمكن أن تحدث عند استخدام \fBGRND_RANDOM\fP أو عند القراءة من \fI/dev/random\fP يزيد من تعقيد الكود. .SS "تطبيقات مونت كارلو وأخذ العينات الاحتمالية الأخرى" .\" استخدام هذه الواجهات لتوفير كميات كبيرة من البيانات لمحاكاة مونت كارلو أو برامج/خوارزميات أخرى تقوم بأخذ عينات احتمالية سيكون بطيئًا. علاوة على ذلك، إنه غير ضروري، لأن مثل هذه التطبيقات لا تحتاج إلى أرقام عشوائية آمنة تشفيريًا. بدلاً من ذلك، استخدم الواجهات الموصوفة في هذه الصفحة للحصول على كمية صغيرة من البيانات لتغذية مولد أرقام شبه عشوائي في مساحة المستخدم لاستخدامه بواسطة هذه التطبيقات. .SS "مقارنة بين getrandom و /dev/urandom و /dev/random" يلخص الجدول التالي سلوك الواجهات المختلفة التي يمكن استخدامها للحصول على العشوائية. \fBGRND_NONBLOCK\fP هو علم يمكن استخدامه للتحكم في سلوك الحظر لـ \fBgetrandom\fP(2). العمود الأخير من الجدول يأخذ في الاعتبار الحالة التي يمكن أن تحدث في وقت الإقلاع المبكر عندما لا يكون مجمع الإنتروبيا قد تمت تهيئته بعد. .ad l .TS allbox; lbw13 lbw12 lbw14 lbw18 l l l l. الواجهة المجمع T{ سلوك \%الحظر T} T{ السلوك عندما لا يكون المجمع جاهزًا بعد T} T{ \fI/dev/random\fP T} T{ مجمع الحظر T} T{ إذا كانت الإنتروبيا منخفضة جدًا، يمنع حتى تتوفر إنتروبيا كافية مرة أخرى T} T{ يمنع حتى يتم جمع إنتروبيا كافية T} T{ \fI/dev/urandom\fP T} T{ مخرجات CSPRNG T} T{ لا يمنع أبدًا T} T{ يعيد مخرجات من CSPRNG غير مهيأ (قد تكون إنتروبيا منخفضة وغير مناسبة للتشفير) T} T{ \fBgetrandom\fP() T} T{ نفس \fI/dev/urandom\fP T} T{ لا يحجب بمجرد أن يصبح المجمع جاهزًا T} T{ يحجب حتى يصبح المجمع جاهزًا T} T{ \fBgetrandom\fP() \fBGRND_RANDOM\fP T} T{ نفس \fI/dev/random\fP T} T{ إذا كانت الإنتروبيا منخفضة جدًا، يمنع حتى تتوفر إنتروبيا كافية مرة أخرى T} T{ يحجب حتى يصبح المجمع جاهزًا T} T{ \fBgetrandom\fP() \fBGRND_NONBLOCK\fP T} T{ نفس \fI/dev/urandom\fP T} T{ لا يحجب بمجرد أن يصبح المجمع جاهزًا T} T{ \fBEAGAIN\fP T} T{ \fBgetrandom\fP() \fBGRND_RANDOM\fP + \fBGRND_NONBLOCK\fP T} T{ نفس \fI/dev/random\fP T} T{ \fBEAGAIN\fP في حالة عدم توفر ما يكفي من الإنتروبيا T} T{ \fBEAGAIN\fP T} .TE .ad .\" .SS "توليد مفاتيح تشفيرية" كمية مادة البذور المطلوبة لتوليد مفتاح تشفيري تساوي حجم المفتاح الفعال. على سبيل المثال، مفتاح خاص RSA أو Diffie\-Hellman بحجم 3072 بت له حجم فعال يبلغ 128 بت (يتطلب حوالي 2\[ha]128 عملية لكسرها)، لذا يحتاج مولد المفاتيح فقط 128 بت (16 بايت) من مادة البذور من \fI/dev/random\fP. .P .\" بينما يعتبر هامش أمان فوق ذلك الحد الأدنى معقولًا، كحماية ضد عيوب في خوارزمية CSPRNG، لا يمكن لأي بدائية تشفيرية متاحة اليوم أن تعد بأكثر من 256 بت من الأمان، لذا إذا قرأ أي برنامج أكثر من 256 بت (32 بايت) من مجمع العشوائية للنواة لكل استدعاء، أو لكل فترة إعادة بذر معقولة (لا تقل عن دقيقة واحدة)، فيجب اعتبار ذلك علامة على أن تشفيره \fIليس\fP منفذًا بمهارة. .SH "انظر أيضًا" \fBgetrandom\fP(2), \fBgetauxval\fP(3), \fBgetentropy\fP(3), \fBrandom\fP(4), \fBurandom\fP(4), \fBsignal\fP(7) .P .UR http:\://www.2uo.de/myths\-about\-urandom/ .UE .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .