چطوری با اندازه‌گیری آنتروپی میشه کنترل کیفیت بیت‌های تصادفی رو آنلاین نگه داشت؟

تا حالا به این فکر کردی که این همه شماره تصادفی که توی فضای مجازی رد و بدل میشه، چطور باید کاملاً تصادفی و امن باشه؟ مثلاً توی امنیت سایبری، مخصوصاً وقتی حرف از “اینترنت هر چیزی” میاد وسط (یعنی همون دنیایی که همه چی به اینترنت وصله)، کیفیت بیت‌های تصادفی واقعاً یه موضوع جدیه!

واقعیت اینه که اگر این بیت‌ها تصادفیِ واقعی نباشن (یعنی بشه حدسشون زد یا یه الگویی پشتش باشه)، امنیت کل سیستم میره زیر سوال. حالا پس چطوری مطمئن بشیم هیچ باگی این وسط پیش نمیاد؟

اینجا بحث “عدد تصادفی واقعی” پیش میاد (True Random Numbers یعنی عددایی که اصلاً و ابداً قابل پیش‌بینی نیستن). اما حتی همین سیستم‌های خفن هم خطراتی دارن: ممکنه به خاطر مشکلات فیزیکی دستگاه، تغییرات محیطی یا اینکه دستگاه پیر شده(!)، توی فرایندشون یه ایراد بیاد. اگر بهشون دقت نکنیم، ممکنه عددهایی بدن که بدرد امنیت نخوره.

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

داستان چطوریه؟ خب، این سیستم از چندتا تست پیشرفته استفاده می‌کنه:
۱. NIST adaptive proportion and repetition count tests: اینا تست‌هایی هستن که توسط موسسه استاندارد آمریکا (NIST) ساخته شدن تا مطمئن شن توی دنباله بیت‌ها هیچ الگوی تکراری یا نسبت غیرعادی وجود نداره.
۲. Monobit و RUNS Tests: اینا هم تست‌های آماری هستن که مثلا چک می‌کنن تعداد صفر و یک تو یه دنباله طولانی تقریباً برابر باشه یا مثلاً یه رشته از صفر یا یک پشت سر هم نیاد که شک‌برانگیز باشه.

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

این روند همزمان با تولید بیت‌های تصادفی اجرا میشه و حتی تخمینی از “آنتروپی منبع” (یعنی نشون میده چقدر این عددها واقعاً تصادفی‌ان) در اختیار ما میذاره. آنتروپی یه جور معیار برای سنجیدن میزان تصادفی بودن و غیرقابل‌پیش‌بینی بودن یه منبع داده‌ست.

یه نکته جالب اینکه، علاوه بر همه این تست‌ها، دوباره نتایج با یه آنالیز آماری دیگه چک میشن که بر اساس مدل “نمادهای مستقل و هم توزیع” (یعنی فرض می‌گیرن هر بیت تولیدی هیچ ربطی به قبلی‌ها نداره و همشون یک‌جورن) کار می‌کنه تا مطمئن شن همه چی اوکیه. آخرش هم کمترین مقدار آنتروپی رو حساب می‌کنن که اونم با تخمین اولیه چک میشه.

همه این داستان‌ها رو روی یه منبع آنتروپی کوانتومی مبتنی بر سیلیکون (واسه کسایی که نمی‌دونن: یعنی یه دستگاه توی کامپیوتر که از ویژگی‌های تصادفی کوانتومی مواد برای ساخت بیت تصادفی استفاده می‌کنه) آزمایش کردن و دیدن که واقعاً کار می‌کنه.

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

منبع: +