EdDSA
في مجال التشفير بالمفتاح العام ، تُعدّ خوارزمية التوقيع الرقمي لمنحنى إدواردز ( EdDSA ) نظامًا للتوقيع الرقمي يستخدم صيغةً معدّلة من توقيع شنور، تعتمد على منحنيات إدواردز الملتوية . [ 1 ] صُممت هذه الخوارزمية لتكون أسرع من أنظمة التوقيع الرقمي الحالية دون المساس بالأمان. وقد طوّرها فريقٌ ضمّ دانيال ج. بيرنشتاين ، ونيلز دويف، وتانيا لانج ، وبيتر شواب، وبو-ين يانغ . [ 2 ] والتطبيق المرجعي لها هو برنامجٌ مجانيٌّ متاحٌ للجميع . [ 3 ]
ملخص
فيما يلي وصف مبسط لـ EdDSA، مع تجاهل تفاصيل ترميز الأعداد الصحيحة ونقاط المنحنى كسلاسل بتية؛ التفاصيل الكاملة موجودة في الأوراق البحثية و RFC. [ 4 ] [ 2 ] [ 1 ]
يُعد نظام التوقيع EdDSA أحد الخيارات التالية: [ 4 ] : 1-2 [ 2 ] : 5-6 [ 1 ] : 5-7
- من حقل منتهيعلى قوة عددية فردية؛
- منحنى إهليلجيزيادةمجموعتهالالنقاط العقلانية لها ترتيب، أينهو عدد أولي كبير ويُطلق عليه اسم العامل المساعد؛
- نقطة الأساسمع الطلب؛ و
- دالة التجزئة المشفرةمعمخرجات بت-، حيثبحيث تكون عناصرونقاط المنحنى فييمكن تمثيلها بسلاسل منأجزاء.
تُعدّ هذه المعايير مشتركة بين جميع مستخدمي نظام التوقيع الرقمي EdDSA. ويعتمد أمان هذا النظام بشكلٍ كبير على اختيار هذه المعايير، باستثناء اختيار نقطة الأساس بشكلٍ عشوائي؛ فعلى سبيل المثال، من المتوقع أن تستغرق خوارزمية بولارد للوغاريتمات حوالي 1000 ثانية.[ 5 ] لذا، يتم جمع المنحنيات قبل أن يتمكن من حساب اللوغاريتم المنفصل،يجب أن يكون حجمه كبيرًا بما يكفي لجعل هذا الأمر غير عملي، وعادةً ما يُعتبر أكبر من 2200. [ 6 ] اختياريقتصر الأمر على اختيار، لأنه وفقًا لنظرية هاس ،لا يمكن أن يختلف عنبأكثر مندالة التجزئةيتم عادةً نمذجة هذا النموذج على أنه أوراكل عشوائي في التحليلات الرسمية لأمن EdDSA.
ضمن نظام التوقيعات الخاص بـ EdDSA،
- المفتاح العام
- المفتاح العام لـ EdDSA هو نقطة منحنى، مشفرة فيأجزاء.
- التحقق من التوقيع
- توقيع جمعية طلاب الطب الديمقراطيين (EdDSA) على رسالةباستخدام المفتاح العامهل الزوج، مشفرة فيأجزاء من نقطة منحنيةوعدد صحيحبما يحقق معادلة التحقق التالية، حيثيشير إلى عملية الربط :
- المفتاح الخاص
- المفتاح الخاص لـ EdDSA هوسلسلة بتوالتي يجب اختيارها عشوائياً وبشكل متساوٍ. المفتاح العام المقابل هو، أينالأقل أهميةأجزاء منيتم تفسيرها كعدد صحيح بنظام little-endian .
- التوقيع
- التوقيع على الرسالةيتم حسابها بشكل حتمي على النحو التاليأينل، ووهذا يحقق معادلة التحقق
Ed25519
Ed25519 هو نظام توقيع EdDSA يستخدم SHA-512 (SHA-2) ومنحنى إهليلجي مرتبط بـ Curve25519 [ 2 ] حيث
- هل هو منحنى إدواردز الملتوي؟
- و
- هي النقطة الفريدة فيلمنالإحداثيات هيولمنالإحداثي موجب. يُعرَّف "الموجب" من حيث ترميز البتات:
- الإحداثيات "الموجبة" هي إحداثيات زوجية (يتم مسح البت الأقل أهمية)
- الإحداثيات "السالبة" هي إحداثيات فردية (يتم تعيين البت الأقل أهمية).
- هو SHA-512 ، مع.
منحنى إدواردز الملتوييُعرف باسم edwards25519 ، [ 7 ] [ 1 ] وهو مكافئ ثنائيًا لمنحنى مونتغمري المعروف باسم Curve25519 . التكافؤ هو [ 2 ] [ 7 ] [ 8 ]
أداء
قام الفريق الأصلي بتحسين خوارزمية Ed25519 لمعالجات x86-64 من عائلة Nehalem / Westmere . يمكن إجراء التحقق على دفعات من 64 توقيعًا لزيادة الإنتاجية. تهدف خوارزمية Ed25519 إلى توفير مقاومة للهجمات تضاهي خوارزميات التشفير المتناظرة عالية الجودة ذات 128 بت . [ 9 ]
يبلغ طول المفاتيح العامة 256 بت، بينما يبلغ طول التوقيعات 512 بت. [ 10 ]
التشفير الآمن
تم تصميم Ed25519 لتجنب التطبيقات التي تستخدم شروط التفرع أو مؤشرات المصفوفة التي تعتمد على البيانات السرية، [ 2 ] : 2 [ 1 ] : 40 من أجل التخفيف من هجمات القناة الجانبية .
كما هو الحال مع أنظمة التوقيع الأخرى القائمة على اللوغاريتمات المنفصلة، يستخدم EdDSA قيمة سرية تُسمى " nonce" فريدة لكل توقيع. في نظامي التوقيع DSA و ECDSA ، يتم توليد هذه القيمة عشوائيًا لكل توقيع، وإذا تعطل مولد الأرقام العشوائية وأصبح قابلاً للتنبؤ عند إنشاء التوقيع، فقد يُسرب التوقيع المفتاح الخاص، كما حدث مع مفتاح توقيع تحديث برنامج Sony PlayStation 3 الثابت. [ 11 ] [ 12 ] [ 13 ] [ 14 ]
على النقيض من ذلك، يختار EdDSA قيمة nonce بشكل حتمي كقيمة تجزئة لجزء من المفتاح الخاص والرسالة. وبالتالي، بمجرد إنشاء المفتاح الخاص، لا يحتاج EdDSA إلى مولد أرقام عشوائية لإنشاء التوقيعات، ولا يوجد خطر من أن يكشف مولد أرقام عشوائية معطل، يُستخدم لإنشاء التوقيع، عن المفتاح الخاص. [ 2 ] : 8
عدم اتساق التوحيد والتنفيذ
تجدر الإشارة إلى وجود مبادرتين لتوحيد معايير EdDSA، إحداهما من IETF، وهي RFC 8032 المعلوماتية ، والأخرى من NIST كجزء من FIPS 186-5. [ 15 ] وقد تم تحليل الاختلافات بين المعايير، [ 16 ] [ 17 ] وتتوفر متجهات الاختبار. [ 18 ]
برمجة
تشمل الاستخدامات البارزة لـ Ed25519 برنامج OpenSSH ، [ 19 ] وبرنامج GnuPG ، [ 20 ] والعديد من البدائل، وأداة signify من OpenBSD . [ 21 ] وقد تم توحيد استخدام Ed25519 (وEd448) في بروتوكول SSH. [ 22 ] وفي عام 2023، تضمنت النسخة النهائية من معيار FIPS 186-5 نظام التوقيع الحتمي Ed25519 كنظام توقيع معتمد. [ 15 ]
- تستخدم ساعة أبل وهاتف آيفون مفاتيح Ed25519 للمصادقة المتبادلة IKEv2 [ 23 ]
- بوتان
- Crypto++
- بروتوكول العملات المشفرة CryptoNote
- Dropbear SSH [ 24 ]
- تنفيذ I2Pd لـ EdDSA [ 25 ]
- مجموعة تطوير جافا 15
- Libgcrypt
- Minisign [ 26 ] و Minisign Miscellanea [ 27 ] لنظام macOS
- NaCl / libsodium [ 28 ]
- OpenSSL 1.1.1 [ 29 ]
- بايثون - تطبيق بديل بطيء ولكنه موجز، [ 30 ] لا يتضمن حماية من هجمات القنوات الجانبية [ 31 ]
- التنفيذ المرجعي لـ Supercop [ 32 ] ( لغة C مع مُجمِّع مضمن )
- يستخدم Virgil PKI مفاتيح Ed25519 بشكل افتراضي [ 33 ]
- wolfSSL [ 34 ]
Ed448
Ed448 هو نظام توقيع EdDSA المُعرَّف في RFC 8032 باستخدام دالة التجزئة SHAKE256 والمنحنى الإهليلجي edwards448 ، وهو منحنى إدواردز (غير ملتوي) مرتبط بـ Curve448 في RFC 7748. وقد تمت الموافقة على Ed448 أيضًا في النسخة النهائية من معيار FIPS 186-5. [ 15 ]
مراجع
- 1 2 3 4 5 جوزيفسون، س.؛ ليوسفارا، إ. (يناير 2017). خوارزمية التوقيع الرقمي لمنحنى إدواردز (EdDSA) . IRTF . doi : 10.17487/RFC8032 . ISSN 2070-1721 . RFC 8032. تاريخ الاسترجاع: 11 يوليو 2022 .
- 1 2 3 4 5 6 7 بيرنشتاين، دانييل ج .؛ دويف، نيلز. لانج, طنجة ; شوابي، بيتر؛ بو يين يانغ (2012). "توقيعات عالية السرعة وعالية الأمان" (PDF) . مجلة هندسة التشفير . 2 (2): 77-89 . دوى : 10.1007 / s13389-012-0027-1 . S2CID 945254 .
- ↑ "البرمجيات" . 11-06-2015 . تم الاطلاع عليه بتاريخ 07-10-2016 .
برنامج Ed25519 متاح للاستخدام العام.
- 1 2 دانيال ج. بيرنشتاين ; سيمون جوزيفسون؛ تانيا لانج ; بيتر شوابي؛ بو يين يانغ (2015/07/04). EdDSA لمزيد من المنحنيات (PDF) (التقرير الفني) . تم الاسترجاع 2016/11/14 .
- ↑ دانيال ج. بيرنشتاين ؛ تانيا لانج ؛ بيتر شواب (1 يناير 2011). حول الاستخدام الصحيح لخريطة النفي في طريقة بولارد رو (تقرير فني). أرشيف IACR للمطبوعات الإلكترونية في علم التشفير. 2011/003 . تاريخ الاسترجاع: 14 نوفمبر 2016 .
- ↑ بيرنشتاين، دانيال ج .؛ لانج، تانيا . "أمن ECDLP: رو" . SafeCurves: اختيار المنحنيات الآمنة لتشفير المنحنيات الإهليلجية . تم الاسترجاع في 16-11-2016 .
- 1 2 لانغلي، أ.؛ هامبورغ، م.؛ تيرنر، س. (يناير 2016). المنحنيات الإهليلجية للأمان . IETF . doi : 10.17487/RFC7748 . ISSN 2070-1721 . RFC 7748. تاريخ الاسترجاع: 12 نوفمبر 2024 .
- ↑ بيرنشتاين، دانيال ج .؛ لانج، تانيا (2007). كوروساوا، كاورو (محرر). جمع ومضاعفة أسرع على المنحنيات الإهليلجية . التطورات في علم التشفير - آسيا كريبت. سلسلة محاضرات في علوم الحاسوب. المجلد 4833. برلين: سبرينغر. الصفحات 29-50 . doi : 10.1007/978-3-540-76900-2_3 . ISBN 978-3-540-76899-9MR 2565722 .
- ↑ بيرنشتاين، دانيال ج. (22 يناير 2017). "Ed25519: توقيعات عالية السرعة وعالية الأمان" . تم الاطلاع عليه بتاريخ 27 سبتمبر 2019.
يتميز هذا النظام بهدف أمان يبلغ 2^128؛ ويُعد اختراقه صعبًا بنفس صعوبة اختراق معيار NIST P-256، وخوارزمية RSA بمفاتيح طولها حوالي 3000 بت، وخوارزميات التشفير القوية ذات 128 بت، وما إلى ذلك.
- ↑ بيرنشتاين، دانيال ج. (22 يناير 2017). "Ed25519: توقيعات عالية السرعة وعالية الأمان" . تم الاطلاع عليه بتاريخ 1 يونيو 2020.
تتسع التوقيعات لـ 64 بايت. [...] تستهلك المفاتيح العامة 32 بايت فقط.
- ↑ جونستون، كيسي (30 ديسمبر 2010). "اختراق جهاز بلاي ستيشن 3 بسبب ضعف تطبيق التشفير" . آرس تكنيكا . تاريخ الاسترجاع: 15 نوفمبر 2016 .
- ↑ fail0verflow (29-12-2010). اختراق أجهزة الألعاب 2010: فشل ذريع لجهاز PS3 (ملف PDF) . مؤتمر Chaos Communication . مؤرشف من الأصل (ملف PDF) بتاريخ 26-10-2018 . تم الاطلاع عليه بتاريخ 15-11-2016 .
- ↑ "المؤتمر السابع والعشرون لتواصل الفوضى: اختراق أجهزة الألعاب 2010: فشل ذريع لجهاز بلاي ستيشن 3" (ملف PDF) . تم الاطلاع عليه بتاريخ 4 أغسطس 2019 .
- ↑ بوكانان، بيل (12 نوفمبر 2018). "ليس اللعب عشوائيًا: اختراقات سوني بلاي ستيشن 3 وبيتكوين للعملات المشفرة. احذروا مولدات الأرقام العشوائية" . ميديوم . مؤرشف من الأصل في 30 نوفمبر 2018. تم الاطلاع عليه في 11 مارس 2024 .
- 1 2 3 مودي، داستن (2023-02-03). معيار FIPS 186-5: معيار التوقيع الرقمي (DSS) . المعهد الوطني للمعايير والتكنولوجيا (NIST ). doi : 10.6028/NIST.FIPS.186-5 . S2CID 256480883. تاريخ الاسترجاع: 2023-03-04 .
- ↑ خالكياس، قسطنطين؛ غاريلو، فرانسوا؛ نيكولاينكو، فاليريا (2020-10-01). ترويض العديد من خوارزميات EdDSAs . مؤتمر أبحاث توحيد معايير الأمن (SSR 2020) . تم الاطلاع عليه بتاريخ 15 فبراير 2021 .
- ↑ بريندل، جاكلين؛ كريمرز، كاس ؛ جاكسون، دينيس؛ تشاو، مانغ (2020-07-03). الأمن القابل للإثبات لـ ed25519: النظرية والتطبيق . ندوة IEEE حول الأمن والخصوصية (S&P 2021) . تم الاسترجاع في 2021-02-15 .
- ↑ "ed25519-speccheck" . GitHub . تم الاسترجاع في 15 فبراير 2021 .
- ↑ "التغييرات منذ OpenSSH 6.4" . 2014-01-03 . تم الاطلاع عليه بتاريخ 2016-10-07 .
- ↑ "ما الجديد في GnuPG 2.1" . 14-07-2016 . تم الاطلاع عليه بتاريخ 07-10-2016 .
- ↑ "أشياء تستخدم Ed25519" . 2016-10-06 . تم الاسترجاع في 2016-10-07 .
- ↑ هاريس، ب.؛ فيلفيندرون، ل. (فبراير 2020). خوارزميات المفتاح العام Ed25519 وEd448 لبروتوكول Secure Shell (SSH) . IETF . doi : 10.17487/RFC8709 . ISSN 2070-1721 . RFC 8709. تاريخ الاسترجاع: 11 يوليو 2022 .
- ↑ "أمان النظام لنظام watchOS" . تم الاطلاع عليه بتاريخ 2021-06-07 .
- ↑ مات جونستون (14 نوفمبر 2013). "DROPBEAR_2013.61test" . مؤرشف من الأصل بتاريخ 5 أغسطس 2019. تم الاطلاع عليه بتاريخ 5 أغسطس 2019 .
- ↑ "الخوارزميات الاستدلالية والحوسبة الموزعة" (ملف PDF) . Èvrističeskie Algoritmy I Raspredelennye Vyčisleniâ (باللغة الروسية): 55–56 . 2015. ISSN 2311-8563 . مؤرشف من الأصل (ملف PDF) بتاريخ 20-10-2016 . تم الاطلاع عليه بتاريخ 07-10-2016 .
- ↑ فرانك دينيس. "Minisign: أداة بسيطة للغاية لتوقيع الملفات والتحقق من التوقيعات" . تم الاطلاع عليه بتاريخ 7 أكتوبر 2016 .
- ↑ minisign-misc على GitHub
- ↑ فرانك دينيس (29-06-2016). "libsodium/ChangeLog" . جيت هاب . تم الاسترجاع في 07-10-2016 .
- ↑ "تغييرات OpenSSL" . 31 يوليو 2019. مؤرشف من الأصل في 18 مايو 2018. تم الاطلاع عليه في 5 أغسطس 2019 .
- ↑ "python/ed25519.py: الإجراءات الفرعية الرئيسية" . 2011-07-06 . تم الاطلاع عليه بتاريخ 2016-10-07 .
- ↑ "البرمجيات: تطبيقات بديلة" . 11-06-2015 . تم الاطلاع عليه بتاريخ 07-10-2016 .
- ↑ "eBACS: ECRYPT Benchmarking of Crypographic Systems: SUPERCOP" . 2016-09-10 . تم الاطلاع عليه بتاريخ 2016-10-07 .
- ↑ "مكتبة فيرجيل الأمنية للتشفير للغة C: المكتبة: الأساس" . جيت هاب . تم الاسترجاع في 4 أغسطس 2019 .
- ↑ "مكتبة wolfSSL المضمنة لبروتوكول SSL (المعروفة سابقًا باسم CyaSSL)" . تم الاطلاع عليها بتاريخ 2016-10-07 .
روابط خارجية
- التشفير بالمفتاح العام
- التشفير باستخدام المنحنى الإهليلجي
- أنظمة التوقيع الرقمي
- برامج متاحة للعموم مع شفرة المصدر
