🔓 تحليل الشفرة — كسر الشفرات

دليل شامل وتفصيلي لجميع أساليب كسر التشفير مع أمثلة عملية خطوة بخطوة

⚔️

أنواع هجمات التحليل

تصنيف الهجمات حسب المعلومات المتاحة للمحلل

🔍
Ciphertext Only Attack
المحلل يملك النص المشفر فقط — الأصعب.
يعتمد على الإحصاء والتخمين.
📋
Known Plaintext Attack
المحلل يملك نصاً عادياً ونظيره المشفر.
يستخدم لاستنتاج المفتاح.
✏️
Chosen Plaintext Attack
المحلل يختار النص ليُشفَّر.
أقوى من Known Plaintext.
🔨
Brute Force Attack
تجربة جميع المفاتيح الممكنة.
ضعيف مع المفاتيح الكبيرة.

📌 مثال عملي: Brute Force على تشفير قيصر

التشفير بقيصر له 26 مفتاحاً فقط — يمكن تجربتها جميعاً بسهولة:

النص المشفر KHOOR ZRUOG
المفتاح kالنتيجةهل منطقية؟
1JGNNQ YQTNF
2IFMMP XPSME
3HELLO WORLD✅ وُجد!
4GDKKN VNQKC
النص الأصلي المكتشف
HELLO WORLD — المفتاح = 3
🔀

كسر شفرات التبديل (Transposition)

Columnar Transposition — Double Transposition — Scytale

💡
المبدأ الأساسي: في التبديل، الحروف نفسها موجودة لكنها مُرتَّبة بطريقة مختلفة. لذا تبقى تكرارات الحروف مطابقة للنص الأصلي — وهذا هو مفتاح الكشف.

1. كسر التبديل العمودي (Columnar Transposition)

الفكرة: نعرف أن النص المشفر هو قراءة أعمدة مصفوفة. لكسره نجرب عدد الأعمدة الذي هو مقسم لعدد الحروف.

النص المشفر SHGEEHELTTIX

عدد الحروف = 12 → المقسِّمات: 2، 3، 4، 6

1

نجرب 4 أعمدة (12 ÷ 4 = 3 صفوف)، نضع الحروف في الأعمدة:

S
E
E
T
H
E
L
I
G
H
T
X
2

نقرأ الصفوف: S-E-E-T / H-E-L-I / G-H-T-X

3

نحصل على: SEETHELIGHT — منطقي! ✅

النص الأصلي المكتشف
SEETHELIGHT — عدد الأعمدة (المفتاح) = 4

2. كسر التبديل بكلمة مفتاحية (Keyword Columnar)

النص المشفر (45 حرفاً) VOESA IVENE MRTNL EANGE WTNIM HTMEE ADLTR NISHO DWOEH
1

45 حرفاً → الأبعاد الممكنة: 9×5 أو 5×9 أو 15×3 أو 3×15

2

نجرب مصفوفة 9 صفوف × 5 أعمدة، نضع النص بالأعمدة (العمود 0 ثم 1 ثم ...):

العمود 0العمود 1العمود 2العمود 3العمود 4
VEGMI
OMEES
ERWEH
STTAO
ANNDD
ILILW
VEMTO
EAHRE
NNTNH
3

نحاول تبديل الأعمدة حتى تظهر كلمة في السطر الأول.
نجرب ترتيب الأعمدة: 2, 4, 0, 1, 3 → السطر الأول: G-I-V-E-M ← يبدأ بـ GIVE!

4

هذا يعني المفتاح = 24013 (ترتيب الأعمدة الأبجدي).

النص الأصلي المكتشف
GIVE ME SOMEWHERE TO STAND AND I WILL MOVE THE EARTH

3. كسر التبديل المضاعف (Double Transposition) — تقنية Divide & Conquer

الحيلة: بدلاً من تخمين المفتاح كاملاً دفعة واحدة، نكسره على مرحلتين:
أولاً نتراجع عن تبديل الأعمدة → ثم نتراجع عن تبديل الصفوف. هذا يقلل الاحتمالات من N! إلى مرحلتين منفصلتين.
النص المشفر NADWTKCAATAT
1

نضع النص في مصفوفة 3×4: N-A-D-W / T-K-C-A / A-T-A-T

2

نجرب تبديلات الأعمدة حتى نحصل على كلمات جزئية.
نجرب (3,1,0,2): W-A-D-N / A-A-C-T / T-T-A-A → أعمدة أصبحت ATTACK... ✅

3

بعد إلغاء تبديل الأعمدة نجرب تبديل الصفوف (2,1,0):
نحصل على: A-T-T-A / C-K-A-T / D-A-W-N

النص الأصلي المكتشف
ATTACKATDAWN
👑

كسر شفرة قيصر (Caesar Cipher)

26 مفتاحاً فقط — يُكسر بالقوة الغاشمة أو تحليل التكرار

📐
معادلة الفك: p = (c − k) mod 26
حيث c = قيمة الحرف المشفر (A=0, B=1,...Z=25)، k = مقدار الإزاحة

مثال عملي كامل

النص المشفر WKH TXLFN EURZQ IRA
1

نحسب تكرار الحروف: 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)
لا يوجد حرف واضح الهيمنة لأن النص قصير → نلجأ للقوة الغاشمة

2

نجرب k=3: W→T, K→H, H→E → "THE" ✅ كلمة إنجليزية شائعة!

3

نطبق k=3 على الجميع: WKH→THE, TXLFN→QUICK, EURZQ→BROWN, IRA→FOX

المشفرالقيمة−3النتيجة
W2222−3=19T
K1010−3=7H
H77−3=4E
T1919−3=16Q
X2323−3=20U
L1111−3=8I
النص الأصلي المكتشف
THE QUICK BROWN FOX — المفتاح = 3
🧮

كسر الشفرة الأفينية (Affine Cipher)

e(x) = ax + b (mod 26) — 312 مفتاحاً فقط

🔑
طريقة الكسر: نفترض أن أكثر حرفين تكراراً في النص المشفر يقابلان E و T في الإنجليزية (أو حسب الجدول الإحصائي)، ثم نحل معادلتين بمجهولين a و b.

المثال من الملزمة خطوة بخطوة

النص المشفر FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPR KDLYEVLRHHRH

الخطوة 1: حساب التكرارات

R
8
D
7
E
5
H
5
K
5
F
4
S
4
V
4

الخطوة 2: وضع الفرضيات

R=17 هو الأكثر تكراراً → يُرجَّح أنه يقابل e (القيمة=4)

D=3 ثاني أكثر تكراراً → يُرجَّح أنه يقابل t (القيمة=19)

e_K(4) = 17 → 4a + b = 17
e_K(19) = 3 → 19a + b = 3
1

نطرح: 15a = -14 mod 26 → 15a = 12 mod 26
نجد: a = 6 ← لكن gcd(6,26)=2 ≠ 1 → مفتاح غير صالح! ❌

2

الفرضية الثانية: R=e, E=t (E القيمة=4, E يقابل t=19)
4a+b=17, 4a+b=4... → a=13 ← gcd(13,26)=13 → غير صالح! ❌

3

الفرضية الثالثة: R=e, H=t → H قيمته 7
4a+b=17, 19a+b=7 → 15a=−10 mod 26 → a=8 → gcd(8,26)=2 → غير صالح! ❌

4

الفرضية الرابعة: R=e, K=t → K قيمته 10
4a+b=17, 10a+b=19 (عكس: نكتشف أن K=19 بالترتيب للحروف) →
حل المعادلتين: a=3, b=5 → gcd(3,26)=1 ✅ صالح!

الخطوة 3: دالة الفك

d_K(y) = a⁻¹(y − b) mod 26
المعكوس الضربي لـ 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
النص الأصلي المكتشف — المفتاح (a=3, b=5)
ALGORITHMS ARE QUITE GENERAL DEFINITION SO FAR ARITHMETIC PROCESSES
🗝️

كسر شفرة فيجنير (Vigenère Cipher)

اختبار كاسيسكي + مؤشر التوافق لاكتشاف طول المفتاح

🎯
الاستراتيجية:
1. نكتشف طول المفتاح باختبار كاسيسكي أو مؤشر التوافق
2. نقسّم النص لمجموعات بحجم طول المفتاح
3. نحلل كل مجموعة كـ شفرة قيصر منفصلة

اختبار كاسيسكي (Kasiski Test)

إذا تكررت مجموعة حروف في النص المشفر، فالمسافة بين التكرارين تقبل القسمة على طول المفتاح.

مثال IVIVYGARMLMYIVIKFDIVIFRL (مشفّر بكلمة مفتاحية POETRY — 6 حروف)
1

نبحث عن التكرارات: IVI يظهر في المواضع 0، 12، 18

2

المسافات: 12−0=12، 18−12=6

3

GCD(12, 6) = 6 → طول المفتاح المحتمل = 6 أو قسيم منه (2، 3)

كسر فيجنير خطوة بخطوة (مفتاح 3 حروف)

النص المشفر RLWRV MRLAQ EDUEQ QWGKI LFMFE XZYXA QXGJH FMXKM QWRLA LKLFE...
1

فرضنا طول المفتاح = 3، نقسّم النص 3 مجموعات:

S₀ = الحرف 0, 3, 6, 9, ... → نحسب تكرارات كل مجموعة

2

من جدول S₀: الأكثر تكراراً R → نفترض R = E → k₀ = R−E = 17−4 = 13 أو...

نجرب القيم المحتملة لـ k₀: {13, 24, 4, 3, 0, 9, 17, 25}

3

من S₁: الأكثر تكراراً X → k₁ محتملة: {19, 4, 13, ...}

4

من S₂: الأكثر تكراراً W → k₂ محتملة: {18, ...}

5

نجرب كل تركيبة (8³=512 احتمال) على أول بضعة حروف.

الفائز: (k₀=24, k₁=4, k₂=18) → الكلمة = YES

التحقق: فك التشفير بمفتاح YES

p_i = (c_i − k_{i mod 3}) mod 26
R=17 − Y=24 → 17−24 = −7 ≡ 19 = T ✅
L=11 − E=4 → 7 = H ✅
W=22 − S=18 → 4 = E ✅ → "THE..."
النص الأصلي المكتشف — المفتاح YES
THE TRUTH IS ALWAYS SOMETHING THAT IS TOLD, NOT SOMETHING THAT IS KNOWN...
📊

التحليل الإحصائي للشفرات البسيطة

استخدام تكرار الحروف والثنائيات والثلاثيات لكسر الشفرة

جدول تكرار الحروف الإنجليزية (مرتباً تنازلياً)

E
12.7%
T
9.1%
A
8.2%
O
7.5%
I
7.0%
N
6.7%
S
6.3%
H
6.1%
R
6.0%
💡
قاعدة ETNORIAS: تذكّر الحروف الأكثر شيوعاً بكلمة "SENORITA"
أو بترتيب تنازلي: E - T - A - O - I - N - S - H - R

مثال عملي: كسر شفرة استبدال بسيطة بالإحصاء

النص المشفر LWVOL QVWAT DOLOH HLDAW VWPTV FHWDW RSVWO DNTVA WRWDF HWHFO RLFWK LFJLF FLQOT DHFVW DMFBW DFWVO DMSTX VHWAF TVPKA QLVCW
1

نحسب التكرارات:
W=16 ظهور، F=9، V=8، D=7، L=6، H=5، O=5...
W هو الأكثر تكراراً → على الأرجح يمثّل E

2

الثاني F → على الأرجح T أو A أو O

3

نستبدل: W→E, F→T, V→A, D→O, L→N...
"LWVOL" → "N_EON" → "NEON"... نكمل التخمين بالكلمات الجزئية

4

نبحث عن الثنائيات: WH, HW, VW → تقابل EH, HE, AE... (TH هي أشيع ثنائية → نبحث عنها)

أشيع الثنائيات (Digraphs)

الثنائيةالترتيب
TH1
HE2
IN3
ER4
AN5

أشيع الثلاثيات (Trigraphs)

الثلاثيةالترتيب
THE1
ING2
AND3
HER4
ENT5
📐

مؤشر التوافق (Index of Coincidence)

تحديد نوع الخوارزمية المستخدمة قبل كسرها

Ic = Σ Fᵢ(Fᵢ − 1) / n(n − 1)
🔵
Ic ≈ 0.065
شفرة استبدال أحادية (Mono-alphabetic)
أو شفرة تبديل (Transposition)
التوزيع "خشن" مثل النص الأصلي
🟠
Ic ≈ 0.038
شفرة استبدال متعددة (Poly-alphabetic)
كفيجنير بمفتاح طويل
التوزيع "مسطّح" وعشوائي
📌
قاعدة القرار:
Ic > 0.065 → خوارزمية أحادية (Mono)
Ic < 0.065 (قريب من 0.038) → خوارزمية متعددة (Poly)
Ic ≈ 0.065 بالضبط → تبديل (Transposition)

المثال من الملزمة: حساب Ic كاملاً

النص المشفر (120 حرف) EEAHR RFOWW TGDTE SCHES ROEST EMCNEAOOTL AKNEE TSSEO AVXNC STPOO OEOEATASBI OAEER AXHEE RADNF PSINO ISEAURPNED XEPSE PFCDL LZTER JAETY RETHE

جدول التكرارات:

الحرفالتكرار (F)F(F-1)الحرفالتكرار (F)F(F-1)
A11110N630
B10O11110
C412P520
D412Q00
E24552R856
F36S1090
G10T1090
H412U10
I36V10
J10W22
K10X36
L36Y10
M10Z10

الحساب:

ΣF(F-1) = 110+0+12+12+552+6+0+12+6+0+0+6+0+30+110+20+56+90+90+0+0+2+6+0+0+0 = 1110

n(n-1) = 120 × 119 = 14280

Ic = 1110 / 14280 = 0.0777
النتيجة
Ic = 0.077 > 0.065 → خوارزمية استبدال أحادية (Mono-alphabetic) ✅

استخدام Ic لتحديد طول مفتاح فيجنير

k ≈ (0.0265 × N) / ((N-1) × Ic − 0.065N + 0.0385)
حيث N = طول النص, Ic = مؤشر التوافق المحسوب
🧪
مثال: إذا كان Ic = 0.045 ونص بطول 100 حرف:
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

ملخص استراتيجية الكسر الكاملة

1

احسب Ic لتحديد نوع الخوارزمية (أحادية / متعددة / تبديل)

2

إذا كانت تبديل (Transposition): جرّب أبعاد المصفوفة المختلفة وابحث عن كلمات في الصفوف

3

إذا كانت أحادية (Mono): استخدم جدول التكرارات وقارن بالحروف الإنجليزية الشائعة ETAOINSH

4

إذا كانت متعددة (Poly): طبّق كاسيسكي/Ic لإيجاد طول المفتاح، ثم حلّل كل مجموعة منفردة

5

تحقق: النص المفكوك يجب أن يكون منطقياً ومقروءاً