ICE (شفرة)

في علم التشفير ، يُعدّ محرك إخفاء المعلومات ( ICE ) خوارزمية تشفير متناظرة المفتاح، نشرها ماثيو كوان عام ١٩٩٧. تشبه هذه الخوارزمية في بنيتها خوارزمية DES ، ولكن مع إضافة تبديل بتات يعتمد على المفتاح في دالة الجولة. يُنفّذ تبديل البتات هذا بكفاءة عالية في البرمجيات. خوارزمية ICE غير خاضعة لبراءات اختراع، وقد أُتيح رمزها المصدري للعموم.

ICE هي شبكة فيستل بحجم كتلة 64 بت. تستخدم خوارزمية ICE القياسية مفتاحًا بطول 64 بت وتتكون من 16 جولة. أما النسخة السريعة، Thin-ICE ، فتستخدم 8 جولات فقط. بينما تستخدم النسخة المفتوحة، ICE -n ، 16n جولة بمفتاح طوله 64n بت .

حاول فان رومباي وآخرون (1998) تطبيق التحليل التشفيري التفاضلي على خوارزمية ICE. وصفوا هجومًا على خوارزمية Thin-ICE يستعيد المفتاح السري باستخدام 2 ^23 نصًا عاديًا مختارًا باحتمالية نجاح 25%. ويمكن تحسين الاحتمالية إلى 95% باستخدام 2 ^27 نصًا عاديًا مختارًا. أما بالنسبة للنسخة القياسية من خوارزمية ICE، فقد وُجد هجومٌ على 15 جولة من أصل 16، يتطلب 2^ 56 عملية، وبحد أقصى 2^ 56 نصًا عاديًا مختارًا.

بناء

ICE عبارة عن شبكة Feistel مكونة من 16 جولة . تستخدم كل جولة دالة F من 32 إلى 32 بت، والتي تستخدم 60 بت من مادة المفتاح.

إن بنية الدالة F تشبه إلى حد ما بنية DES: يتم توسيع المدخلات عن طريق أخذ الحقول المتداخلة، ويتم إجراء عملية XOR بين المدخلات الموسعة ومفتاح، ويتم تغذية النتيجة إلى عدد من صناديق S المختزلة التي تقوم بإلغاء التوسيع.

أولاً، يقوم ICE بتقسيم المدخلات إلى 4 قيم متداخلة مكونة من 10 بتات. وهي البتات 30 و31 و0-7 من المدخلات للقيمة الأولى المكونة من 10 بتات، وللقيم التالية 6-15 و14-23 و22-31.

ثانيًا، هناك تبديل مُفهرس، وهو خاص بـ ICE. باستخدام مفتاح فرعي للتبديل مكون من 20 بت، يتم تبديل البتات بين نصفي المدخل الموسع المكون من 40 بت. (إذا كانت قيمة البت i في المفتاح الفرعي تساوي 1، فسيتم تبديل البتات i و i + 20).

ثالثًا، يتم إجراء عملية XOR للقيمة المكونة من 40 بت مع 40 بتًا إضافيًا للمفتاح الفرعي.

رابعًا، يتم تمرير القيمة عبر 4 صناديق استبدال (S-boxes) ذات 10 بتات، ينتج كل منها 8 بتات من المخرجات. (هذه أكبر بكثير من صناديق الاستبدال الثمانية (S-boxes) الخاصة بـ DES ذات 6 بتات إلى 4 بتات).

خامساً، يتم تبديل بتات إخراج صندوق S بحيث يتم توجيه مخرجات كل صندوق S إلى كل حقل من حقول 4 بت من كلمة 32 بت، بما في ذلك 2 من بتات "التداخل" الثمانية التي تم تكرارها أثناء توسيع الجولة التالية.

على غرار DES، يقوم تطبيق البرمجيات عادةً بتخزين مربعات S-boxes مُرتبة مسبقًا، في 4 جداول بحث 1024×32 بت.

مراجع

  • ماثيو كوان، تصميم خوارزمية تشفير ICE، التشفير السريع للبرمجيات 1997 ، الصفحات  69-82.
  • بارت فان رومباي، لارس ر. كنودسن وفينسنت ريجمان، التحليل التفاضلي لخوارزمية تشفير ICE، التشفير السريع للبرمجيات 1998، ص 270-283 ( PDF) .