نحوه تولید اعداد تصادفی – راهنمای TRNG ها و PRNG ها

عکس پروفایل نویسنده

هر کسی با هر تجربه برنامه نویسی می فهمد که کامپیوترها ماشین های قطعی هستند. اگر ورودی یکسانی ارائه دهید ، همیشه خروجی یکسانی خواهید داشت. به همین دلیل است که داشتن رایانه به طور تصادفی چیزی تولید می کند پیچیده تر از آن چیزی است که به نظر می رسد.

رایانه ها از اعداد تصادفی برای همه چیز استفاده می کنند ، از رمزنگاری گرفته تا قمار ، الگوریتم های تولیدی ، بازی های ویدیویی و موارد دیگر. با این حال ، رایانه ها ذاتاً از تصادفی بودن عاجزند. در عوض ، برنامه نویسان به مولدهای تعداد شبه (PRNG) اعتماد می کنند. اینها به سادگی دسته ای از الگوریتم ها هستند که به طور برنامه ریزی شده از یک مقدار شروع معین به نام seed ، اعداد تصادفی جدیدی تولید می کنند.

این الگوریتم ها محدودیت های خاص خود را ندارند. از آنجا که اعداد تصادفی از طریق برنامه ریزی تولید می شوند ، اگر کسی بتواند مقدار دانه و الگوریتم PRNG مورد استفاده شما را شناسایی کند ، می تواند عدد تصادفی بعدی را در توالی پیش بینی کند. این به مهاجم اجازه می دهد رمزگذاری را بشکند ، کارت بازی بعدی را به ترتیب دنبال کند ، در یک بازی ویدیویی تقلب کند و غیره.

علیرغم این نگرانی ، PRNG ها در شرایط شامل مدل سازی و شبیه سازی بسیار مفید هستند زیرا به شما امکان می دهد یک سری از رویدادهای تصادفی را با مقداردهی اولیه مولد شماره تصادفی خود با همان دانه “پخش” کنید.

در شرایطی که تصادفی بودن …

مطالب پیشنهادی  نحوه بهبود غلظت: نسخه 2021
سئو PBN | خبر های جدید سئو و هک و سرور