Pseudorandom number generator
سیڈورینڈم نمبر جنریٹر (پی آر این جی)، جسے ڈیٹرمینیسٹک رینڈم بٹ جنریٹر (ڈی آر بی جی) بھی کہا جاتا ہے، نمبروں کی ایک ترتیب پیدا کرنے کے لیے ایک الگورتھم ہے جس کی خصوصیات بے ترتیب نمبروں کی ترتیب کی خصوصیات کا تخمینہ لگاتی ہیں۔ پی آر این جی سے تیار کردہ ترتیب واقعی بے ترتیب نہیں ہے، کیونکہ اس کا تعین مکمل طور پر ایک ابتدائی قدر سے ہوتا ہے، جسے پی آر این جی کا بیج کہا جاتا ہے (جس میں واقعی بے ترتیب اقدار شامل ہو سکتی ہیں)۔ اگرچہ واقعی بے ترتیب کے قریب ترتیبات ہارڈ ویئر بے ترتیب نمبر جنریٹرز کا استعمال کرتے ہوئے تیار کیے جا سکتے ہیں، لیکن نمبر جنریشن میں ان کی رفتار اور ان کی تولیدی صلاحیت کے لیے سیوڈورانڈم نمبر جنریٹر عملی طور پر اہم ہیں۔ پی آر این جی ایپلی کیشنز جیسے سیمولیشن میں مرکزی حیثیت رکھتے ہیں (مثال کے طور پر۔ مونٹی کارلو طریقہ کے لیے)، الیکٹرانک گیمز (مثال کے طور پر۔ طریقہ کار کی نسل کے لیے)، اور کرپٹوگرافی۔ کرپٹوگرافک ایپلی کیشنز کے لیے پہلے کے آؤٹ پٹ سے آؤٹ پٹ کی پیش گوئی نہ کرنے کی ضرورت ہوتی ہے، اور زیادہ وسیع الگورتھم کی ضرورت ہوتی ہے، جو آسان پی آر این جی کی لکیریتا کے وارث نہیں ہوتے ہیں۔ پی آر این جی کی پیداوار کے لیے اچھی شماریاتی خصوصیات ایک مرکزی ضرورت ہیں۔ عام طور پر، محتاط ریاضیاتی تجزیے کی ضرورت ہوتی ہے کہ اس بات کا یقین ہو کہ پی آر این جی ایسے اعداد پیدا کرتا ہے جو مطلوبہ استعمال کے مطابق بے ترتیب کے کافی قریب ہیں۔ جان وان نیومن نے پی آر این جی کی صحیح معنوں میں بے ترتیب جنریٹر کے طور پر غلط تشریح کے بارے میں خبردار کرتے ہوئے مذاق کیا کہ "جو بھی بے ترتیب ہندسوں کو تیار کرنے کے ریاضی کے طریقوں پر غور کرتا ہے، وہ یقینا گناہ کی حالت میں ہے"۔ ممکنہ مسائل عملی طور پر، بہت سے عام پی آر این جیز کی پیداوار ایسے نمونوں کی نمائش کرتی ہے جن کی وجہ سے وہ شماریاتی نمونوں کا پتہ لگانے کے ٹیسٹ میں ناکام ہو جاتے ہیں۔ ان میں شامل ہیں: کچھ بیج کی حالتوں کے لیے توقع سے کم مدت (اس طرح کی بیج کی حالتوں کو اس تناظر میں "کمزور" کہا جا سکتا ہے) ؛ پیدا شدہ تعداد کی بڑی مقدار کے لیے تقسیم کی یکسانیت کا فقدان ؛ یکے بعد دیگرے اقدار کا ارتباط ؛ پیداوار کی ترتیب کی ناقص جہتی تقسیم ؛ جہاں کچھ اقدار واقع ہوتی ہیں ان کے درمیان فاصلے بے ترتیب ترتیب کی تقسیم سے مختلف طریقے سے تقسیم کیے جاتے ہیں۔ ناقص پی آر این جی کے ذریعے ظاہر ہونے والی نقائص ناقابل توجہ (اور نامعلوم) سے لے کر بہت واضح تک ہوتی ہیں۔ ایک مثال رینڈو بے ترتیب نمبر الگورتھم تھی جو مین فریم کمپیوٹرز پر کئی دہائیوں سے استعمال ہوتی رہی۔ یہ سنگین طور پر ناقص تھا، لیکن اس کی ناکافی کا پتہ بہت طویل عرصے تک نہیں چلا۔ بہت سے شعبوں میں، اکیسویں صدی سے پہلے کا تحقیقی کام جو بے ترتیب انتخاب یا مونٹی کارلو تخروپن پر انحصار کرتا تھا، یا دوسرے طریقوں سے پی آر این جی پر انحصار کرتا تھا، ناقص معیار کے پی آر این جی کے استعمال کے نتیجے میں مثالی سے بہت کم قابل اعتماد تھا۔ آج بھی، بعض اوقات احتیاط کی ضرورت ہوتی ہے، جیسا کہ انٹرنیشنل انسائیکلوپیڈیا آف شماریاتی سائنس (2010) میں درج ذیل انتباہ سے ظاہر ہوتا ہے۔ مثال کے طور پر، وسیع پیمانے پر استعمال ہونے والی پروگرامنگ زبان جاوا پر غور کریں۔ 2020 تک، جاوا اب بھی اپنے پی آر این جی کے لیے لکیری کونگروینشیل جنریٹر (ایل سی جی) پر انحصار کرتا تھا، جو کہ کم معیار کا ہے (مزید نیچے دیکھیں)۔ جاوا سپورٹ کو جاوا 17 کے ساتھ اپ گریڈ کیا گیا تھا۔ بڑے مسائل سے بچنے اور اب بھی کافی تیزی سے چلنے کے لیے ایک معروف پی آر این جی مرسین ٹوسٹر (نیچے زیر بحث) ہے، جو 1998 میں شائع ہوا تھا۔ دیگر اعلی معیار کے پی آر این جی، کمپیوٹیشنل اور شماریاتی کارکردگی دونوں کے لحاظ سے، اس تاریخ سے پہلے اور بعد میں تیار کیے گئے تھے۔ ان کی شناخت سڈورینڈم نمبر جنریٹرز کی فہرست میں کی جا سکتی ہے۔ لکیری تکرار پر مبنی جنریٹر 20 ویں صدی کے دوسرے نصف میں، پی آر این جی کے لیے استعمال ہونے والے الگورتھم کی معیاری کلاس لکیری ہم آہنگ جنریٹرز پر مشتمل تھی۔ ایل سی جی کے معیار کو ناکافی سمجھا جاتا تھا، لیکن بہتر طریقے دستیاب نہیں تھے۔ دبائیں اور دیگر۔ (2007) نے نتیجہ کو اس طرح بیان کیا: "اگر تمام سائنسی مقالے جن کے نتائج [ایل سی جی اور متعلقہ] کی وجہ سے شک میں ہیں لائبریری کی شیلف سے غائب ہو جائیں تو ہر شیلف پر آپ کی مٹھی جتنا بڑا خلا ہوگا۔" سیوڈورانڈم جنریٹرز کی تعمیر میں ایک بڑی پیشرفت دو عنصر کے میدان پر لکیری تکرار پر مبنی تکنیکوں کا تعارف تھا۔ اس طرح کے جنریٹرز لکیری فیڈ بیک شفٹ رجسٹروں سے متعلق ہیں۔ مرسین ٹوسٹر کی 1997 کی ایجاد، خاص طور پر، پہلے کے جنریٹرز کے ساتھ بہت سے مسائل سے بچ گئی۔ مرسین ٹوسٹر کی مدت 219.937 −1 تکرار (≈ 4.3) ہے، 623 طول و عرض (32 بٹ اقدار کے لیے) میں مساوی تقسیم ثابت ہوتی ہے، اور اس کے تعارف کے وقت دیگر شماریاتی طور پر معقول جنریٹرز کے مقابلے میں تیزی سے چل رہا تھا۔ 2003 میں، جارج مارساگلیا نے xorshift جنریٹرز کے خاندان کو متعارف کرایا، جو ایک بار پھر لکیری تکرار پر مبنی تھا۔ اس طرح کے جنریٹر انتہائی تیز ہوتے ہیں اور غیر لکیری آپریشن کے ساتھ مل کر مضبوط شماریاتی ٹیسٹ پاس کرتے ہیں۔ 2006 میں، جنریٹرز کا ویل خاندان تیار کیا گیا تھا۔ ویل جنریٹر کچھ طریقوں سے مرسین ٹوسٹر کے معیار کو بہتر بناتے ہیں، جس میں بہت بڑی ریاستی جگہ ہے اور بڑی تعداد میں صفر کے ساتھ ریاستی جگہوں سے بہت سست بحالی ہے۔ کرپٹوگرافک پی آر این جی کرپٹوگرافک ایپلی کیشنز کے لیے موزوں پی آر این جی کو کرپٹوگرافک طور پر محفوظ پی آر این جی (سی ایس پی آر این جی) کہا جاتا ہے۔ سی ایس پی آر این جی کے لیے ایک ضرورت یہ ہے کہ ایک مخالف جو بیج کو نہیں جانتا ہے اسے جنریٹر کی آؤٹ پٹ ترتیب کو بے ترتیب ترتیب سے ممتاز کرنے میں صرف نہ ہونے کے برابر فائدہ ہوتا ہے۔ دوسرے لفظوں میں، جب کہ پی آر این جی کو صرف کچھ شماریاتی ٹیسٹ پاس کرنے کی ضرورت ہوتی ہے، سی ایس پی آر این جی کو تمام شماریاتی ٹیسٹ پاس کرنے ہوتے ہیں جو بیج کے سائز میں کثیر الجہتی وقت تک محدود ہوتے ہیں۔ اگرچہ اس خاصیت کا ثبوت کمپیوٹیشنل پیچیدگی کے نظریہ کے فن کی موجودہ حالت سے باہر ہے، لیکن سخت سمجھے جانے والے مسئلے سے سی ایس پی آر این جی کو کم کرکے مضبوط ثبوت فراہم کیے جا سکتے ہیں، جیسے کہ انٹیجر فیکٹرائزیشن۔ عام طور پر، کسی الگورتھم کو سی ایس پی آر این جی کے طور پر تصدیق شدہ کرنے سے پہلے سالوں کے جائزے کی ضرورت پڑ سکتی ہے۔ سی ایس پی آر این جی کی کچھ کلاسوں میں درج ذیل شامل ہیں: اسٹریم سائفرز کاؤنٹر یا آؤٹ پٹ فیڈ بیک موڈ پی آر این جی میں چلنے والے سائفرز کو بلاک کرتے ہیں جنہیں خاص طور پر کرپٹوگرافک طور پر محفوظ ہونے کے لیے ڈیزائن کیا گیا ہے، جیسے مائیکروسافٹ کا کرپٹوگرافک ایپلی کیشن پروگرامنگ انٹرفیس فنکشن کرپٹ جین رینڈم، یارو الگورتھم (میک او ایس ایکس اور فری بی ایس ڈی میں شامل)، اور فارچیونا مجموعہ پی آر این جی جو ریاضیاتی سختی کے مفروضوں پر مبنی کسی بھی قابل شناخت غیر بے ترتیب خصوصی ڈیزائن کو ہٹانے کے مقصد کے ساتھ کئی پی آر این جی قدیم الگورتھم کو یکجا کرنے کی کوشش کرتے ہیں: مثالوں میں میکیلی-شنور جنریٹر، نور-رنگولڈ سڈورینڈم فنکشن اور بلم بلم شب الگورتھم شامل ہیں، جو ایک مضبوط سیکیورٹی فراہم کرتے ہیں۔ یہ امکان ظاہر کیا گیا ہے کہ این ایس اے نے این آئی ایس ٹی سے تصدیق شدہ سڈورینڈم نمبر جنریٹر ڈوئل _ ای سی _ ڈی آر بی جی میں ایک غیر متناسب بیک ڈور داخل کیا ہے۔ زیادہ تر پی آر این جی الگورتھم ایسے سلسلے تیار کرتے ہیں جو متعدد ٹیسٹوں میں سے کسی کے ذریعہ یکساں طور پر تقسیم کیے جاتے ہیں۔ یہ ایک کھلا سوال ہے، اور کرپٹوگرافی کے نظریہ اور عمل کے لیے ایک مرکزی سوال ہے، کیا اعلی معیار کے پی آر این جی کی پیداوار کو واقعی بے ترتیب ترتیب سے ممتاز کرنے کا کوئی طریقہ ہے۔ اس ترتیب میں، امتیاز کنندہ جانتا ہے کہ یا تو معروف پی آر این جی الگورتھم استعمال کیا گیا تھا (لیکن اس حالت کا نہیں جس کے ساتھ اسے شروع کیا گیا تھا) یا واقعی بے ترتیب الگورتھم استعمال کیا گیا تھا، اور اسے دونوں کے درمیان فرق کرنا پڑتا ہے۔ پی آر این جی کا استعمال کرتے ہوئے زیادہ تر کرپٹوگرافک الگورتھم اور پروٹوکول کی حفاظت اس مفروضے پر مبنی ہے کہ مناسب پی آر این جی کے استعمال کو واقعی بے ترتیب ترتیب کے استعمال سے ممتاز کرنا ناقابل عمل ہے۔ اس انحصار کی سب سے آسان مثالیں اسٹریم سائفرز ہیں، جو (اکثر) پی آر این جی کے آؤٹ پٹ کے ساتھ پیغام کے سادہ متن کو خصوصی یا شامل کرکے کام کرتے ہیں، جس سے سائفر ٹیکسٹ تیار ہوتا ہے۔ کرپٹوگرافک طور پر کافی پی آر این جی کا ڈیزائن انتہائی مشکل ہے کیونکہ انہیں اضافی معیار پر پورا اترنا ضروری ہے۔ اس کی مدت کا سائز پی آر این جی کی کرپٹوگرافک مناسبیت میں ایک اہم عنصر ہے، لیکن صرف ایک ہی نہیں۔ بی ایس آئی تشخیصی معیار جرمن فیڈرل آفس فار انفارمیشن سیکیورٹی (بی ایس آئی) نے فیصلہ کن بے ترتیب نمبر جنریٹرز کے معیار کے لیے چار معیارات قائم کیے ہیں۔ ان کا خلاصہ یہاں کیا گیا ہے: K1-اس بات کا زیادہ امکان ہونا چاہیے کہ بے ترتیب نمبروں کے پیدا شدہ سلسلے ایک دوسرے سے مختلف ہوں۔ K2-اعداد کی ایک ترتیب مخصوص شماریاتی ٹیسٹوں کے مطابق "واقعی بے ترتیب" نمبروں سے ناقابل شناخت ہے۔ ٹیسٹ مونوبٹ ٹیسٹ (ترتیب میں ایک اور صفر کی مساوی تعداد)، پوکر ٹیسٹ (چی مربع ٹیسٹ کی ایک خاص مثال)، رن ٹیسٹ (مختلف لمبائی کے رنوں کی فریکوئنسی شمار کرتا ہے)، لانگ رن ٹیسٹ (یہ چیک کرتا ہے کہ ترتیب کے 20000 بٹس میں 34 یا اس سے زیادہ لمبائی کا کوئی رن موجود ہے یا نہیں)-بی ایس آئی اور این آئی ایس ٹی دونوں سے، اور آٹوکوریلیشن ٹیسٹ۔ جوہر میں، یہ تقاضے اس بات کا امتحان ہیں کہ بٹ کی ترتیب کتنی اچھی ہے: صفر اور ایک یکساں طور پر اکثر ہوتے ہیں ؛ n صفر (یا ایک) کی ترتیب کے بعد، اگلا بٹ امکان کے ساتھ ایک (یا صفر) نصف ؛ اور کسی بھی منتخب تسلسل میں ترتیب میں اگلے عنصر (عناصر) کے بارے میں کوئی معلومات نہیں ہوتی ہے۔ K3-حملہ آور کے لیے (تمام عملی مقاصد کے لیے) یہ ناممکن ہونا چاہیے کہ وہ ترتیب میں کسی بھی سابقہ یا مستقبل کی اقدار، اور نہ ہی جنریٹر کی کسی اندرونی حالت کا حساب لگائیں، یا دوسری صورت میں اندازہ لگائیں۔ K4-تمام عملی مقاصد کے لیے، حملہ آور کے لیے جنریٹر کی اندرونی حالت سے حساب لگانا، یا اندازہ لگانا ناممکن ہونا چاہیے، ترتیب میں کوئی پچھلی تعداد یا کوئی پچھلی اندرونی جنریٹر ریاستیں۔ کرپٹوگرافک ایپلی کیشنز کے لیے، صرف کے 3 یا کے 4 معیارات پر پورا اترنے والے جنریٹر قابل قبول ہیں۔ ریاضیاتی تعریف دی گئی:-ایک امکان کی تقسیم (جہاں حقیقی لکیر پر معیاری بوریل سیٹ ہے)-بوریل سیٹوں کا ایک غیر خالی مجموعہ، مثال کے طور پر۔ ۔ اگر وضاحت نہیں کی گئی ہے، تو یہ سیاق و سباق کے لحاظ سے یا تو ہو سکتا ہے۔ - ایک غیر خالی سیٹ (ضروری نہیں کہ ایک بوریل سیٹ ہو)۔ اکثر اس سپورٹ اور اس کے اندرونی حصے کے درمیان ایک سیٹ ہوتا ہے ؛ مثال کے طور پر، اگر وقفے پر یکساں تقسیم ہے، تو ہو سکتا ہے۔ اگر اس کی وضاحت نہیں کی گئی ہے، تو یہ سمجھا جاتا ہے کہ سیاق و سباق کے لحاظ سے اس کے اندرونی حصے کی حمایت اور اس پر مشتمل کچھ سیٹ ہے۔ ہم ایک فنکشن (جہاں مثبت انٹیجرز کا مجموعہ ہے) کو ایک فرضی بے ترتیب نمبر جنریٹر کہتے ہیں جس میں اقدار کو اگر اور صرف اس صورت میں لیا جاتا ہے جب: (محدود سیٹ میں عناصر کی تعداد کو ظاہر کرتا ہے۔) یہ دکھایا جا سکتا ہے کہ اگر یکساں تقسیم کے لیے ایک فرضی بے ترتیب نمبر جنریٹر ہے اور اگر کسی دی گئی امکان کی تقسیم کا سی ڈی ایف ہے، تو اس کے لیے ایک فرضی بے ترتیب نمبر جنریٹر ہے، جہاں کا فیصد ہے، یعنی۔ ۔ بدیہی طور پر، ایک من مانی تقسیم کو معیاری یکساں تقسیم کے تخروپن سے نقل کیا جا سکتا ہے۔ ابتدائی نقطہ نظر ایک ابتدائی کمپیوٹر پر مبنی پی آر این جی، جسے 1946 میں جان وان نیومن نے تجویز کیا تھا، درمیانی مربع طریقہ کے نام سے جانا جاتا ہے۔ الگورتھم مندرجہ ذیل ہے: کسی بھی نمبر کو لیں، اسے مربع کریں، نتیجے میں آنے والے نمبر کے درمیانی ہندسوں کو "بے ترتیب نمبر" کے طور پر ہٹا دیں، پھر اس نمبر کو اگلے تکرار کے لیے بیج کے طور پر استعمال کریں۔ مثال کے طور پر، نمبر "1111" کو مربع کرنے سے "1234321" حاصل ہوتا ہے، جسے "01234321" کے طور پر لکھا جا سکتا ہے، ایک 8 ہندسوں کا نمبر 4 ہندسوں کے نمبر کا مربع ہوتا ہے۔ یہ "2343" کو "بے ترتیب" نمبر کے طور پر دیتا ہے۔ اس طریقہ کار کو دہرانے سے اگلا نتیجہ "4896" ملتا ہے، اور اسی طرح۔ وان نیومن نے 10 ہندسوں کے نمبروں کا استعمال کیا، لیکن عمل ایک ہی تھا۔ "مڈل اسکوائر" طریقہ کار کے ساتھ ایک مسئلہ یہ ہے کہ تمام ترتیبات بالآخر خود کو دہراتے ہیں، کچھ بہت تیزی سے، جیسے "0000"۔ وان نیومن اس سے واقف تھے، لیکن انہوں نے اپنے مقاصد کے لیے یہ نقطہ نظر کافی پایا اور انہیں خدشہ تھا کہ ریاضیاتی "فکسس" غلطیوں کو دور کرنے کے بجائے انہیں چھپائیں گے۔ وان نیومن نے ہارڈ ویئر بے ترتیب نمبر جنریٹرز کو نامناسب قرار دیا، کیونکہ اگر انہوں نے پیدا شدہ آؤٹ پٹ کو ریکارڈ نہیں کیا تو بعد میں ان کی غلطیوں کے لیے جانچ نہیں کی جا سکتی تھی۔ اگر وہ اپنا آؤٹ پٹ ریکارڈ کرتے، تو وہ اس وقت دستیاب محدود کمپیوٹر میموری کو ختم کر دیں گے، اور اس طرح کمپیوٹر کی نمبروں کو پڑھنے اور لکھنے کی صلاحیت ختم ہو جائے گی۔ اگر نمبر کارڈ پر لکھے جاتے تو انہیں لکھنے اور پڑھنے میں بہت زیادہ وقت لگتا۔ ENIAC کمپیوٹر پر جو وہ استعمال کر رہا تھا، "مڈل اسکوائر" طریقہ کار پنچڈ کارڈز سے نمبروں کو پڑھنے کے مقابلے میں کچھ سو گنا تیزی سے نمبر تیار کرتا ہے۔ اس کے بعد سے درمیانی مربع طریقہ کو مزید وسیع جنریٹرز کے ذریعے تبدیل کر دیا گیا ہے۔ ایک حالیہ اختراع درمیانی مربع کو ویل ترتیب کے ساتھ جوڑنا ہے۔ یہ طریقہ طویل مدت کے دوران اعلی معیار کی پیداوار پیدا کرتا ہے (درمیانی مربع طریقہ دیکھیں)۔ غیر یکساں جنریٹر غیر یکساں امکانات کی تقسیم سے منتخب کردہ نمبروں کو یکساں تقسیم پی آر این جی اور ایک فنکشن کا استعمال کرتے ہوئے تیار کیا جا سکتا ہے جو دونوں تقسیموں سے متعلق ہے۔ سب سے پہلے، ہدف کی تقسیم کے مجموعی تقسیم فنکشن کی ضرورت ہوتی ہے: نوٹ کریں کہ۔ یکساں تقسیم سے بے ترتیب نمبر c کو "پاس بائی" کرنے کے امکانات کی کثافت کے طور پر استعمال کرتے ہوئے، ہم اس طرح حاصل کرتے ہیں کہ یہ تقسیم سے بے ترتیب طور پر منتخب کردہ نمبر ہے۔ یہ الٹا تبدیلی کے نمونے لینے پر مبنی ہے۔ مثال کے طور پر، ان پٹ کے طور پر رینج (0، 1) کے ساتھ ایک مثالی یکساں پی آر این جی کے ساتھ مجموعی گاؤسی تقسیم کا الٹا گاؤسی تقسیم کے ساتھ (صرف مثبت) اقدار کا ایک سلسلہ پیدا کرے گا ؛ تاہم عملی تعداد کی نمائندگی کا استعمال کرتے وقت، تقسیم کی لامحدود "دم" کو محدود اقدار میں کاٹنا پڑتا ہے۔ تیز تر نسل کے لیے بار بار دوبارہ حساب کتاب کو زیگورٹ الگورتھم جیسے ذرائع سے کم کیا جانا چاہیے۔ اسی طرح کے تحفظات دیگر غیر یکساں تقسیم جیسے ریلی اور پوسن پیدا کرنے پر لاگو ہوتے ہیں۔ سیڈورانڈم نمبر جنریٹرز کی فہرست بھی دیکھیں بے ترتیب لکیری ہم آہنگ جنریٹر کی ایپلی کیشنز کم تفریق ترتیب سیڈورانڈم بائنری ترتیب سیڈورانڈم شور سیڈورانڈم نمبر بے ترتیب نمبر نسل بے ترتیب نمبر جنریٹر حملہ بے ترتیب شماریاتی بے ترتیب حوالہ جات ببلیوگرافی بارکر ای، کیلسی جے، تجویز برائے بے ترتیب نمبر جنریشن یوزنگ ڈیٹرمینیٹک بے ترتیب بٹ جنریٹرز، این آئی ایس ٹی ایس پی 800-90 اے، جنوری 2012 برینٹ آر پی، "شفٹ اور xors کا استعمال کرتے ہوئے کچھ طویل مدتی بے ترتیب نمبر جنریٹر"، اے این زی آئی اے ایم جرنل، 2007 ؛ 48: سی 188-سی 2022 جنٹل جے ای۔ (2003)، رینڈم نمبر جنریشن اور مونٹی کارلو میتھڈز، سپرنگر۔ ہورمن ڈبلیو۔، لیڈولڈ جے۔، ڈرفلنگر جی۔ (2004، 2011)، آٹومیٹک نان یونیفارم رینڈم ویریٹ جنریشن، سپرنگر-ورلاگ۔ نوتھ ڈی۔ ای۔ دی آرٹ آف کمپیوٹر پروگرامنگ، جلد 2: سیمی عددی الگورتھم، تیسرا ایڈیشن۔ ایڈیسن-ویسلی، 1997۔ باب 3۔ [غیر بے ترتیب کے لیے شماریاتی ٹیسٹ کی وسیع کوریج۔] لوبی ایم، سیوڈورانڈمنیس اینڈ کرپٹوگرافک ایپلی کیشنز، پرنسٹن یونیورسٹی پریس، 1996۔ وان نیومن جے، اے ایس ہاؤس ہولڈر، جی ای میں "بے ترتیب ہندسوں کے سلسلے میں استعمال ہونے والی مختلف تکنیکیں"۔ فورسیتھی اور ایچ۔ ایچ۔ جرمنڈ، ایڈز۔، مونٹی کارلو میتھڈ، نیشنل بیورو آف اسٹینڈرڈز اپلائیڈ میتھمیٹکس سیریز، 12 (واشنگٹن، ڈی سی: یو ایس گورنمنٹ پرنٹنگ آفس، 1951): 36-38۔ ڈبلیو ایچ، ٹیوکولسکی ایس اے، ویٹرلنگ ڈبلیو ٹی، فلنری بی پی دبائیں۔ (2007)، عددی ترکیبیں (کیمبرج یونیورسٹی پریس)۔ ویگا جے، "سافٹ ویئر میں پریکٹیکل رینڈم نمبر جنریشن"، پروک میں۔ 19 ویں سالانہ کمپیوٹر سیکیورٹی ایپلی کیشنز کانفرنس، دسمبر 2003۔ بیرونی روابط ٹیسٹ یو01: ایک مفت، جدید ترین (جی پی ایل) سی + + رینڈم نمبر ٹیسٹ سویٹ۔ ڈائی ہارڈر: ایک مفت (جی پی ایل) سی رینڈم نمبر ٹیسٹ سوٹ۔ "جنریٹنگ رینڈم نمبرز" (سرایت شدہ سسٹمز میں) بذریعہ ایرک انیر (2004) "اینالیسس آف دی لینکس رینڈم نمبر جنریٹر" بذریعہ زوی گٹرمین، بینی پنکاس، اور زچی رینمین (2006) "بیٹر سیوڈورانڈم جنریٹرز" بذریعہ پریکشت گوپالان، رگھو میکا، عمر رینگولڈ، لوکا ٹریوسن، اور سلیل وڈھن (مائیکروسافٹ ریسرچ، 2012) بذریعہ اسٹیفن لاوویج (مائیکروسافٹ، 2013) وسفینکس ایک سادہ آن لائن رینڈم نمبر جنریٹر ہے۔ بے ترتیب نمبر جاوا اسکرپٹ سڈورینڈم نمبر جنریٹرز (پی آر این جی) الگورتھم کے ذریعے تیار کیے جاتے ہیں۔