Block Ciphers & Data Encryption Standard
رحلة في عالم تشفير الكتل واستكشاف معيار DES التاريخي الذي شكل نقلة نوعية في عالم التشفير المتماثل ومهد الطريق للخوارزميات الحديثة.
تشفير الكتل يعمل على معالجة البيانات على شكل مجموعات ثابتة الحجم (كتل) بدلاً من معالجة البتات بشكل فردي. كل كتلة تشفر بشكل مستقل أو مرتبط بالكتل السابقة.
رسم توضيحي لمعالجة البيانات في تشفير الكتل
| المعيار | التشفير المتدفق | تشفير الكتل |
|---|---|---|
| طريقة المعالجة | بت واحد في كل مرة | مجموعات ثابتة من البيانات |
| حجم البيانات | غير محدد | ثابت (64/128/256 بت) |
| الاستخدام الأمثل | الاتصالات اللحظية والوسائط | تخزين البيانات والملفات |
| حساسية الأخطاء | عالية - يؤثر على البتات التالية | منخفضة - يقتصر على الكتلة الحالية |
| الأداء | أسرع في الأجهزة البسيطة | أسرع في الأجهزة المتوازية |
كل كتلة تشفر بشكل مستقل - غير آمن للنمط المتكرر
كل كتلة تعتمد على سابقتها - أكثر أماناً
يحول تشفير الكتل إلى تشفير متدفق
يولد تيار مفتاح مستقل عن النص المشفر
وكالة الأمن القومي NSA توصي بعدم استخدام ECB لأنه يُظهر أنماط البيانات المتكررة!
تم تطوير DES بواسطة IBM في السبعينات واعتماده كمعيار فيدرالي أمريكي عام 1977. كان يمثل ثورة في عالم التشفير المتماثل.
IBM تطور خوارزمية Lucifer
اعتماد DES كمعيار فيدرالي
كسر DES في 22 ساعة
اعتماد AES كبديل
64 بت
56 بت
16 جولة
فايستل
إعادة ترتيب بتات الكتلة قبل بدء الجولات
8 صناديق استبدال غير خطية للارتباك
جداول النقل لنشر تأثير البتات
إنشاء 16 مفتاح فرعي من المفتاح الرئيسي
تقسيم البيانات إلى L و R لكل جولة
عكس التبديل الأولي للحصول على الناتج
L₀ (32-bit) R₀ (32-bit)
│ │
│ ├─────────────┐
│ │ │
▼ ▼ ▼
XOR ←────────────── f(R₀, K₁) K₁
│ │ │
│ │ │
▼ ▼ │
L₁ = R₀ R₁ = L₀ ⊕ f(R₀, K₁)
تمثيل مبسط لجولة واحدة في بنية فايستل
إعادة ترتيب البتات الـ 64 وفق جدول IP ثابت:
النص الأصلي: 0123456789ABCDEF (hex)بعد IP: 14A7D67818CA18AD (مثال)
تقسيم الكتلة إلى نصفين 32 بت لكل منهما:
تطبيق دالة f على R₀ باستخدام المفتاح K₁:
8 صناديق تحويل 6 بت إلى 4 بت:
بعد 16 جولة، يتم تطبيق التبديل النهائي:
النص المشفر: 85E813540F0AB405 (مثال)
S-boxes توفر ارتباكاً عالياً، وP-boxes توفر انتشاراً جيداً
صمم لمقاومة التحليل التفاضلي والخطي
16 جولة توفر أماناً كافياً في زمنه
56 بت = 2⁵⁶ احتمال ≈ 72 مليون مليون مفتاح
يمكن كسره في ساعات بأجهزة حديثة
هجمات التفاضلية والخطية أصبحت ممكنة
| العام | الوقت المستغرق | التكلفة | التقنية |
|---|---|---|---|
| 1997 | 96 يوم | مشروع عام | أجهزة موزعة |
| 1998 | 56 ساعة | $250,000 | جهاز متخصص |
| 1999 | 22 ساعة | $250,000 | أجهزة متعددة |
| 2006 | 9 أيام | $10,000 | FPGA |
| 2012 | ساعات | أقل من $1,000 | GPU متطور |
| العنصر | DES | AES |
|---|---|---|
| سنة الإصدار | 1977 | 2001 |
| بنية الخوارزمية | Feistel | Substitution–Permutation |
| حجم الكتلة | 64 بت | 128 بت |
| حجم المفتاح | 56 بت | 128/192/256 بت |
| عدد الجولات | 16 | 10/12/14 |
| مستوى الأمان | منخفض حالياً | قوي جداً |
| الحالة الحالية | غير موصى به | معيار عالمي |
تقسيم البيانات إلى نصفين وتطبيق دوال غير قابلة للعكس مع إمكانية عكس العملية باستخدام نفس المفاتيح.
إخفاء العلاقة بين المفتاح والنص المشفر باستخدام عمليات غير خطية مثل S-boxes.
توزيع تأثير بتات النص الأصلي على أكبر عدد ممكن من بتات النص المشفر.
التصميم لمقاومة الهجمات التفاضلية والخطية والجبريّة.
| الإدخال | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
|---|---|---|---|---|---|---|---|---|
| الإخراج | 110 | 010 | 001 | 100 | 011 | 000 | 111 | 101 |
دراسة تأثير اختلافات النص الأصلي على النص المشفر
إيجاد علاقات خطية تقريبية بين النص الأصلي والمشفر
تمثيل الخوارزمية كنظام معادلات جبرية
تجربة جميع المفاتيح الممكنة