أساس أمن التشفير الحديث - العشوائية الحقيقية والزائفة
رحلة في عالم العشوائية التي تشكل العمود الفقري لأمن التشفير الحديث، من المفاتيح إلى المتجهات الابتدائية، ومن تشفير الدفق إلى مولدات الأرقام الآمنة.
العشوائية تشكل العمود الفقري لأمن التشفير الحديث. جميع مفاهيم التشفير تعتمد على وجود أرقام عشوائية قوية:
توليد مفاتيح التشفير
لخوارزميات RSA وغيرها
في أوضاع التشغيل
للتجزئة والبروتوكولات
ضعف العشوائية = ضعف التشفير بالكامل. إذا كان مولد الأرقام ينتج أرقامًا يسهل توقعها → يمكن استنتاج المفاتيح بسهولة.
يعتمد على ظواهر فيزيائية حقيقية غير قابلة للتوقع مطلقًا.
ينتج أرقامًا "تشبه" العشوائية باستخدام خوارزميات رياضية.
PRNG العادي غير مناسب للتشفير دون حماية إضافية
النوع المستخدم فعليًا في التشفير - يجمع بين سرعة PRNG وأمان TRNG.
يمكن استخدام خوارزمية كتل (مثل AES) كمولّد أرقام عشوائية آمن عبر وضع CTR.
00 00 00 00 00 00 00 01
6B C1 BE E2 2E 40 9F 96
نوع من التشفير يقوم بتوليد تيار مفاتيح Key Stream، ثم دمجه مع النص الأصلي بعملية XOR.
WEP (قديم)، أنظمة لاسلكية متخصصة
بث مباشر، اتصالات وسائط متعددة
أجهزة ذات موارد محدودة
حيث السرعة عامل حاسم
| المعيار | Stream Ciphers | Block Ciphers |
|---|---|---|
| طريقة العمل | بايتًا بايتًا | كتل ثابتة |
| السرعة | أسرع في الاتصالات | أقوى في التخزين |
| حساسية الخطأ | عالية | منخفضة |
| المتطلبات | CSPRNG قوي | وضع تشغيل |
السبب: يحتاج معالجة سريعة بدون تقسيم كتل
السبب: خفيفة وسريعة على الموارد
السبب: لا تحتاج تقسيم البيانات إلى كتل
السبب: لا توجد معالجة إضافية للكتل
عدم إعادة استخدام نفس المفتاح Key أو المتجه الابتدائي IV في Stream Ciphers يؤدي إلى اختراق فوري. هذا هو السبب الرئيسي في اختراق WEP بسهولة!
طُورت RC4 في 1987 بواسطة Ron Rivest وأصبحت أحد أشهر Stream Ciphers في التاريخ.
لأنه نموذج واضح لفهم طريقة عمل Stream Ciphers، ولوجودها في الأنظمة القديمة التي قد نواجهها في العمل الميداني.
for i from 0 to 255
S[i] = i
j = 0
for i from 0 to 255
j = (j + S[i] + key[i mod keylength]) mod 256
swap S[i] and S[j]
i = 0, j = 0
while GeneratingOutput:
i = (i + 1) mod 256
j = (j + S[i]) mod 256
swap S[i] and S[j]
K = S[(S[i] + S[j]) mod 256]
output K
الإنتروبيا هي مقياس مقدار "المجهولية" أو "عدم القابلية للتنبؤ" في البيانات.
في أنظمة Unix - ينتظر إنتروبيا كافية
لا ينتظر - يستخدم CSPRNG
تعليمة معالج Intel للعشوائية
شرائح مخصصة للعشوائية الحقيقية
يتجه العالم نحو دمج TRNG و CSPRNG في شرائح واحدة، مع استخدام فيزياء الكم لتوليد عشوائية حقيقية غير قابلة للتنبؤ مطلقًا، مما يضمن أمانًا أعلى للتطبيقات الحساسة.