أنواع هجمات التحليل
تصنيف الهجمات حسب المعلومات المتاحة للمحلل
المحلل يملك النص المشفر فقط — الأصعب.
يعتمد على الإحصاء والتخمين.
المحلل يملك نصاً عادياً ونظيره المشفر.
يستخدم لاستنتاج المفتاح.
المحلل يختار النص ليُشفَّر.
أقوى من Known Plaintext.
تجربة جميع المفاتيح الممكنة.
ضعيف مع المفاتيح الكبيرة.
📌 مثال عملي: Brute Force على تشفير قيصر
التشفير بقيصر له 26 مفتاحاً فقط — يمكن تجربتها جميعاً بسهولة:
| المفتاح k | النتيجة | هل منطقية؟ |
|---|---|---|
| 1 | JGNNQ YQTNF | ❌ |
| 2 | IFMMP XPSME | ❌ |
| 3 | HELLO WORLD | ✅ وُجد! |
| 4 | GDKKN VNQKC | ❌ |
كسر شفرات التبديل (Transposition)
Columnar Transposition — Double Transposition — Scytale
1. كسر التبديل العمودي (Columnar Transposition)
الفكرة: نعرف أن النص المشفر هو قراءة أعمدة مصفوفة. لكسره نجرب عدد الأعمدة الذي هو مقسم لعدد الحروف.
عدد الحروف = 12 → المقسِّمات: 2، 3، 4، 6
نجرب 4 أعمدة (12 ÷ 4 = 3 صفوف)، نضع الحروف في الأعمدة:
نقرأ الصفوف: S-E-E-T / H-E-L-I / G-H-T-X
نحصل على: SEETHELIGHT — منطقي! ✅
2. كسر التبديل بكلمة مفتاحية (Keyword Columnar)
45 حرفاً → الأبعاد الممكنة: 9×5 أو 5×9 أو 15×3 أو 3×15
نجرب مصفوفة 9 صفوف × 5 أعمدة، نضع النص بالأعمدة (العمود 0 ثم 1 ثم ...):
| العمود 0 | العمود 1 | العمود 2 | العمود 3 | العمود 4 |
|---|---|---|---|---|
| V | E | G | M | I |
| O | M | E | E | S |
| E | R | W | E | H |
| S | T | T | A | O |
| A | N | N | D | D |
| I | L | I | L | W |
| V | E | M | T | O |
| E | A | H | R | E |
| N | N | T | N | H |
نحاول تبديل الأعمدة حتى تظهر كلمة في السطر الأول.
نجرب ترتيب الأعمدة: 2, 4, 0, 1, 3 → السطر الأول: G-I-V-E-M ← يبدأ بـ GIVE!
هذا يعني المفتاح = 24013 (ترتيب الأعمدة الأبجدي).
3. كسر التبديل المضاعف (Double Transposition) — تقنية Divide & Conquer
أولاً نتراجع عن تبديل الأعمدة → ثم نتراجع عن تبديل الصفوف. هذا يقلل الاحتمالات من N! إلى مرحلتين منفصلتين.
نضع النص في مصفوفة 3×4: N-A-D-W / T-K-C-A / A-T-A-T
نجرب تبديلات الأعمدة حتى نحصل على كلمات جزئية.
نجرب (3,1,0,2): W-A-D-N / A-A-C-T / T-T-A-A → أعمدة أصبحت ATTACK... ✅
بعد إلغاء تبديل الأعمدة نجرب تبديل الصفوف (2,1,0):
نحصل على: A-T-T-A / C-K-A-T / D-A-W-N
كسر شفرة قيصر (Caesar Cipher)
26 مفتاحاً فقط — يُكسر بالقوة الغاشمة أو تحليل التكرار
حيث c = قيمة الحرف المشفر (A=0, B=1,...Z=25)، k = مقدار الإزاحة
مثال عملي كامل
نحسب تكرار الحروف: W(1), K(1), H(1), T(1), X(1), L(1), F(1), N(1), E(1), U(1), R(2), Z(1), Q(1), I(1), A(1)
لا يوجد حرف واضح الهيمنة لأن النص قصير → نلجأ للقوة الغاشمة
نجرب k=3: W→T, K→H, H→E → "THE" ✅ كلمة إنجليزية شائعة!
نطبق k=3 على الجميع: WKH→THE, TXLFN→QUICK, EURZQ→BROWN, IRA→FOX
| المشفر | القيمة | −3 | النتيجة |
|---|---|---|---|
| W | 22 | 22−3=19 | T |
| K | 10 | 10−3=7 | H |
| H | 7 | 7−3=4 | E |
| T | 19 | 19−3=16 | Q |
| X | 23 | 23−3=20 | U |
| L | 11 | 11−3=8 | I |
كسر الشفرة الأفينية (Affine Cipher)
e(x) = ax + b (mod 26) — 312 مفتاحاً فقط
المثال من الملزمة خطوة بخطوة
الخطوة 1: حساب التكرارات
الخطوة 2: وضع الفرضيات
R=17 هو الأكثر تكراراً → يُرجَّح أنه يقابل e (القيمة=4)
D=3 ثاني أكثر تكراراً → يُرجَّح أنه يقابل t (القيمة=19)
e_K(19) = 3 → 19a + b = 3
نطرح: 15a = -14 mod 26 → 15a = 12 mod 26
نجد: a = 6 ← لكن gcd(6,26)=2 ≠ 1 → مفتاح غير صالح! ❌
الفرضية الثانية: R=e, E=t (E القيمة=4, E يقابل t=19)
4a+b=17, 4a+b=4... → a=13 ← gcd(13,26)=13 → غير صالح! ❌
الفرضية الثالثة: R=e, H=t → H قيمته 7
4a+b=17, 19a+b=7 → 15a=−10 mod 26 → a=8 → gcd(8,26)=2 → غير صالح! ❌
الفرضية الرابعة: R=e, K=t → K قيمته 10
4a+b=17, 10a+b=19 (عكس: نكتشف أن K=19 بالترتيب للحروف) →
حل المعادلتين: a=3, b=5 → gcd(3,26)=1 ✅ صالح!
الخطوة 3: دالة الفك
المعكوس الضربي لـ 3 mod 26 = 9 (لأن 3×9=27≡1 mod 26)
d_K(y) = 9(y − 5) mod 26 = 9y − 45 mod 26 = 9y − 19 mod 26
كسر شفرة فيجنير (Vigenère Cipher)
اختبار كاسيسكي + مؤشر التوافق لاكتشاف طول المفتاح
1. نكتشف طول المفتاح باختبار كاسيسكي أو مؤشر التوافق
2. نقسّم النص لمجموعات بحجم طول المفتاح
3. نحلل كل مجموعة كـ شفرة قيصر منفصلة
اختبار كاسيسكي (Kasiski Test)
إذا تكررت مجموعة حروف في النص المشفر، فالمسافة بين التكرارين تقبل القسمة على طول المفتاح.
نبحث عن التكرارات: IVI يظهر في المواضع 0، 12، 18
المسافات: 12−0=12، 18−12=6
GCD(12, 6) = 6 → طول المفتاح المحتمل = 6 أو قسيم منه (2، 3)
كسر فيجنير خطوة بخطوة (مفتاح 3 حروف)
فرضنا طول المفتاح = 3، نقسّم النص 3 مجموعات:
S₀ = الحرف 0, 3, 6, 9, ... → نحسب تكرارات كل مجموعة
من جدول S₀: الأكثر تكراراً R → نفترض R = E → k₀ = R−E = 17−4 = 13 أو...
نجرب القيم المحتملة لـ k₀: {13, 24, 4, 3, 0, 9, 17, 25}
من S₁: الأكثر تكراراً X → k₁ محتملة: {19, 4, 13, ...}
من S₂: الأكثر تكراراً W → k₂ محتملة: {18, ...}
نجرب كل تركيبة (8³=512 احتمال) على أول بضعة حروف.
الفائز: (k₀=24, k₁=4, k₂=18) → الكلمة = YES ✅
التحقق: فك التشفير بمفتاح YES
R=17 − Y=24 → 17−24 = −7 ≡ 19 = T ✅
L=11 − E=4 → 7 = H ✅
W=22 − S=18 → 4 = E ✅ → "THE..."
التحليل الإحصائي للشفرات البسيطة
استخدام تكرار الحروف والثنائيات والثلاثيات لكسر الشفرة
جدول تكرار الحروف الإنجليزية (مرتباً تنازلياً)
أو بترتيب تنازلي: E - T - A - O - I - N - S - H - R
مثال عملي: كسر شفرة استبدال بسيطة بالإحصاء
نحسب التكرارات:
W=16 ظهور، F=9، V=8، D=7، L=6، H=5، O=5...
W هو الأكثر تكراراً → على الأرجح يمثّل E
الثاني F → على الأرجح T أو A أو O
نستبدل: W→E, F→T, V→A, D→O, L→N...
"LWVOL" → "N_EON" → "NEON"... نكمل التخمين بالكلمات الجزئية
نبحث عن الثنائيات: WH, HW, VW → تقابل EH, HE, AE... (TH هي أشيع ثنائية → نبحث عنها)
أشيع الثنائيات (Digraphs)
| الثنائية | الترتيب |
|---|---|
| TH | 1 |
| HE | 2 |
| IN | 3 |
| ER | 4 |
| AN | 5 |
أشيع الثلاثيات (Trigraphs)
| الثلاثية | الترتيب |
|---|---|
| THE | 1 |
| ING | 2 |
| AND | 3 |
| HER | 4 |
| ENT | 5 |
مؤشر التوافق (Index of Coincidence)
تحديد نوع الخوارزمية المستخدمة قبل كسرها
شفرة استبدال أحادية (Mono-alphabetic)
أو شفرة تبديل (Transposition)
التوزيع "خشن" مثل النص الأصلي
شفرة استبدال متعددة (Poly-alphabetic)
كفيجنير بمفتاح طويل
التوزيع "مسطّح" وعشوائي
Ic > 0.065 → خوارزمية أحادية (Mono)
Ic < 0.065 (قريب من 0.038) → خوارزمية متعددة (Poly)
Ic ≈ 0.065 بالضبط → تبديل (Transposition)
المثال من الملزمة: حساب Ic كاملاً
جدول التكرارات:
| الحرف | التكرار (F) | F(F-1) | الحرف | التكرار (F) | F(F-1) |
|---|---|---|---|---|---|
| A | 11 | 110 | N | 6 | 30 |
| B | 1 | 0 | O | 11 | 110 |
| C | 4 | 12 | P | 5 | 20 |
| D | 4 | 12 | Q | 0 | 0 |
| E | 24 | 552 | R | 8 | 56 |
| F | 3 | 6 | S | 10 | 90 |
| G | 1 | 0 | T | 10 | 90 |
| H | 4 | 12 | U | 1 | 0 |
| I | 3 | 6 | V | 1 | 0 |
| J | 1 | 0 | W | 2 | 2 |
| K | 1 | 0 | X | 3 | 6 |
| L | 3 | 6 | Y | 1 | 0 |
| M | 1 | 0 | Z | 1 | 0 |
الحساب:
n(n-1) = 120 × 119 = 14280
Ic = 1110 / 14280 = 0.0777
استخدام Ic لتحديد طول مفتاح فيجنير
حيث N = طول النص, Ic = مؤشر التوافق المحسوب
k ≈ (0.0265×100) / ((99×0.045) − (0.065×100) + 0.0385)
k ≈ 2.65 / (4.455 − 6.5 + 0.0385) = 2.65 / (−2.006) ... نجرب k=2 و k=3
ملخص استراتيجية الكسر الكاملة
احسب Ic لتحديد نوع الخوارزمية (أحادية / متعددة / تبديل)
إذا كانت تبديل (Transposition): جرّب أبعاد المصفوفة المختلفة وابحث عن كلمات في الصفوف
إذا كانت أحادية (Mono): استخدم جدول التكرارات وقارن بالحروف الإنجليزية الشائعة ETAOINSH
إذا كانت متعددة (Poly): طبّق كاسيسكي/Ic لإيجاد طول المفتاح، ثم حلّل كل مجموعة منفردة
تحقق: النص المفكوك يجب أن يكون منطقياً ومقروءاً