هجوم بيكليك

هجوم البيكليك هو أحد أشكال أسلوب تحليل التشفير القائم على الالتقاء في المنتصف (MITM [ 1 ] ) . يستخدم هذا الهجوم بنية البيكليك لزيادة عدد الجولات التي يمكن استهدافها بواسطة هجوم MITM. وبما أن تحليل التشفير بالبيكليك يعتمد على هجمات MITM، فإنه قابل للتطبيق على كلٍ من تشفيرات الكتل ودوال التجزئة (المتكررة) . من المعروف أن هجمات البيكليك قد أضعفت كلاً من تشفير AES الكامل [ 2 ] وتشفير IDEA الكامل [ 3 ] ، وإن كان ذلك بميزة طفيفة فقط على أسلوب القوة الغاشمة. كما طُبقت هذه الهجمات على تشفير KASUMI ومقاومة الصورة المسبقة لدوال التجزئة Skein-512 و SHA-2 [ 4 ] .

لا يزال هجوم الزمرة الثنائية قائماً ( حتى أبريل 2019).) أفضل هجوم معروف علنًا باستخدام مفتاح واحد على خوارزمية التشفير المتقدمة (AES) . التعقيد الحسابي لهذا الهجوم هو2126.1{\displaystyle 2^{126.1}}،2189.7{\displaystyle 2^{189.7}}و2254.4{\displaystyle 2^{254.4}}بالنسبة لـ AES128 وAES192 وAES256 على التوالي. وهو الهجوم الوحيد المعروف علنًا على AES باستخدام مفتاح واحد والذي يستهدف العدد الكامل من الجولات. [ 2 ] استهدفت الهجمات السابقة متغيرات ذات جولات مخفضة (عادةً متغيرات مخفضة إلى 7 أو 8 جولات).

نظراً لأن التعقيد الحسابي للهجوم هو2126.1{\displaystyle 2^{126.1}}على الرغم من أن هذا الهجوم نظري، إلا أنه يعني أن أمان خوارزمية التشفير المتقدمة (AES) لم يُخترق، وأن استخدامها لا يزال آمنًا نسبيًا. ومع ذلك، يُعد هجوم "بيكليك" هجومًا مثيرًا للاهتمام، إذ يُشير إلى نهج جديد لتحليل التشفير على خوارزميات التشفير الكتلية. كما كشف هذا الهجوم عن معلومات إضافية حول خوارزمية AES، حيث أثار تساؤلات حول هامش الأمان في عدد الجولات المستخدمة فيها.

تاريخ

اقترح ديفي وهيلمان هجوم الوسيط (MITM ) لأول مرة عام 1977، عندما ناقشا الخصائص التحليلية لخوارزمية DES. [ 5 ] جادلا بأن حجم المفتاح صغير جدًا، وأن إعادة تطبيق DES عدة مرات بمفاتيح مختلفة قد يكون حلاً لمشكلة حجم المفتاح؛ ومع ذلك، نصحا بعدم استخدام DES المزدوج واقترحا DES الثلاثي كحد أدنى، نظرًا لهجمات الوسيط (يمكن تطبيق هجمات الوسيط بسهولة على DES المزدوج لتقليل مستوى الأمان).256*2{\displaystyle 2^{56*2}}إلى مجرد2*256{\displaystyle 2*2^{56}}، حيث يمكن للمرء بشكل مستقل اختراق تشفير DES الأول والثاني باستخدام أسلوب التجربة والخطأ إذا كان لديه النص الأصلي والنص المشفر).

منذ أن اقترح ديفي وهيلمان هجمات الوسيط، ظهرت العديد من الصيغ المختلفة المفيدة في الحالات التي لا يُمكن فيها تطبيق هجوم الوسيط الأساسي. اقترح ديمتري خوفاتوفيتش وريشبيرغر وسافيلييفا أولًا صيغة هجوم الثنائيات لاستخدامها مع تحليل التشفير باستخدام دوال التجزئة. [ 6 ] ومع ذلك، كان بوغدانوف وخوفاتوفيتش وريشبيرغر هم من أوضحوا كيفية تطبيق مفهوم الثنائيات على إعدادات المفتاح السري، بما في ذلك تحليل تشفير الكتل، عندما نشروا هجومهم على معيار التشفير المتقدم (AES). قبل ذلك، لم تحظَ هجمات الوسيط على معيار التشفير المتقدم (AES) والعديد من تشفيرات الكتل الأخرى باهتمام يُذكر، ويعود ذلك في الغالب إلى الحاجة إلى بتات مفتاح مستقلة بين "تشفيرَي الوسيط الفرعيين" لتسهيل هجوم الوسيط - وهو أمر يصعب تحقيقه مع العديد من جداول المفاتيح الحديثة، مثل جدول مفاتيح معيار التشفير المتقدم (AES).

الشلل الثنائي

للحصول على شرح عام لماهية بنية البيكليك، انظر مقالة البيكليك .

في هجوم الوسيط، تكون بتات المفتاحك1{\displaystyle K_{1}}وك2{\displaystyle K_{2}}يجب أن تكون القيم الوسيطة، التي تنتمي إلى التشفير الفرعي الأول والثاني، مستقلة؛ أي يجب أن تكون مستقلة عن بعضها البعض، وإلا فلن يكون من الممكن حساب القيم الوسيطة المتطابقة للنص الأصلي والنص المشفر بشكل مستقل في هجوم الوسيط (توجد أنواع مختلفة من هجمات الوسيط، حيث يمكن أن تشترك الكتل في بتات المفتاح. انظر هجوم الوسيط بثلاث مجموعات فرعية ). غالبًا ما يصعب استغلال هذه الخاصية على مدى عدد كبير من الجولات، نظرًا لانتشار التشفير المستهدف.

ببساطة: كلما زاد عدد جولات الهجوم، زادت قوة التشفيرات الفرعية. وكلما زادت قوة التشفيرات الفرعية، قلّ عدد بتات المفاتيح المستقلة التي يجب فك تشفيرها بشكل مستقل بين التشفيرات الفرعية. بالطبع، يعتمد العدد الفعلي لبتات المفاتيح المستقلة في كل تشفير فرعي على خصائص انتشار جدول المفاتيح.

تتمثل الطريقة التي تساعد بها المجموعة الثنائية في معالجة ما سبق في أنها تسمح، على سبيل المثال، بمهاجمة 7 جولات من AES باستخدام هجمات MITM، ثم باستخدام بنية المجموعة الثنائية بطول 3 (أي أنها تغطي 3 جولات من التشفير)، يمكنك تعيين الحالة الوسيطة في بداية الجولة 7 إلى نهاية الجولة الأخيرة، على سبيل المثال 10 (إذا كان AES128)، وبالتالي مهاجمة العدد الكامل من جولات التشفير، حتى لو لم يكن من الممكن مهاجمة هذا العدد من الجولات بهجوم MITM أساسي.

يكمن معنى "الثنائية" في بناء بنية فعّالة قادرة على ربط قيمة وسيطة في نهاية هجوم الوسيط بالنص المشفر النهائي. ويعتمد النص المشفر الذي تُربط به الحالة الوسيطة في النهاية على المفتاح المستخدم في التشفير. ويستند المفتاح المستخدم لربط الحالة بالنص المشفر في الثنائية إلى بتات المفتاح التي تم اختراقها في الشفرة الفرعية الأولى والثانية من هجوم الوسيط.

لذا، فإن جوهر هجمات البيكليك، بالإضافة إلى هجوم الوسيط، هو القدرة على بناء بنية بيكليك بشكل فعال، وذلك اعتمادًا على بتات المفاتيح.ك1{\displaystyle K_{1}}وك2{\displaystyle K_{2}}يمكن ربط حالة وسيطة معينة بالنص المشفر المقابل.

كيفية بناء الزمرة الثنائية

القوة الغاشمة

يحصل2د{\displaystyle 2^{d}}[ 7 ] حالات وسيطة [ 8 ] و2د{\displaystyle 2^{d}}بعد ذلك، يتم حساب المفاتيح التي تربط قيمة وسيطة واحدة بجميع النصوص المشفرة [ 9 ] . ثم تُكرر عملية ربط المفاتيح "من واحد إلى متعدد" لجميع القيم الوسيطة.

تتطلب عملية رسم الخرائط هذه(2د)عدد الحالات الوسيطة(2د)عدد النصوص المشفرة لكل محطة وسيطة.=2د+د=22د{\displaystyle (2^{d})_{\text{عدد الحالات الوسيطة}}\cdot (2^{d})_{\text{عدد النصوص المشفرة لكل حالة وسيطة}}=2^{d+d}=2^{2d}}عمليات استعادة المفاتيح، حيث يجب ربط كل حالة وسيطة بجميع النصوص المشفرة (وليس بنص مشفر واحد فقط). [ 10 ]

(تم اقتراح هذه الطريقة من قبل بوغدانوف وخوفراتوفيتش وريشبيرغر في ورقتهم البحثية: تحليل التشفير الثنائي لخوارزمية AES الكاملة [ 2 ] )

تمهيد: تذكر أن وظيفة المجموعة الثنائية هي تعيين القيم الوسيطة،S{\displaystyle S}، إلى قيم النص المشفر،ج{\displaystyle C}، بناءً على المفتاحك[أنا،ج]{\displaystyle K[i,j]}بحيث: أنا،ج:Sجوك[أنا،ج]جأنا{\displaystyle \forall i,j:S_{j}{\xrightarrow[{f}]{K[i,j]}}C_{i}}

الإجراء: الخطوة الأولى: حالة وسيطة (S0{\displaystyle S_{0}}), نص مشفر(ج0{\displaystyle C_{0}}) ومفتاح(ك[0،0]{\displaystyle K[0,0]}يتم اختيار ) بحيث:S0وك[0،0]جo{\displaystyle S_{0}{\xrightarrow[{f}]{K[0,0]}}C_{o}}، أينو{\displaystyle f}هي الدالة التي تربط حالة وسيطة بنص مشفر باستخدام مفتاح معين. ويُشار إلى هذا باسم الحساب الأساسي.

الخطوة الثانية: مجموعتان من المفاتيح ذات الصلة بحجم2د{\displaystyle 2^{d}}يتم اختيارها. يتم اختيار المفاتيح بحيث:

  • المجموعة الأولى من المفاتيح هي مفاتيح، والتي تفي بالمتطلبات التفاضلية التالية علىو{\displaystyle f}فيما يتعلق بالحساب الأساسي:0وΔأناكΔأنا{\displaystyle 0{\xrightarrow[{f}]{\Delta _{i}^{K}}}\Delta _{i}}
  • أما المجموعة الثانية من المفاتيح فهي مفاتيح، والتي تفي بالمتطلبات التفاضلية التالية علىو{\displaystyle f}فيما يتعلق بالحساب الأساسي:جوجك0{\displaystyle \nabla _{j}{\xrightarrow[{f}]{\nabla _{j}^{K}}}0}
  • يتم اختيار المفاتيح بحيث تكون آثار ...Δأنا{\displaystyle \Delta _{i}}- وج{\displaystyle \nabla _{j}}-التفاضلات مستقلة - أي أنها لا تشترك في أي مكونات غير خطية نشطة.

بمعنى آخر: يجب أن يُقابل فرق الإدخال الذي يساوي صفرًا فرقًا في الإخراج يساويΔأنا{\displaystyle \Delta _{i}}في ظل اختلاف رئيسي يتمثل فيΔأناك{\displaystyle \Delta _{i}^{K}}جميع الفروقات تتعلق بالحساب الأساسي. فرق الإدخال هوج{\displaystyle \nabla _{j}}ينبغي أن يُقابل ذلك فرقًا في المخرجات يساوي صفرًا في ظل فرق رئيسي قدرهجك{\displaystyle \nabla _{J}^{K}}جميع الاختلافات تتعلق بالحساب الأساسي.

الخطوة الثالثة: بما أن المسارات لا تشترك في أي مكونات غير خطية (على سبيل المثال، المسارات التي لا تشترك في أي صناديق S )، يمكن دمج المسارات للحصول على: 0وΔأناكΔأناجوجك0=جوΔأناكجكΔأنا{\displaystyle 0{\xrightarrow[{f}]{\Delta _{i}^{K}}}\Delta _{i}\oplus \nabla _{j}{\xrightarrow[{f}]{\nabla _{j}^{K}}}0=\nabla _{j}{\xrightarrow[{f}]{\Delta _{i}^{K}\oplus \nabla _{j}^{K}}}\Delta _{i}}، وهو ما يتوافق مع تعريفات كلا التفاضلين من الخطوة 2. من السهل ملاحظة أن المجموعة [ 11 ](S0،ج0،ك[0،0]){\displaystyle (S_{0},C_{0},K[0,0])}انطلاقًا من الحساب الأساسي، يتوافق أيضًا بحكم التعريف مع كلا التفاضلين، كما هو الحال بالنسبة للتفاضلين بالنسبة للحساب الأساسي. بالتعويضS0،ج0{\displaystyle S_{0},C_{0}}ك[0،0]{\displaystyle K[0,0]}سيؤدي إدخال أي من التعريفين إلى0و00{\displaystyle 0{\xrightarrow[{f}]{0}}0}منذΔ0=0،0=0{\displaystyle \Delta _{0}=0,\nabla _{0}=0}وΔ0ك=0{\displaystyle \Delta _{0}^{K}=0}وهذا يعني أنه يمكن أيضًا تطبيق عملية XOR على مجموعة البيانات الخاصة بالحساب الأساسي مع المسارات المدمجة :S0جوك[0،0]Δأناكجكج0Δأنا{\displaystyle S_{0}\oplus \nabla _{j}{\xrightarrow[{f}]{K[0,0]\oplus \Delta _{i}^{K}\oplus \nabla _{j}^{K}}}C_{0}\oplus \Delta _{i}}

الخطوة الرابعة: من السهل ملاحظة ما يلي: Sج=S0ج{\displaystyle S_{j}=S_{0}\oplus \nabla _{j}}ك[أنا،ج]=ك[0،0]Δأناكجك{\displaystyle K[i,j]=K[0,0]\oplus \Delta _{i}^{K}\oplus \nabla _{j}^{K}}جأنا=ج0Δأنا{\displaystyle C_{i}=C_{0}\oplus \Delta _{i}} إذا تم استبدال هذا في مسارات التفاضل المجمعة أعلاه، فستكون النتيجة كالتالي: Sجوك[أنا،ج]جأنا{\displaystyle S_{j}{\xrightarrow[{f}]{K[i,j]}}C_{i}}وهو نفس التعريف الذي ورد سابقًا أعلاه للثنائية:أنا،ج:Sجوك[أنا،ج]جأنا{\displaystyle \forall i,j:S_{j}{\xrightarrow[{f}]{K[i,j]}}C_{i}}

وبالتالي، من الممكن إنشاء مجموعة ثنائية من الحجم22د{\displaystyle 2^{2d}}(22د{\displaystyle 2^{2d}}منذ كل2د{\displaystyle 2^{d}}يمكن دمج مفاتيح المجموعة الأولى من المفاتيح مع2د{\displaystyle 2^{d}}(مفاتيح من المجموعة الثانية من المفاتيح). وهذا يعني مجموعة ثنائية من الحجم22د{\displaystyle 2^{2d}}يمكن إنشاؤها باستخدام2*2د{\displaystyle 2*2^{d}}حسابات التفاضلاتΔأنا{\displaystyle \Delta _{i}}وج{\displaystyle \nabla _{j}}زيادةو{\displaystyle f}. لوΔأناج{\displaystyle \Delta _{i}\neq \nabla _{j}}لأنا+ج>0{\displaystyle i+j>0}ثم جميع المفاتيحك[أنا،ج]{\displaystyle K[i,j]}سيكون الأمر مختلفًا أيضًا في المجموعة الثنائية.

بهذه الطريقة يتم بناء المجموعة الثنائية في هجوم المجموعة الثنائية الرائد على معيار التشفير المتقدم (AES). توجد بعض القيود العملية في بناء المجموعات الثنائية باستخدام هذه التقنية. فكلما زاد طول المجموعة الثنائية، زاد عدد الجولات التي يجب أن تغطيها مسارات التشفير التفاضلية. ولذلك، تلعب خصائص انتشار التشفير دورًا حاسمًا في فعالية بناء المجموعة الثنائية.

طرق أخرى لبناء الزمرة الثنائية

يصف بوغدانوف وخوفراتوفيتش وريشبيرغر أيضًا طريقة أخرى لإنشاء biclique، تسمى "التشابك بين المسارات التفاضلية ذات المفاتيح ذات الصلة" في المقالة: "تحليل التشفير Biclique لـ AES الكامل [ 2 ] ".

إجراء تحليل التشفير Biclique

الخطوة الأولى: يقوم المهاجم بتجميع جميع المفاتيح الممكنة في مجموعات فرعية من المفاتيح بحجم22د{\displaystyle 2^{2d}}بالنسبة للبعضد{\displaystyle d}، حيث يتم فهرسة المفتاح في المجموعة على النحو التاليك[أنا،ج]{\displaystyle K[i,j]}في مصفوفة بحجم2د×2د{\displaystyle 2^{d}\times 2^{d}}يقوم المهاجم بتقسيم الشفرة إلى شفرتين فرعيتين.و{\displaystyle f}وز{\displaystyle g}(بحيثهـ=وز{\displaystyle E=f\circ g}كما هو الحال في هجوم الوسيط العادي. مجموعة المفاتيح لكل تشفير فرعي لها عدد من العناصر.2د{\displaystyle 2^{d}}ويسمىك[أنا،0]{\displaystyle K[i,0]}وك[0،ج]{\displaystyle K[0,j]}يتم التعبير عن المفتاح المدمج للشفرات الفرعية باستخدام المصفوفة المذكورة أعلاهك[أنا،ج]{\displaystyle K[i,j]}.

الخطوة الثانية: يقوم المهاجم ببناء ثنائيات لكل مجموعة من22د{\displaystyle 2^{2d}}المفاتيح. المجموعة الثنائية هي من البعد د، لأنها تُسقط2د{\displaystyle 2^{d}}الدول الداخلية،Sج{\displaystyle S_{j}}، ل2د{\displaystyle 2^{d}}النصوص المشفرة،جأنا{\displaystyle C_{i}}، استخدام22د{\displaystyle 2^{2d}}المفاتيح. يقترح قسم "كيفية بناء المجموعة الثنائية" كيفية بناء المجموعة الثنائية باستخدام "التفاضلات المستقلة ذات المفاتيح المرتبطة". في هذه الحالة، تُبنى المجموعة الثنائية باستخدام تفاضلات مجموعة المفاتيح.ك[أنا،0]{\displaystyle K[i,0]}وك[0،ج]{\displaystyle K[0,j]}، التي تنتمي إلى الشفرات الفرعية.

الخطوة الثالثة: المهاجم يأخذ2د{\displaystyle 2^{d}}النصوص المشفرة المحتملة،جأنا{\displaystyle C_{i}}ويطلب من وسيط فك التشفير تزويده بالنصوص الأصلية المطابقة،Pأنا{\displaystyle P_{i}}.

الخطوة الرابعة: يختار المهاجم حالة داخلية،Sج{\displaystyle S_{j}}والنص الأصلي المقابل،Pأنا{\displaystyle P_{i}}وينفذ هجوم الوسيط المعتاد علىو{\displaystyle f}وز{\displaystyle g}عن طريق الهجوم من الحالة الداخلية والنص الصريح.

الخطوة الخامسة: كلما تم العثور على مرشح رئيسي مطابقSج{\displaystyle S_{j}}معPأنا{\displaystyle P_{i}}يتم اختبار هذا المفتاح على زوج آخر من النص العادي/المشفر. إذا تم التحقق من صحة المفتاح على الزوج الآخر، فمن المرجح جدًا أنه المفتاح الصحيح.

مثال على الهجوم

يستند المثال التالي إلى هجوم "البيكليك" على خوارزمية AES، والوارد في ورقة بحثية بعنوان "تحليل تشفير البيكليك لخوارزمية AES الكاملة [ 2 ] ". يستخدم المثال المصطلحات نفسها التي استخدمها واضعو الهجوم (مثل أسماء المتغيرات، إلخ). ولتبسيط الأمر، سنتناول أدناه الهجوم على نسخة AES128. يتكون الهجوم من سبع جولات من نوع MITM، حيث يغطي هجوم البيكليك الجولات الثلاث الأخيرة.

تقسيم المفاتيح

يتم تقسيم مساحة المفاتيح إلى2112{\displaystyle 2^{112}}مجموعات من المفاتيح، حيث تتكون كل مجموعة من216{\displaystyle 2^{16}}المفاتيح. لكل منها2112{\displaystyle 2^{112}}المجموعات، مفتاح أساسي فريدك[0،0]{\displaystyle K[0,0]}يتم اختيار الحساب الأساسي. يحتوي المفتاح الأساسي على بايتين محددين مضبوطين على الصفر، كما هو موضح في الجدول أدناه (والذي يمثل المفتاح بنفس الطريقة التي يمثل بها AES المفتاح في مصفوفة 4x4 لـ AES128):

[---00-----------]{\displaystyle {\begin{bmatrix}-&-&-&0\\0&-&-&-\\-&-&-&-\\-&-&-&-\end{bmatrix}}}

ثم يتم تعداد الـ 14 بايت المتبقية (112 بت) من المفتاح. وهذا ينتج عنه2112{\displaystyle 2^{112}}مفاتيح أساسية فريدة؛ مفتاح واحد لكل مجموعة مفاتيح. المفاتيح العادية216{\displaystyle 2^{16}}ثم يتم اختيار المفاتيح في كل مجموعة بناءً على مفتاحها الأساسي. ويتم اختيارها بحيث تكون متطابقة تقريبًا مع المفتاح الأساسي، ولا تختلف عنه إلا في بايتين فقط (إماأنا{\displaystyle i}'s أو الـج{\displaystyle j}'s) من البايتات الأربعة الموضحة أدناه:

[--أناأناج-ج---------]{\displaystyle {\begin{bmatrix}-&-&i&i\\j&-&j&-\\-&-&-&-\\-&-&-&-\end{bmatrix}}}

هذا يعطي28ك[أنا،0]{\displaystyle 2^{8}K[i,0]}و28ك[0،ج]{\displaystyle 2^{8}K[0,j]}، وهو ما يعطي مجتمعاً216{\displaystyle 2^{16}}مفاتيح مختلفة،ك[أنا،ج]{\displaystyle K[i,j]}. هؤلاء216{\displaystyle 2^{16}}تشكل المفاتيح المفاتيح الموجودة في المجموعة لمفتاح أساسي معين.

بناء ثنائي

2112{\displaystyle 2^{112}}يتم بناء ثنائيات المفاتيح باستخدام تقنية "التفاضلات المستقلة ذات المفاتيح المرتبطة"، كما هو موضح في قسم "كيفية بناء ثنائيات المفاتيح". ويشترط لاستخدام هذه التقنية ألا تشترك مسارات التفاضل الأمامية والخلفية التي يجب دمجها في أي عناصر غير خطية فعالة. كيف يُعرف أن هذا هو الحال؟ نظرًا للطريقة التي يتم بها اختيار المفاتيح في الخطوة 1 بالنسبة للمفتاح الأساسي، فإن مسارات التفاضلΔأنا{\displaystyle \Delta _{i}}باستخدام المفاتيحك[أنا،0]{\displaystyle K[i,0]}لا تشارك أبدًا أي صناديق S نشطة (وهي المكون غير الخطي الوحيد في AES)، مع المسارات التفاضليةج{\displaystyle \nabla _{j}}باستخدام المفتاحك[0،ج]{\displaystyle K[0,j]}وبالتالي، من الممكن إجراء عملية XOR على المسارات التفاضلية وإنشاء المجموعة الثنائية.

هجوم الوسيط

عند إنشاء المجموعات الثنائية، يمكن البدء تقريبًا في هجوم الوسيط. قبل تنفيذ هجوم الوسيط،2د{\displaystyle 2^{d}}القيم الوسيطة من النص الأصلي: Pأناك[أنا،0]vأنا{\displaystyle P_{i}{\xrightarrow[{}]{K[i,0]}}{\xrightarrow[{v_{i}}]{}}}، ال2د{\displaystyle 2^{d}}القيم الوسيطة من النص المشفر: vجك[0،ج]Sج{\displaystyle {\xleftarrow[{v_{j}}]{}}{\xleftarrow[{}]{K[0,j]}}S_{j}}والحالات الوسيطة والمفاتيح الفرعية المقابلة.ك[أنا،0]{\displaystyle K[i,0]}أوك[0،ج]{\displaystyle K[0,j]}ومع ذلك، يتم حسابها مسبقًا وتخزينها.

الآن يمكن تنفيذ هجوم الوسيط. لاختبار مفتاحك[أنا،ج]{\displaystyle K[i,j]}، من الضروري فقط إعادة حساب أجزاء الشفرة، وهو أمر معروف أنه سيختلف بينPأناك[أنا،0]vأنا{\displaystyle P_{i}{\xrightarrow[{}]{K[i,0]}}{\xrightarrow[{v_{i}}]{}}}وPأناك[أنا،ج]vأنا{\displaystyle P_{i}{\xrightarrow[{}]{K[i,j]}}{\xrightarrow[{v_{i}}]{}}}. للحساب العكسي منSج{\displaystyle S_{j}}لvج{\displaystyle {\xleftarrow[{v_{j}}]{}}}هذا يعني وجود 4 صناديق استبدال (S-boxes) تحتاج إلى إعادة حساب. بالنسبة للحساب الأمامي منPأنا{\displaystyle P_{i}}لvأنا{\displaystyle {\xrightarrow[{v_{i}}]{}}}، إنها مجرد 3 (يمكن العثور على شرح مفصل لمقدار إعادة الحساب المطلوبة في ورقة "Biclique Cryptanalysis of the full AES [ 2 ] "، حيث تم أخذ هذا المثال منها).

عندما تتطابق القيم الوسيطة، يصبح المرشح مفتاحًا رئيسيًاك[أنا،ج]{\displaystyle K[i,j]}بينPأنا{\displaystyle P_{i}}وSج{\displaystyle S_{j}}يتم العثور على المفتاح المرشح. ثم يتم اختباره على زوج آخر من النص العادي/المشفر.

نتائج

يقلل هذا الهجوم من التعقيد الحسابي لخوارزمية AES128 إلى2126.18{\displaystyle 2^{126.18}}وهو أسرع من أسلوب القوة الغاشمة بمقدار 3 إلى 5 مرات. أما تعقيد البيانات في الهجوم فهو288{\displaystyle 2^{88}}وتعقيد الذاكرة هو28{\displaystyle 2^{8}}.

مراجع

  1. لا ينبغي الخلط بينه وبين هجوم الوسيط، والذي يُشار إليه أيضًا باسم MITM
  2. 1 2 3 4 5 6 بوغدانوف، أندريه؛ خوفراتوفيتش، ديمتري؛ ريشبيرغر، كريستيان. "تحليل التشفير الثنائي لخوارزمية AES الكاملة" (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 14-06-2012.
  3. ^ خوفراتوفيتش، ديمتري. لوران، غايتان؛ ريشبيرجر ، كريستيان (2012). "Bicliques الضيقة: تحليل تشفير الفكرة الكاملة" . يوروكريبت 2012 . ص 392 – 410. CiteSeerX 10.1.1.352.9346 .  
  4. ثنائيات الصور الأولية: هجمات على Skein-512 وعائلة SHA-2
  5. ديفي، ويتفيلد؛ هيلمان، مارتن إي. "تحليل تشفيري شامل لمعيار تشفير البيانات التابع للمكتب الوطني للمعايير" (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 3 مارس 2016. تم الاطلاع عليه بتاريخ 11 يونيو 2014 .
  6. خوفراتوفيتش، ديمتري؛ ريشبيرغر، كريستيان؛ سافيليفا، ألكسندرا. "المجموعات الثنائية للصور الأولية: هجمات على Skein-512 وعائلة SHA-2" (PDF) .
  7. د{\displaystyle d}يُفترض أن يكون الطول (كما هو مُستنتج من2[...]{\displaystyle 2^{[...]}}جزء،د{\displaystyle d}(بوحدات البتات أو البايتات ) لنص مشفر واحد، والذي، لأسباب تتعلق بالراحة في الغالب، يفترض أيضًا أن يكون له نفس طول الحالة الوسيطة التي أنشأت النص المشفر.
  8. أي، عمليات تشفير جزئية (قيد التنفيذ) لنص ما
  9. أي، عمليات تشفير كاملة لنص ما
  10. يبلغ التعقيد المكاني تقريبًا على نطاقدن2{\displaystyle d\cdot n^{2}}، أينن{\displaystyle n}هي كمية النصوص المشفرة (ود{\displaystyle d}(وهو مرة أخرى طول النص المشفر). ​​كماد{\displaystyle d}مع ازدياد حجم الذاكرة المطلوبة لتخزين هذه القيم بشكل طفيف، يزداد حجم الذاكرة المطلوبة لتخزينها بشكل كبير.
  11. باللغة الإنجليزية البسيطة، فإن tuple هو "قائمة من الأشياء" (ولكن حيث يكون ترتيب الأشياء مهمًا).