روکیداروکیداروکیدا
  • اخبار فناوری
  • آموزش
  • گجت‌ها
    • اخبار موبایل و گجت ها
    • گجت های پوشیدنی
    • نقد و بررسی تخصصی گجت ها
    • راهنمای خرید
  • فیلم و سریال
  • نرم افزار و اپلیکیشن
  • موفقیت و پیشرفت
  • خودرو
  • تبلیغات در روکیدا
  • تماس با ما
می‌خوانید: چگونه کامپیوترها اعداد تصادفی تولید می‌کنند؟
اطلاع‌رسانی آپدیت‌ها
تغییر اندازه فونتAa
تغییر اندازه فونتAa
روکیداروکیدا
  • اخبار فناوری
  • آموزش
  • گجت‌ها
  • فیلم و سریال
  • نرم افزار و اپلیکیشن
  • موفقیت و پیشرفت
  • خودرو
  • تبلیغات در روکیدا
  • تماس با ما
Search
  • اخبار فناوری
  • آموزش
  • گجت‌ها
    • اخبار موبایل و گجت ها
    • گجت های پوشیدنی
    • نقد و بررسی تخصصی گجت ها
    • راهنمای خرید
  • فیلم و سریال
  • نرم افزار و اپلیکیشن
  • موفقیت و پیشرفت
  • خودرو
  • تبلیغات در روکیدا
  • تماس با ما
© تمامی حقوق برای رسانه روکیدا محفوظ است.

روکیدا - عمومی

عمومی

چگونه کامپیوترها اعداد تصادفی تولید می‌کنند؟

پرشان شاکری فر
پرشان شاکری فر
توسطپرشان شاکری فر
علاقه مند به مطالب مربوط به دانش و فناوری- فکر می‌کنم مهم‌ترین ویژگی انسان، کنجکاوی و علاقه به یادگیری چیزهای بیشتر هست. به همین دلیل هم...
انتشار: پنجشنبه , ۱۱ مرداد ۱۳۹۷ ساعت ۱۰:۲۳
8 دقیقه
چگونه کامپیوترها اعداد تصادفی تولید می‌کنند؟

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

عنوان‌ها
اعداد تصادفی برای چه کاری استفاده می‌شوند؟اعداد تصادفی واقعیاعداد شبه تصادفیتولیدکننده‌های سخت‌افزاری اعداد تصادفی ساخت اینتل و آژانس امنیت ملی آمریکا

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

اعداد تصادفی برای چه کاری استفاده می‌شوند؟

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

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

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

encryption

اعداد تصادفی واقعی

شاید برای شما سوال شده باشد که یک کامپیوتر چگونه می‌تواند یک عدد تصادفی تولید کند. این “تصادفی بودن” از کجا می‌آید؟ اگر این تولیدکننده تنها یک کد کامپیوتری است، آیا ممکن نیست که اعداد تصادفی که کامپیوتر تولید می‌کند قابل پیش‌بینی باشند؟

به‌طورکلی ما اعداد تصادفی که توسط کامپیوترها تولید می‌شوند را بسته به چگونگی تولیدشان، به دو دسته تقسیم‌بندی می‌کنیم: اعداد تصادفی واقعی و اعداد شبه تصادفی.

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

به‌عنوان یک مثال آشناتر، کامپیوترها می‌توانند از نویزهای جوی یا حتی ساده‌تر از آن،​ از زمان دقیق فشار دادن دکمه‌های کیبورد به‌عنوان منبع داده‌های غیرقابل‌پیش‌بینی، یا آنتروپی، استفاده کنند. برای مثال، ممکن است کامپیوتر شما فشرده شدن یک کلید در دقیقا 0.23423523 ثانیه پس از ساعت 2 بعد از ظهر را ثبت کند. با جمع‌آوری تعداد کافی از زمان‌های مربوط به فشرده شدن کلیدها، یک منبع آنتروپی خواهید داشت که می‌توانید از آن برای تولید یک عدد تصادفی واقعی استفاده کنید. شما  یک ماشین قابل پیش‌بینی نیستید، پس فرد مهاجم نمی‌تواند زمان دقیق فشرده شدن کلیدهای کیبورد توسط شما را حدس بزند. دستگاه  /dev/random، که در لینوکس اعداد تصادفی تولید می‌کند، تا زمانی که آنتروپی کافی برای تولید یک عدد تصادفی واقعی به دست نیاورد، درخواست‌های کاربر را رد کرده و نتیجه‌ای نمایش نمی‌دهد.

linux generate random data

اعداد شبه تصادفی

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

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

برای مثال، فرض کنید فرد مهاجم، الگوریتم و مقدار آغازینی را که یک تولیدکننده اعداد شبه تصادفی از آن‌ها استفاده می‌کند، می‌داند. و همچنین فرض کنید که یک الگوریتم رمزنگاری، یک عدد شبه تصادفی را از این الگوریتم دریافت کرده و بدون اضافه کردن هیچ‌گونه تصادفی بودن دیگری، از آن برای تولید یک کلید رمزنگاری استفاده می‌کند. اگر فرد مهاجم اطلاعات کافی در دست داشته باشد، می‌توانند با برگشت به عقب و تعیین عدد شبه تصادفی که الگوریتم رمزنگاری انتخاب کرده، کلید را به دست آورده و رمزنگاری را بشکند.

5175981010 29d40f8ceb b

تولیدکننده‌های سخت‌افزاری اعداد تصادفی ساخت اینتل و آژانس امنیت ملی آمریکا

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

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

این یک نگرانی جدی به شمار می‌رود. در ماه دسامبر سال 2013، توسعه‌دهندگان سیستم عامل FreeBSD، با اعلام غیر قابل‌اطمینان بودن این سیستم، پشتیبانی از استفاده مستقیم از RdRand، به‌عنوان منبع تصادفی بودن را متوقف کردند. در این حالت، خروجی RdRand به‌عنوان ورودی یک الگوریتم دیگر در نظر گرفته می‌شود که آنتروپی اضافی را به مسئله وارد می‌کند. با این کار، اطمینان حاصل می‌شود که هرگونه در پشتی در تولیدکننده اعداد تصادفی، اهمیتی نخواهد داشت. لینوکس قبلا نیز به این شیوه عمل می‌کرد و داده‌هایی را که از RdRand به دست می‌آمد، تصادفی‌تر می‌کرد تا در صورت وجود هرگونه در پشتی، کلید تولیدشده قابل پیش‌بینی نباشد. در یکی از جلسات پرسش و پاسخ اخیر در وب‌سایت Reddit، مدیر اجرایی شرکت اینتل، آقای برایان کرانیچ، به سوالات مربوط به این نگرانی‌ها پاسخ نداد.

البته، این نگرانی تنها مربوط به چیپ های اینتل نیست. توسعه‌دهندگان سیستم عامل FreeBSD، از چیپ های تولیدشده توسط شرکت Via نیز نام بردند. این جنجال‌ها نشان می‌دهد که چرا تولید اعداد تصادفی که واقعا تصادفی بوده و قابل پیش‌بینی نباشند، بسیار مهم است.

 

برچسب‌ها:پردازنده
توسطپرشان شاکری فر
علاقه مند به مطالب مربوط به دانش و فناوری- فکر می‌کنم مهم‌ترین ویژگی انسان، کنجکاوی و علاقه به یادگیری چیزهای بیشتر هست. به همین دلیل هم هست که فعالیت در روکیدا، برای من بازی برد-برد به حساب میاد چون هم چیزهای جدید یاد می‌گیرم و هم این که امیدوارم شما هم با خوندن این مطالب چیزهای جدیدی یاد بگیرید.
مطلب قبلی شبیه سازی زیردریایی فضایی ناسا در قمر تیتان شبیه سازی دریاهای قمر تیتان برای آزمایش زیردریایی فضایی ناسا
مطلب بعدی بررسی کیا استینگر کیا استینگر ؛ ترکیبی از BMW، آئودی و حتی پورشه
بدون دیدگاه

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

جدیدترین مطالب

گلکسی زد فولد 7 با نمایشگری بزرگ و حاشیه های بسیار نازک
گلکسی زد فولد 7 با نمایشگری بزرگ و حاشیه های بسیار نازک
3 دقیقه
احتمال پشتیبانی آیفون 17 از شارژ بی سیم 50 وات با مگ سیف1
احتمال پشتیبانی آیفون 17 از شارژ بی سیم 50 وات با مگ سیف
5 دقیقه
چرا سامسونگ در گلکسی S25 Edge از باتری سیلیکون کربن استفاده نکرد
چرا سامسونگ در گلکسی S25 Edge از باتری سیلیکون کربن استفاده نکرد
4 دقیقه
تراشه A20 اپل با فناوری 2 نانومتری و طراحی کاملا جدید
تراشه A20 اپل با فناوری 2 نانومتری و طراحی کاملا جدید
4 دقیقه
اپل با شعار Sleek Peek کاربران را برای WWDC 2025 هیجان زده کرد
اپل با شعار Sleek Peek کاربران را برای WWDC 2025 هیجان زده کرد
4 دقیقه
پشتیبانی Galaxy Z Fold 7 از شارژ بی سیم Qi2 تایید شد
پشتیبانی Galaxy Z Fold 7 از شارژ بی سیم Qi2 تایید شد
3 دقیقه
همه چیز درباره iOS 26 و قابلیت های جدید آیفون
همه چیز درباره iOS 26 و قابلیت های جدید آیفون
6 دقیقه
۷ راهکار برای بیدار ماندن بعد از یک شب بی خوابی
۷ راهکار برای بیدار ماندن بعد از یک شب بی خوابی
7 دقیقه
همه چیز درباره macOS 26 Tahoe و آنچه باید از اپل انتظار داشته باشیم
همه چیز درباره macOS 26 Tahoe و آنچه باید از اپل انتظار داشته باشیم
8 دقیقه
قابلیت ساخت چت بات هوش مصنوعی در واتساپ اندروید در راه است
قابلیت ساخت چت بات هوش مصنوعی در واتساپ اندروید در راه است
4 دقیقه

پربازدید‌ترین‌ها

دکمه های لمسی به آیفون و اپل واچ می آیند
دکمه های لمسی به آیفون و اپل واچ می آیند
3 دقیقه
آیفون 17 با همان پردازنده آیفون 16 عرضه می شود
آیفون 17 با همان پردازنده آیفون 16 عرضه می شود
4 دقیقه
آیفون 17 بدون تغییرات مهم فقط کمی بزرگ تر شده
آیفون 17 بدون تغییرات مهم فقط کمی بزرگ تر شده
3 دقیقه
نسخه قدرتمند Snapdragon X2 Elite با پردازنده 18 هسته ای و رم 64 گیگابایتی در حال تست است
نسخه قدرتمند Snapdragon X2 Elite با پردازنده 18 هسته ای و رم 64 گیگابایتی در حال تست است
4 دقیقه
متا قصد دارد ارزیابی ریسک محصولات را به هوش مصنوعی بسپارد
متا قصد دارد ارزیابی ریسک محصولات را به هوش مصنوعی بسپارد
4 دقیقه
ویژگی امنیتی جدید اندروید 16 زودتر از انتظار فعال شد1
ویژگی امنیتی جدید اندروید 16 زودتر از انتظار فعال شد
4 دقیقه
مقایسه کامل گلکسی S25 Edge و S25 FE
مقایسه کامل گلکسی S25 Edge و S25 FE
7 دقیقه
گلکسی S26 احتمالا دستیار هوش مصنوعی جمینی را کنار می گذارد
گلکسی S26 احتمالا دستیار هوش مصنوعی جمینی را کنار می گذارد
4 دقیقه
پردازنده Ryzen AI Max Pro 385 با هشت هسته روی گیک بنچ دیده شد
پردازنده Ryzen AI Max Pro 385 با هشت هسته روی گیک بنچ دیده شد
4 دقیقه
با این ترفند ساده، ChatGPT را تبدیل به دستیار شخصی خودتان کنید
با این ترفند ساده، ChatGPT را تبدیل به دستیار شخصی خودتان کنید
6 دقیقه
اپل در WWDC 2025 ممکن است خبری از هوش مصنوعی ندهد
اپل در WWDC 2025 ممکن است خبری از هوش مصنوعی ندهد
4 دقیقه
ترفند جدید اپل نوت با یک دکمه ساده دو قابلیت پنهان را فعال می کند
ترفند جدید اپل نوت با یک دکمه ساده دو قابلیت پنهان را فعال می کند
3 دقیقه
نام نسخه بعدی macOS احتمالا Tahoe خواهد بود
نام نسخه بعدی macOS احتمالا Tahoe خواهد بود
4 دقیقه
تویوتا Aygo X مدل 2025 با نسخه GR Sport معرفی شد
تویوتا Aygo X مدل 2025 با نسخه GR Sport معرفی شد
5 دقیقه

جالب از سراسر وب

محافظ برق

برقکار شبانه روزی

بیمه موبایل معلم

سرور مجازی ایران

خرید جم فری فایر

آموزش مکانیک خودرو

داکر

خرید سی پی فوری

هاست ووکامرس ارزان

آموزش مکانیک خودرو

تعمیر تلویزیون هیمالیا

خرید رمان انگلیسی زبان اصلی

مرتبط با همین مطلب

تاریخ رونمایی اسنپدراگون 8 الیت زودتر اعلام شد
اخبار موبایل و گجت ها

تاریخ رونمایی اسنپدراگون 8 الیت زودتر اعلام شد

3 دقیقه
مشکلات سخت افزاری سرورها؛ دردسرهای بزرگ و راه‌حل‌هایی کوچک
اخبار فناوری

مشکلات سخت افزاری سرورها؛ دردسرهای بزرگ و راه‌حل‌هایی کوچک!

9 دقیقه
پردازنده های AMD EPYC 9006 با معماری Zen 6 تا 256 هسته دارند
نرم افزار و اپلیکیشن

پردازنده های AMD EPYC 9006 با معماری Zen 6 تا 256 هسته دارند

4 دقیقه
احتمال استفاده از تراشه مدیاتک در گلکسی S25 FE
اخبار موبایل و گجت ها

احتمال استفاده از تراشه مدیاتک در گلکسی S25 FE

4 دقیقه
روکیداروکیدا
© تمامی حقوق برای رسانه روکیدا محفوظ است.
Welcome Back!

Sign in to your account

Username or Email Address
Password

رمز عبور را فراموش کرده اید؟