NTRUEncrypt
نظام التشفير بالمفتاح العام NTRUEncrypt ، المعروف أيضًا باسم خوارزمية تشفير NTRU ، هو بديل قائم على شبكة NTRU لـ RSA وتشفير المنحنى الإهليلجي ( ECC) ويعتمد على مشكلة أقصر متجه في الشبكة (والتي من غير المعروف أنها قابلة للكسر باستخدام أجهزة الكمبيوتر الكمومية ).
تعتمد هذه الطريقة على الصعوبة المفترضة لتحليل كثيرات حدود معينة في حلقة كثيرات حدود مقطوعة إلى خارج قسمة كثيرتي حدود بمعاملات صغيرة جدًا. يرتبط اختراق نظام التشفير ارتباطًا وثيقًا، وإن لم يكن مكافئًا له، بالمشكلة الخوارزمية لاختزال الشبكة في شبكات معينة . ويتطلب الأمر اختيارًا دقيقًا للمعاملات لإحباط بعض الهجمات المنشورة.
بما أن التشفير وفك التشفير يعتمدان فقط على ضرب كثيرات الحدود البسيطة، فإن هذه العمليات سريعة للغاية مقارنةً بأنظمة التشفير غير المتماثل الأخرى، مثل RSA و ElGamal وتشفير المنحنيات الإهليلجية . مع ذلك، لم يخضع NTRUEncrypt بعدُ لتحليل تشفيري مماثل في شكله المُطبَّق.
ومن الخوارزميات ذات الصلة خوارزمية التوقيع الرقمي NTRUSign .
وبشكلٍ أدق، تعتمد عمليات NTRU على الكائنات الموجودة في حلقة متعددة الحدود المقتطعةمع الضرب التلفيفي وجميع كثيرات الحدود في الحلقة لها معاملات صحيحة ودرجة لا تتجاوز N - 1:
الذي - التيفي هذه الحلقة يكون تأثير ضرب كثير الحدود بـيُدير معاملات متعددة الحدود. خريطة من الشكلمقابل مبلغ ثابتوبذلك ينتج متعدد حدود جديدحيث يعتمد كل معامل على عدد من المعاملات منحيث توجد معاملات غير صفرية في.
يحتوي NTRU على ثلاثة معاملات عددية صحيحة ( N ، p ، q )، حيث N هو حد درجة متعددة الحدود، و p يُسمى المعامل الصغير، و q يُسمى المعامل الكبير. يُفترض أن N عدد أولي ، وأن q دائمًا أكبر بكثير من p ، وأن p و q أوليان فيما بينهما . رسائل النص الأصلي هي متعددات حدود بتردد p، بينما رسائل النص المشفر هي متعددات حدود بتردد q . يتكون النص المشفر من رسالة النص الأصلي بالإضافة إلى مضاعف مُختار عشوائيًا للمفتاح العام، ولكن يمكن اعتبار المفتاح العام نفسه مضاعفًا للمعامل الصغير p ، مما يسمح لحامل المفتاح الخاص باستخراج النص الأصلي من النص المشفر.
تاريخ
يُعد نظام التشفير بالمفتاح العام NTRUEncrypt نظام تشفير حديث نسبيًا. طُوِّرت النسخة الأولى منه، والتي كانت تُعرف ببساطة باسم NTRU، حوالي عام 1996 على يد ثلاثة علماء رياضيات ( جيفري هوفستين ، وجيل بايفر ، وجوزيف هـ. سيلفرمان ). في عام 1996، أسس هؤلاء العلماء، بالتعاون مع دانيال ليمان، شركة NTRU Cryptosystems, Inc. وحصلوا على براءة اختراع [ 1 ] (انتهت صلاحيتها الآن) لنظام التشفير.
خلال السنوات العشر الماضية، عمل الباحثون على تطوير نظام التشفير. ومنذ عرضه الأول، أُدخلت بعض التعديلات لتحسين أدائه وأمانه. ركزت معظم تحسينات الأداء على تسريع العملية. وحتى عام ٢٠٠٥، توجد دراسات تصف حالات فشل فك تشفير NTRUEncrypt. أما فيما يخص الأمان، فمنذ الإصدار الأول من NTRUEncrypt، أُدخلت معايير جديدة تبدو آمنة ضد جميع الهجمات المعروفة حاليًا، مع زيادة معقولة في القدرة الحاسوبية.
أصبح النظام الآن معتمدًا بالكامل وفقًا لمعايير IEEE P1363 ضمن مواصفات التشفير بالمفتاح العام القائم على الشبكة ( IEEE P1363.1 ). ونظرًا لسرعة نظام التشفير بالمفتاح العام NTRUEncrypt (انظر http://bench.cr.yp.to للاطلاع على نتائج الاختبارات المعيارية) وانخفاض استهلاكه للذاكرة (انظر أدناه ) ، يُمكن استخدامه في تطبيقات مثل الأجهزة المحمولة والبطاقات الذكية . في أبريل 2011، اعتُمد NTRUEncrypt كمعيار X9.98، للاستخدام في قطاع الخدمات المالية. [ 2 ]
توليد المفتاح العام
يتطلب إرسال رسالة سرية من أليس إلى بوب إنشاء مفتاح عام ومفتاح خاص. المفتاح العام معروف لكل من أليس وبوب، بينما المفتاح الخاص معروف لبوب فقط. لإنشاء زوج المفاتيح، نحتاج إلى كثيرتي حدود f و g ، من الدرجة α على الأكثرويلزم وجود معاملات في المجموعة {-1، 0، 1}. ويمكن اعتبارها تمثيلات لفئات البواقي لكثيرات الحدود moduloفي لغة R. متعددة الحدوديجب أن يستوفي الشرط الإضافي المتمثل في وجود المعكوسين modulo q و modulo p (المحسوبين باستخدام خوارزمية إقليدس )، مما يعني أن ويجب أن يكون صحيحًا. لذلك عندما تكون الدالة f المختارة غير قابلة للعكس، يتعين على بوب العودة وتجربة دالة f أخرى .
كل من f و(و) هي المفتاح الخاص بـ Bob. يتم إنشاء المفتاح العام h عن طريق حساب الكمية
مثال : في هذا المثال، ستكون قيم المعاملات ( N ، p ، q ) هي N = 11، p = 3، و q = 32، وبالتالي فإن كثيرتي الحدود f و g من الدرجة 10 على الأكثر. معاملات النظام ( N ، p ، q ) معروفة للجميع. يتم اختيار كثيرتي الحدود عشوائيًا، لذا لنفترض أنهما ممثلتان بـ
باستخدام خوارزمية إقليدس، يتم حساب معكوس الدالة f بتردد p و بتردد q على التوالي.
مما يؤدي إلى إنشاء المفتاح العام h (المعروف لكل من أليس وبوب) لحساب الناتج
التشفير
أليس، التي تريد إرسال رسالة سرية إلى بوب، تضع رسالتها على شكل متعددة حدود m بمعاملات فيفي التطبيقات الحديثة للتشفير، يمكن ترجمة متعددة حدود الرسالة إلى تمثيل ثنائي أو ثلاثي. بعد إنشاء متعددة حدود الرسالة، تختار أليس عشوائيًا متعددة حدود r ذات معاملات صغيرة (غير مقيدة بالمجموعة {-1، 0، 1})، والتي تهدف إلى إخفاء الرسالة.
باستخدام المفتاح العام h الخاص بـ Bob، يتم حساب الرسالة المشفرة e :
هذا النص المشفر يخفي رسائل أليس ويمكن إرساله بأمان إلى بوب.
مثال : لنفترض أن أليس تريد إرسال رسالة يمكن كتابتها على شكل متعددة الحدود
ويمكن التعبير عن "قيمة التعتيم" المختارة عشوائياً على النحو التالي:
سيبدو النص المشفر e الذي يمثل رسالتها المشفرة إلى بوب كما يلي
فك التشفير
أي شخص يعرف قيمة r يمكنه حساب الرسالة m بتقييم e - rh ؛ لذا يجب ألا تكشف أليس عن قيمة r . بالإضافة إلى المعلومات المتاحة للعامة، يعرف بوب مفتاحه الخاص. إليك كيفية حصوله على m : أولًا، يضرب الرسالة المشفرة e في جزء من مفتاحه الخاص f.
بإعادة كتابة كثيرات الحدود، تمثل هذه المعادلة في الواقع العملية الحسابية التالية:
بدلاً من اختيار معاملات a بين 0 و q – 1، يتم اختيارها في الفترة [ -q /2, q /2] لمنع احتمال عدم استعادة الرسالة الأصلية بشكل صحيح، حيث تختار أليس إحداثيات رسالتها m في الفترة [-p / 2, p /2]. وهذا يعني أن جميع معاملاتتقع القيم بالفعل ضمن الفترة [-q / 2, q /2] لأن معاملات كثيرات الحدود r و g و f و m والعدد الأولي p صغيرة مقارنةً بـ q . هذا يعني أن جميع المعاملات تبقى دون تغيير أثناء عملية الاختزال modulo q، وبالتالي يمكن استعادة الرسالة الأصلية بشكل صحيح.
الخطوة التالية ستكون حساب باقي قسمة a على p :
لأن.
بمعرفة b، يستطيع بوب استخدام الجزء الآخر من مفتاحه الخاصلاستعادة رسالة أليس عن طريق ضرب b و
لأن العقاركان مطلوبا لـ.
مثال : تُضرب الرسالة المشفرة e من أليس إلى بوب في متعددة الحدود f
حيث يستخدم بوب الفترة [- q /2, q /2] بدلاً من الفترة [0, q – 1] لمعاملات كثير الحدود a لمنع عدم استعادة الرسالة الأصلية بشكل صحيح.
يؤدي تقليل معاملات mod p إلى
وهو ما يساوي.
في الخطوة الأخيرة، يتم ضرب النتيجة بـمن المفتاح الخاص بـ Bob للوصول إلى الرسالة الأصلية m
وهي بالفعل الرسالة الأصلية التي أرسلتها أليس إلى بوب!
الهجمات
منذ اقتراح NTRU، ظهرت عدة هجمات على نظام التشفير بالمفتاح العام NTRUEncrypt. تركز معظم هذه الهجمات على إحداث اختراق كامل من خلال إيجاد المفتاح السري f بدلاً من مجرد استعادة الرسالة m . إذا كان من المعروف أن f يحتوي على عدد قليل جدًا من المعاملات غير الصفرية، فيمكن لـ Eve شن هجوم القوة الغاشمة بنجاح عن طريق تجربة جميع قيم f . عندما تريد Eve معرفة ما إذا كان f هو المفتاح السري، فإنها ببساطة تحسبإذا كانت معاملاته صغيرة، فقد يكون هو المفتاح السري f ، ويمكن لإيف اختبار ما إذا كان f هو المفتاح السري باستخدامه لفك تشفير رسالة قامت بتشفيرها بنفسها. يمكن لإيف أيضًا تجربة قيم g واختبار ما إذا كان له قيم صغيرة.
من الممكن شن هجوم "الالتقاء في المنتصف" وهو أكثر فعالية، إذ يمكنه تقليص وقت البحث بمقدار الجذر التربيعي. يعتمد هذا الهجوم على الخاصية التالية:.
تريد حواء أن تجد وبحيثيمتلكون العقار وما إلى ذلك
إذا كان للدالة f عدد d من الواحدات و N - d من الأصفار، فإن حواء تُنشئ جميع الاحتمالات الممكنةوحيث يكون لكليهما طول(مثال)يغطيأقل معاملات f وأعلى قيمة) مع d /2 واحد. ثم تقوم بحسابللجميعوتقوم بترتيبها في صناديق بناءً على أول k إحداثيات. بعد ذلك، تحسب جميعويقوم بترتيبها في صناديق ليس فقط بناءً على أول k إحداثيات، ولكن أيضًا بناءً على ما يحدث إذا أضفت 1 إلى أول k إحداثيات. ثم تتحقق من الصناديق التي تحتوي على كليهماووتحقق مما إذا كان العقاريحجز.
يُعدّ هجوم اختزال الشبكة أحد أشهر الطرق وأكثرها عمليةً لكسر تشفير NTRUEncrypt. ويمكن تشبيهه، إلى حدٍّ ما، بتحليل المعامل في RSA. وتُعتبر خوارزمية Lenstra-Lenstra-Lovász الأكثر استخدامًا في هذا الهجوم . ولأن المفتاح العام h يحتوي على كلٍّ من f و g ، يُمكن محاولة استخراجهما منه . إلا أنه من الصعب للغاية إيجاد المفتاح السري عندما تكون معلمات NTRUEncrypt آمنةً بما يكفي. ويزداد هجوم اختزال الشبكة صعوبةً كلما زاد بُعد الشبكة وطول أقصر متجه.
يُعدّ هجوم النص المشفر المُختار أسلوبًا لاستعادة المفتاح السري f ، مما يؤدي إلى اختراق كامل. في هذا الهجوم، تحاول إيف استخراج رسالتها الخاصة من النص المشفر، وبالتالي الحصول على المفتاح السري. لا تتفاعل إيف مع بوب في هذا الهجوم.
كيف يعمل ؟
تقوم حواء الأولى بإنشاء نص مشفربحيثوعندما تدون إيف خطوات فك شفرة e (دون حساب القيم فعليًا لأنها لا تعرف f)، تجد:
في أي بحيث
مثال :
ثم يصبح K.
يؤدي تقليل معاملات mod p إلى تقليل معاملاتبعد الضرب بـ، تجد حواء:
بما أن c تم اختيارها لتكون من مضاعفات p ، يمكن كتابة m على النحو التالي:
وهذا يعني أن.
إذا كان للدالتين f و g عدد قليل من المعاملات المتطابقة عند نفس العوامل، فإن قيمة K ستكون صغيرة، وبالتالي تحتوي على عدد قليل من المعاملات غير الصفرية. وبتجربة قيم مختلفة لـ K، يستطيع المهاجم استعادة الدالة f .
من خلال تشفير وفك تشفير رسالة وفقًا لـ NTRUEncrypt، يمكن للمهاجم التحقق مما إذا كانت الدالة f هي المفتاح السري الصحيح أم لا.
تحسينات في الأمن والأداء
باستخدام أحدث المعايير المقترحة (انظر أدناه )، يُعد نظام التشفير بالمفتاح العام NTRUEncrypt آمنًا ضد معظم الهجمات. ومع ذلك، لا يزال هناك صراع قائم بين الأداء والأمان. فمن الصعب تحسين الأمان دون التأثير سلبًا على السرعة، والعكس صحيح.
إحدى طرق تسريع العملية دون الإضرار بفعالية الخوارزمية هي إجراء بعض التغييرات على المفتاح السري f . أولاً، قم بإنشاء f بحيثحيث F دالة كثيرة الحدود صغيرة (أي معاملاتها {-1، 0، 1}). وببناء f بهذه الطريقة، تصبح f قابلة للعكس بتردد p . في الواقعوهذا يعني أن بوب ليس مضطرًا لحساب المعكوس فعليًا، ولا لإجراء الخطوة الثانية من فك التشفير. لذا، فإن بناء f بهذه الطريقة يوفر الكثير من الوقت، ولكنه لا يؤثر على أمان NTRUEncrypt، لأنه يسهل فقط إيجاده.لكن استعادة f لا تزال صعبة. في هذه الحالة، تكون معاملات f مختلفة عن -1 أو 0 أو 1، بسبب الضرب في p . ولكن لأن بوب يضرب في p لتوليد المفتاح العام h ، ثم يُجري عملية الاختزال على النص المشفر بتردد p ، فلن يؤثر ذلك على طريقة التشفير.
ثانيًا، يمكن كتابة الدالة f كحاصل ضرب عدة كثيرات حدود، بحيث تحتوي كثيرات الحدود على العديد من المعاملات الصفرية. وبهذه الطريقة، تقل الحاجة إلى إجراء العمليات الحسابية.
وفقًا لتقرير NTRU NIST لعام 2020 [ 3 ] ، تُعتبر المعايير التالية آمنة:
الجدول 1: المعلمات
| شمال | q | ص | |
|---|---|---|---|
| هامش أمان 128 بت (NTRU-HPS) | 509 | 2048 | 3 |
| هامش أمان 192 بت (NTRU-HPS) | 677 | 2048 | 3 |
| هامش أمان 256 بت (NTRU-HPS) | 821 | 4096 | 3 |
| هامش أمان 256 بت (NTRU-HRSS) | 701 | 8192 | 3 |
مراجع
- جولم، إي. وجو، أ. هجوم النص المشفر المختار ضد NTRU. سلسلة محاضرات في علوم الحاسوب؛ المجلد 1880. وقائع المؤتمر الدولي السنوي العشرين لعلم التشفير حول التطورات في علم التشفير. الصفحات 20-35، 2000.
- جيفري هوفستين، جيل بايفر، جوزيف هـ. سيلفرمان. NTRU: نظام تشفير بالمفتاح العام قائم على الحلقة . في نظرية الأعداد الخوارزمية (ANTS III)، بورتلاند، أوريغون، يونيو 1998، جيه بي بوهلر (محرر)، سلسلة محاضرات في علوم الحاسوب 1423، سبرينغر-فيرلاغ، برلين، 1998، 267-288.
- Howgrave-Graham, N., Silverman, JH & Whyte, W., Meet-In-The-Middle Attack on a NTRU Private Key .
- ج. هوفستين، ج. سيلفرمان. تحسينات لـ NTRU . التشفير بالمفتاح العام ونظرية الأعداد الحسابية (وارسو، 11-15 سبتمبر 2000)، دي جرويتر، سيصدر قريباً.
- AC Atici, L. Batina, J. Fan & I. Verbauwhede. تطبيقات منخفضة التكلفة لـ NTRU من أجل الأمن الشامل .
روابط خارجية
- موقع NTRU التقني مؤرشف بتاريخ 2 يوليو 2018 على موقع Wayback Machine
- الصفحة الرئيسية لمعيار IEEE P1363
- شركة الابتكار الأمني (التي استحوذت على شركة NTRU Cryptosystems, Inc.)
- تطبيق مفتوح المصدر مرخص بموجب رخصة BSD لـ NTRUEncrypt
- رخصة GPL v2 مفتوحة المصدر لبرنامج NTRUEncrypt
- حل strongSwan مفتوح المصدر لبروتوكول IPsec باستخدام تبادل المفاتيح القائم على NTRUEncrypt
- - مكتبة SSL/TLS مضمنة تقدم مجموعات تشفير تستخدم NTRU (wolfSSL)
- أنظمة التشفير بالمفتاح العام
- التشفير القائم على الشبكة
- التشفير ما بعد الكمي
