حشو التشفير غير المتماثل الأمثل
في علم التشفير ، يُعدّ التشفير الأمثل غير المتماثل ( OAEP ) أسلوبًا للتشفير يُستخدم غالبًا مع تشفير RSA . وقد طُوّر OAEP بواسطة بيلار وروغواي [1]، ثمّ تمّ توحيده لاحقًا في PKCS #1 v2 وRFC 2437.
خوارزمية OAEP هي شكل من أشكال شبكة فيستل التي تستخدم زوجًا من أوراكل عشوائية G و H لمعالجة النص الأصلي قبل التشفير غير المتماثل . عند دمجها مع أي تبديل أحادي الاتجاه آمن ذي باب خلفيأثبتت هذه المعالجة في نموذج أوراكل العشوائي أنها تُنتج مخططًا مُدمجًا يتمتع بأمان دلالي ضد هجوم النص الصريح المُختار (IND-CPA) . وعند تطبيقها باستخدام تباديل أبواب خلفية مُعينة (مثل RSA)، ثبت أيضًا أن OAEP آمن ضد هجوم النص المُشفّر المُختار. ويمكن استخدام OAEP لبناء تحويل الكل أو لا شيء .
يحقق برنامج OAEP الهدفين التاليين:
- أضف عنصرًا من العشوائية يمكن استخدامه لتحويل مخطط تشفير حتمي (مثل RSA التقليدي ) إلى مخطط احتمالي .
- منع فك التشفير الجزئي للنصوص المشفرة (أو أي تسريب آخر للمعلومات) من خلال ضمان عدم قدرة الخصم على استعادة أي جزء من النص الأصلي دون أن يكون قادراً على عكس التبديل أحادي الاتجاه للباب الخلفي..
أظهرت النسخة الأصلية من OAEP (بيلار/روغواي، 1994) شكلاً من أشكال " الوعي بالنص الصريح " (والذي زعموا أنه يعني الحماية من هجوم النص المشفر المُختار ) في نموذج أوراكل العشوائي عند استخدام OAEP مع أي تبديل ذي باب خلفي. لكن النتائج اللاحقة تناقضت مع هذا الادعاء، مُظهرةً أن OAEP كان آمنًا فقط وفقًا لمعيار IND-CCA1 . مع ذلك، ثبت أن المخطط الأصلي في نموذج أوراكل العشوائي آمن وفقًا لمعيار IND-CCA2 عند استخدام OAEP مع تبديل RSA باستخدام أسس التشفير القياسية، كما هو الحال في RSA-OAEP. [ 2 ] وقدّم فيكتور شوب مخططًا مُحسّنًا (يُسمى OAEP+) يعمل مع أي تبديل أحادي الاتجاه ذي باب خلفي لحل هذه المشكلة. [ 3 ] أظهرت دراسات حديثة أنه في النموذج القياسي (أي عندما لا يتم نمذجة دوال التجزئة كأوراكل عشوائي) يستحيل إثبات أمان IND-CCA2 لخوارزمية RSA-OAEP في ظل الصعوبة المفترضة لمسألة RSA . [ 4 ] [ 5 ]
الخوارزمية

في الرسم التوضيحي،
- MGF هي دالة توليد القناع ، وعادةً ما تكون MGF1.
- Hash هي دالة التجزئة المختارة ،
- يمثل hLen طول ناتج دالة التجزئة بالبايتات.
- يمثل k طول معامل RSA n بالبايت،
- M هي الرسالة المراد إضافة الحشو إليها، بطول mLen (على الأكثر)بايت)،
- L عبارة عن تسمية اختيارية يتم ربطها بالرسالة (التسمية عبارة عن سلسلة فارغة افتراضيًا ويمكن استخدامها للتحقق من صحة البيانات دون الحاجة إلى التشفير).
- PS عبارة عن سلسلة بايت منبايتات فارغة.
- ⊕ هي عملية XOR .
التشفير
تحدد RFC 8017 [ 6 ] لـ PKCS#1 v2.2 مخطط OAEP على النحو التالي للترميز:
- قم بتجزئة التسمية L باستخدام دالة التجزئة المختارة:
- قم بإنشاء سلسلة حشو PS تتكون منالبايتات (0x00 و 0x01).
- قم بدمج lHash و PS والبايت المفرد 0x01 والرسالة M لتشكيل كتلة بيانات DB :يبلغ طول كتلة البيانات هذهبايت.
- قم بإنشاء بذرة عشوائية بطول hLen .
- استخدم دالة توليد القناع لإنشاء قناع بالطول المناسب لكتلة البيانات:
- قم بإخفاء كتلة البيانات باستخدام القناع المُنشأ:
- استخدم دالة توليد القناع لإنشاء قناع بطول hLen للبذرة:
- قم بإخفاء البذرة باستخدام القناع المُنشأ:
- الرسالة المشفرة (المحشوة) هي البايت 0x00 المدمج مع maskedSeed و maskedDB :
فك التشفير
تتم عملية فك التشفير عن طريق عكس الخطوات المتخذة في خوارزمية التشفير:
- قم بتجزئة التسمية L باستخدام دالة التجزئة المختارة:
- لعكس الخطوة 9، قم بتقسيم الرسالة المشفرة EM إلى البايت 0x00، والبذرة المقنعة (بطول hLen )، وقاعدة البيانات المقنعة :
- قم بإنشاء قناع البذور الذي تم استخدامه لإخفاء البذور :
- لعكس الخطوة 8، استعد البذرة باستخدام seedMask :
- قم بإنشاء dbMask الذي تم استخدامه لإخفاء كتلة البيانات:
- لعكس الخطوة 6، استعد كتلة البيانات DB:
- لعكس الخطوة 3، قم بتقسيم كتلة البيانات إلى أجزائها:.
- تحقق من التالي:
- lHash' يساوي lHash المحسوب
- يتكون PS فقط من البايتات 0x00
- يتم فصل PS و M بواسطة البايت 0x01 و
- البايت الأول من EM هو البايت 0x00.
- إذا لم يتم استيفاء أي من هذه الشروط، فإن الحشو يكون غير صالح.
- تحقق من التالي:
الاستخدام في RSA: يمكن تشفير الرسالة المشفرة باستخدام RSA. يتم الآن تجنب خاصية الحتمية في RSA باستخدام ترميز OAEP لأن البذرة يتم توليدها عشوائيًا وتؤثر على الرسالة المشفرة بأكملها.
حماية
تكمن ميزة الأمان " الكل أو لا شيء " في أنه لاستعادة M ، يجب استعادة قاعدة البيانات المقنّعة بالكامل ووحدة البذرة المقنّعة بالكامل ؛ إذ تُستلزم قاعدة البيانات المقنّعة لاستعادة البذرة من وحدة البذرة المقنّعة ، وتُستلزم البذرة لاستعادة كتلة البيانات DB من قاعدة البيانات المقنّعة . وبما أن أي تغيير في بتّ التشفير يُغيّر النتيجة تمامًا، فيجب استعادة قاعدة البيانات المقنّعة بالكامل ووحدة البذرة المقنّعة بالكامل.
تطبيق
في معيار PKCS#1، تكون مصادر البيانات العشوائية متطابقة. ويشترط معيار PKCS#1 كذلك أن تكون مصادر البيانات العشوائية من نوع MGF1 مع دالة تجزئة مناسبة. [ 7 ]
انظر أيضاً
مراجع
- ↑ م. بيلار ، ب. روغاواي . التشفير غير المتماثل الأمثل - كيفية التشفير باستخدام RSA . ملخص موسع في كتاب "التطورات في علم التشفير - وقائع مؤتمر يورو كريبت 94"، سلسلة محاضرات في علوم الحاسوب ، المجلد 950، تحرير أ. دي سانتيس، دار نشر سبرينغر ، 1995. النسخة الكاملة (pdf)
- ↑ إييتشيرو فوجيساكي، تاتسواكي أوكاموتو، ديفيد بوينتشيفال، وجاك ستيرن . RSA - OAEP آمن بموجب افتراض RSA . في: ج. كيليان (محرر)، التقدم في علم التشفير - CRYPTO 2001، المجلد 2139 من سلسلة محاضرات في علوم الحاسوب، سبرينغر فيرلاغ، 2001. النسخة الكاملة (pdf)
- ↑ فيكتور شوب. إعادة النظر في OAEP . مختبر أبحاث IBM زيورخ، ساومر شتراسه 4، 8803 روشليكون، سويسرا. 18 سبتمبر 2001. النسخة الكاملة (pdf)
- ↑ P. Paillier and J. Villar, Trading One-Wayness against Chosen-Ciphertext Security in Factoring-Based Encryption , Advances in Cryptology – Asiacrypt 2006.
- ↑ د. براون، ما هي التجزئات التي تجعل RSA-OAEP آمنًا؟، IACR ePrint 2006/233.
- ↑ "عملية التشفير" . PKCS #1: مواصفات تشفير RSA، الإصدار 2.2 . IETF . نوفمبر 2016. ص 22. القسم 7.1.1. doi : 10.17487/RFC8017 . RFC 8017. تاريخ الاسترجاع: 4 يونيو 2022 .
- ↑ براون، دانيال آر إل (2006). "ما هي التجزئات التي تجعل RSA-OAEP آمنًا؟" (ملف PDF) . أرشيف IACR للمطبوعات الإلكترونية في علم التشفير . تم الاطلاع عليه بتاريخ 3 أبريل 2019 .
- أنظمة التشفير بالمفتاح العام
- خوارزميات الحشو
