سيكون هذا النص أحد الفصول المعاد كتابتها عن دليل حماية المعلومات في قسم هندسة الراديو وأنظمة التحكم ، وكذلك من قانون التدريب هذا ، قسم حماية المعلومات في MIPT (GU). البرنامج التعليمي الكامل متاح على جيثب (انظر أيضًا مسودات الإصدارات ). حول Habrir أخطط لتحميل مقاطع "كبيرة" جديدة ، أولاً ، لجمع التعليقات والملاحظات المفيدة ، وثانياً ، لإعطاء المجتمع المزيد من المواد النظرية العامة حول مواضيع مفيدة ومثيرة للاهتمام.المواضيع السابقة:إذا كانت هناك قناة اتصال بين Alice و Bob والتي لا يمكن الوصول إليها من قبل المهاجمين لتعديلها (أي عندما يكون نموذج تشفير المحلل السلبي هو الساري فقط) ، فحتى بدون تبادل أولي للمفاتيح السرية أو غيرها من المعلومات ، يمكنك استخدام الأفكار المستخدمة مسبقًا في تشفير المفتاح العام. بعد وصف RSA في عام 1978 ، اقترح عدي شامير في عام 1980 استخدام أنظمة التشفير على أساس العمليات التبادلية لنقل المعلومات دون تبادل المفاتيح السرية أولاً. إذا افترضنا أن المعلومات المرسلة هي مفتاح جلسة سرية تم إنشاؤه بواسطة أحد الأطراف ، فبصفة عامة نحصل على بروتوكول التمريرات الثلاثة التالي.
قبل:
- ترتبط أليس وبوب بواسطة قناة اتصال غير آمنة ، مفتوحة للاستماع (ولكن ليس للتعديل) من قبل المهاجم.
- كل جانب لديه زوج من المفاتيح العامة والخاصة KA . kA . KB . kB على التوالي.
- اختارت الأطراف واستخدمت وظيفة التشفير التبادلية:
\ تبدأ {array} {lll} D_ {A} \ left (E_ {A} \ left (X \ right) \ right) = X & \ forall X، \ left \ {K_A، k_a \ right \}؛ \\ E_ {A} \ left (E_ {B} \ left (X \ right) \ right) = E_B \ left (E_A \ left (X \ right) \ right) & \ forall ~ K_A ، K_B ، X. \ نهاية {مجموعة}
\ تبدأ {array} {lll} D_ {A} \ left (E_ {A} \ left (X \ right) \ right) = X & \ forall X، \ left \ {K_A، k_a \ right \}؛ \\ E_ {A} \ left (E_ {B} \ left (X \ right) \ right) = E_B \ left (E_A \ left (X \ right) \ right) & \ forall ~ K_A ، K_B ، X. \ نهاية {مجموعة}
يتكون البروتوكول من ثلاثة تمريرات مع إرسال الرسائل (وبالتالي الاسم) وواحد أخير ، يتلقى بوب المفتاح عليه.
- أليس تختار مفتاح جلسة جديد K
Alice \ to \ left \ {E_A \ left (K \ right) \ right \} \ إلى BobAlice \ to \ left \ {E_A \ left (K \ right) \ right \} \ إلى Bob - Bob \ to \ left \ {E_B \ left (E_A \ left (K \ right) \ right) \ right \} \ إلى AliceBob \ to \ left \ {E_B \ left (E_A \ left (K \ right) \ right) \ right \} \ إلى Alice
- أليس ، باستخدام تبعية وظيفة التشفير ،
DA يسار(EB يسار(EA يسار(K يمين) يمين) يمين)=DA يسار(EA يسار(EB يسار(K يمين) يمين) يمين)=EB يسار(K اليمين).
Alice \ to \ left \ {E_B \ left (K \ right) \ right \} \ إلى BobAlice \ to \ left \ {E_B \ left (K \ right) \ right \} \ إلى Bob - بوب فك تشفير DB left(EB left(K right) right)=K
نتيجة لذلك ، يتلقى الطرفان مفتاح سري مشترك.
K .
العيب المشترك لجميع هذه البروتوكولات هو عدم مصادقة الأطراف. بالطبع ، في حالة وجود أداة تشفير تشفير سلبية ، هذا ليس مطلوبًا ، ولكن في الواقع لا تزال بحاجة إلى التفكير في جميع الطرز الممكنة (بما في ذلك أداة تشفير تشفير نشطة) واستخدام البروتوكولات التي تنطوي على مصادقة متبادلة للأطراف. أيضًا ، على عكس مخطط Diffie - Hellman ، يتم اختيار المفتاح الجديد بواسطة بادئ الجلسة ، مما يسمح للمبادر ، وليس بحسن نية ، بإجبار المشارك الثاني على استخدام مفتاح الجلسة القديم.
عند التحدث
فيما يتعلق بخصائص الأمان ، يعلن جميع ممثلي هذه الفئة من البروتوكولات عن المصادقة الأساسية فقط (G7). على عكس مخطط Diffie - Hellman ، لا تتطلب بروتوكولات ثلاثة ممرات اختيار مفاتيح "رئيسية" جديدة لكل جلسة بروتوكول ، وهذا هو السبب في أنه لا يمكن ضمان السرية المباشرة المثالية (G9) ولا تشكيل مفاتيح جديدة (G10).
خيار تافهة
دعنا نعطي مثالاً على بروتوكول يستند إلى دالة XOR (معامل إضافة bitwise 2). على الرغم من أنه يمكن استخدام هذه الوظيفة كأساس لبناء أنظمة ذات قوة تشفير مثالية ، إلا أنه يعد خيارًا سيئًا بالنسبة لبروتوكولات الثلاث تمريرات.
قبل بدء البروتوكول ، يكون لدى الطرفين مفاتيح سرية.
KA و
KB تمثل متواليات ثنائية عشوائية مع توزيع موحد من الشخصيات. يتم تعريف وظيفة التشفير كما
Ei(X)=X oplusKi حيث
X هذه الرسالة كذلك
Ki - المفتاح السري. ومن الواضح أن:
foralli،j،X:Ei left(Ej left(X right) right)=X oplusKj oplusKi=X oplusKi oplusKj=Ej left(Ei left(X اليمين) اليمين)
- أليس تختار مفتاح جلسة جديد K
Alice \ to \ left \ {E_A \ left (K \ right) = K \ oplus K_A \ right \} \ إلى BobAlice \ to \ left \ {E_A \ left (K \ right) = K \ oplus K_A \ right \} \ إلى Bob - Bob \ to \ left \ {E_B \ left (E_A \ left (K \ right) \ right) = K \ oplus K_A \ oplus K_B \ right \} \ إلى AliceBob \ to \ left \ {E_B \ left (E_A \ left (K \ right) \ right) = K \ oplus K_A \ oplus K_B \ right \} \ إلى Alice
- أليس ، باستخدام تبعية وظيفة التشفير ،
DA left(EB left(EA left(K right) right) right)=K oplusKA oplusKB oplusKA=K oplusKB=EB left(K right).
Alice \ to \ left \ {E_B \ left (K \ right) = K \ oplus K_B \ right \} \ إلى BobAlice \ to \ left \ {E_B \ left (K \ right) = K \ oplus K_B \ right \} \ إلى Bob - بوب فك تشفير DB left(EB left(K right) right)=K oplusKB oplusKB=K
في نهاية جلسة البروتوكول ، يعرف أليس وبوب مفتاح الجلسة العامة
K .
الاختيار المقترح لوظيفة التشفير التبادلية للسرية الكاملة غير ناجح ، حيث توجد حالات يمكن فيها لمشفّر التشفير تحديد المفتاح
K . لنفترض أن أداة التشفير المشفرة اعترضت الرسائل الثلاث:
K oplusKA، K oplusKA oplusKB، K oplusKB.
إضافة Modulo 2 لجميع الرسائل الثلاث يعطي المفتاح
K . لذلك ، لا يتم استخدام نظام التشفير هذا.
نقدم الآن بروتوكول النقل الموثوق للمفتاح السري ، استنادًا إلى وظيفة التشفير الأسي (التبادلي). يرتبط استقرار هذا البروتوكول بصعوبة مهمة حساب اللوغاريتم المنفصل: للقيم المعروفة
y،g،p اكتشاف
x من المعادلة
y=gx bmodp .
شامير بروتوكول بدون مفتاح
تتفق الأطراف مبدئيا على البرايم الكبير
p sim21024 . يختار كل طرف مفتاحًا سريًا.
دولا و
ب . هذه المفاتيح أصغر وبسيطة للطرفين.
ف−1دولا . أيضا ، أعدت الأطراف وفقا لعدد خاص
a′ و
b′ التي تسمح لهم بفك تشفير رسالة مشفرة باستخدام مفتاحهم:
startarrayla′=a−1 mod(p−1)،a timesa′=1 mod(p−1)، forallX:(Xa)a′=X. endarray
التعبير الأخير صحيح من خلال النتيجة النظرية الصغيرة لمؤشر Fermat \ index {theorem! المزرعة صغيرة}. يتم تعريف عمليات التشفير وفك التشفير على النحو التالي:
\ تبدأ {array} {lll} \ forall M <p: & C = E (M) = M ^ {a} & \ mod p، \\ & D (C) = C ^ {a '} & \ mod p، \\ & D_A (E_A (M)) = M ^ {aa '} = M & \ mod p. \\ \ end {array}
\ تبدأ {array} {lll} \ forall M <p: & C = E (M) = M ^ {a} & \ mod p، \\ & D (C) = C ^ {a '} & \ mod p، \\ & D_A (E_A (M)) = M ^ {aa '} = M & \ mod p. \\ \ end {array}
- أليس تختار مفتاح جلسة جديد K<p
Alice \ to \ left \ {E_A \ left (K \ right) = K ^ a \ bmod p \ right \} \ إلى BobAlice \ to \ left \ {E_A \ left (K \ right) = K ^ a \ bmod p \ right \} \ إلى Bob - Bob \ to \ left \ {E_B \ left (E_A \ left (K \ right) \ right) = K ^ {ab} \ bmod p \ right \} \ إلى AliceBob \ to \ left \ {E_B \ left (E_A \ left (K \ right) \ right) = K ^ {ab} \ bmod p \ right \} \ إلى Alice
- أليس ، باستخدام تبعية وظيفة التشفير ،
DA left(EB left(EA left(K right) right) right)=Kaba′=Kb=EB left(K right) modp.
Alice \ to \ left \ {E_B \ left (K \ right) = K ^ b \ right \} \ إلى BobAlice \ to \ left \ {E_B \ left (K \ right) = K ^ b \ right \} \ إلى Bob - بوب فك تشفير DB left(EB left(K right) right)=Kbb′ bmodp=K
في نهاية جلسة البروتوكول ، يعرف أليس وبوب مفتاح الجلسة العامة
K .
لنفترض أن أداة تشفير التشفير قد اعترضت ثلاث رسائل:
تبدأarrayly1=Ka bmodp،y2=Kab bmodp،y3=Kb bmodp. endarray
للعثور على المفتاح
K ، يحتاج المحلل الشفري إلى حل نظام من هذه المعادلات الثلاث ، التي تتمتع بتعقيد حسابي كبير للغاية ، وهو أمر غير مقبول من الناحية العملية ، إذا كانت الأرقام الثلاثة جميعها
a،b،ab كبير جدا افترض ذلك
دولا (أو
ب ) لا يكفي. ثم ، الحوسبة درجات متتالية
y3دولا (أو
y1 ) ، يمكن العثور عليها
دولا (أو
ب ) ، مقارنة النتيجة مع
y2دولا . معرفة
دولا من السهل العثور عليها
a−1 bmod(p−1) و
K=(y1)a−1 bmodp .
Massey-Omura Cryptosystem
في عام 1982 ، قدم جيمس ماسي وجيم أومورا براءة اختراع (جيمس ماسي ، جيم ك. أومورا) ، لتحسين (في رأيهم) بروتوكول بدون مفتاح لشامير. كعملية تشفير بدلاً من الأس في مجموعة مضاعفة
mathbbZ∗p اقترحوا استخدام الأس في مجال جالوا
mathbbGF2n . المفتاح السري لكل حزب (لأليس -
دولا ) يجب أن تستوفي الشروط:
تبدأarrayla in mathbbGF2n،gfd left(a،xn−1+xn−2+...+x+1 right)=1. endarray
خلاف ذلك ، فإن البروتوكول يشبه.
خاتمة
سيكون المؤلف ممتنًا للتعليقات الواقعية وغيرها من التعليقات على النص.