اليوم ، تتطلب العديد من التطبيقات القدرة على إنشاء أرقام عشوائية. من الواضح ، اعتمادًا على المشكلة المحددة التي يتم حلها ، سيتم فرض متطلبات مختلفة على مولد الأرقام العشوائية: على سبيل المثال ، في بعض الأحيان قد يحتاج مولد الأرقام العشوائية فقط إلى تفرد الرقم الذي تم الحصول عليه ، بينما في كثير من الأحيان ، لا سيما في مجال التشفير ، متطلبات مثل الجهاز / الخوارزمية أكثر صلابة.
يجدر التوضيح على الفور أن الأرقام التي تم الحصول عليها عند إخراج بعض الخوارزمية الحتمية والتي تمتلك خاصية العشوائية تسمى شبه عشوائية ، والمولدات المقابلة تسمى مولدات الأرقام العشوائية الزائفة (PRNG).
الغرض من هذه المقالة هو التعرف على PRNG استنادًا إلى سجلات التحول مع التغذية المرتدة الخطية ، والعديد من تعديلاتها ، بالإضافة إلى العديد من PRNGs القوية المشفرة التي يتم استخدامها في الممارسة.
هيكل مولد الأرقام العشوائية الزائفة
لنبدأ أكثر قليلاً ، من خلال النظر في الهيكل العام لـ PRNG. يتم أخذ الهيكل كأساس ، والذي يوصى به ويدرسه المؤلفون بمزيد من التفصيل في [2].
دعنا نلقي نظرة سريعة على كل كتلة:
- , , , ( ), .
( ) . (nonce). , , , .. .
- , , ;
nonce , , ;
, . , ;
, ;
( ) ;
.
(), .. .
n b1, b2, . . . , bn C1 = 1, C2, C3 , . . . , Cn ∈ {0, 1}. ( [8]). GF(2), . 2:
C(x) = 1xn + C2xn-1 + . . . + Cnx + 1,
.
2 , , .. Ci 1;
;
, 1.
b1 . 2n-1, , .
, , .. , , n . , 2n , , .
, : . , , , ( ).
:
, , ;
;
2 ;
.
, , , , .
, , .
, - , , (). , [9, . 2.8], .. , , , , .
, , , . [1], [10] . , , , .
, , "" , .
, , , . : :
.. 2 , . , - . , . .
L1 . . . LM , , .
i- Li , , - , .. (Li, Lj) = 1 i≠j. f , .. f = . . . + xi + . . . , . 2L, L - , .
"-"
"-" ( -1 -2). -2 , -1 1. -2 , .. , -1 -2.
, , , , -1.
, "-", 3 . -2 1 -1, -3 0. -2 -3. [4] , .
"-": , , , . :
-1 1, -2. -2 1 - -3 .. .
: . [9] . 15 .
5/1
, , , , GSM. 5, 1987 5/1, .. 5/2 5/3.
: , 19, 22 23 . . 5 , .. .
.
: , ( C1 , C2, C3- ). m = majotiry (C1, C2, C3) , .. 0 1. , .
, , . . , [10].
:
.. ( 2. )
nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90Ar1.pdf
. ., . ., . . : — .: , 2019
C.G. Gunter, “Alternating Step Generators Contolled by de Bruijn Sequenc-es”, Advances in Cryptology EUROCRYPT ’87 Proceedings, Springer-Verlag, 1988
. . – .: . — 1989
سليبوفيتشيف آي. مولدات الأرقام العشوائية الزائفة: برنامج تعليمي ، 2017
https://software.intel.com/sites/default/files/m/d/4/1/d//441IntelR_DRNGSoftwareImplementationGuidefinalAug7.pdf
https://www.xilinx.com/support/documentation/application_notes/xapp052.pdf
شناير ب . التشفير التطبيقي. البروتوكولات والخوارزميات والنصوص المصدر في لغة سي. - تريومف ، 2013. - 816 ثانية
https://csrc.nist.gov/publications/detail/sp/800-22/rev-1a/final