EdDSA

في مجال التشفير بالمفتاح العام ، تُعدّ خوارزمية التوقيع الرقمي لمنحنى إدواردز ( EdDSA ) نظامًا للتوقيع الرقمي يستخدم صيغةً معدّلة من توقيع شنور، تعتمد على منحنيات إدواردز الملتوية . [ 1 ] صُممت هذه الخوارزمية لتكون أسرع من أنظمة التوقيع الرقمي الحالية دون المساس بالأمان. وقد طوّرها فريقٌ ضمّ دانيال ج. بيرنشتاين ، ونيلز دويف، وتانيا لانج ، وبيتر شواب، وبو-ين يانغ . [ 2 ] والتطبيق المرجعي لها هو برنامجٌ مجانيٌّ متاحٌ للجميع . [ 3 ]

ملخص

فيما يلي وصف مبسط لـ EdDSA، مع تجاهل تفاصيل ترميز الأعداد الصحيحة ونقاط المنحنى كسلاسل بتية؛ التفاصيل الكاملة موجودة في الأوراق البحثية و RFC. [ 4 ] [ 2 ] [ 1 ]

يُعد نظام التوقيع EdDSA أحد الخيارات التالية: [ 4 ] : ​​1-2 [ 2 ] : 5-6 [ 1 ] : 5-7

  • من حقل منتهيFq{\displaystyle \mathbb {F} _{q}}على قوة عددية فرديةq{\displaystyle q}؛
  • منحنى إهليلجيهـ{\displaystyle E}زيادةFq{\displaystyle \mathbb {F} _{q}}مجموعتهاهـ(Fq){\displaystyle E(\mathbb {F} _{q})}لFq{\displaystyle \mathbb {F} _{q}}النقاط العقلانية لها ترتيب8هـ(Fq)=2ج{\displaystyle \#E(\mathbb {F} _{q})=2^{c}\ell }، أين{\displaystyle \ell }هو عدد أولي كبير و2ج{\displaystyle 2^{c}}يُطلق عليه اسم العامل المساعد؛
  • نقطة الأساسبهـ(Fq){\displaystyle B\in E(\mathbb {F} _{q})}مع الطلب{\displaystyle \ell }؛ و
  • دالة التجزئة المشفرةح{\displaystyle H}مع2ب{\displaystyle 2b}مخرجات بت-، حيث2ب-1>q{\displaystyle 2^{b-1}>q}بحيث تكون عناصرFq{\displaystyle \mathbb {F} _{q}}ونقاط المنحنى فيهـ(Fq){\displaystyle E(\mathbb {F} _{q})}يمكن تمثيلها بسلاسل منب{\displaystyle b}أجزاء.

تُعدّ هذه المعايير مشتركة بين جميع مستخدمي نظام التوقيع الرقمي EdDSA. ويعتمد أمان هذا النظام بشكلٍ كبير على اختيار هذه المعايير، باستثناء اختيار نقطة الأساس بشكلٍ عشوائي؛ فعلى سبيل المثال، من المتوقع أن تستغرق خوارزمية بولارد للوغاريتمات حوالي 1000 ثانية.π/4{\displaystyle {\sqrt {\ell \pi /4}}}[ 5 ] لذا، يتم جمع المنحنيات قبل أن يتمكن من حساب اللوغاريتم المنفصل،{\displaystyle \ell }يجب أن يكون حجمه كبيرًا بما يكفي لجعل هذا الأمر غير عملي، وعادةً ما يُعتبر أكبر من 2200. [ 6 ] اختيار{\displaystyle \ell }يقتصر الأمر على اختيارq{\displaystyle q}، لأنه وفقًا لنظرية هاس ،8هـ(Fq)=2ج{\displaystyle \#E(\mathbb {F} _{q})=2^{c}\ell }لا يمكن أن يختلف عنq+1{\displaystyle q+1}بأكثر من2q{\displaystyle 2{\sqrt {q}}}دالة التجزئةح{\displaystyle H}يتم عادةً نمذجة هذا النموذج على أنه أوراكل عشوائي في التحليلات الرسمية لأمن EdDSA.

ضمن نظام التوقيعات الخاص بـ EdDSA،

المفتاح العام
المفتاح العام لـ EdDSA هو نقطة منحنىأهـ(Fq){\displaystyle A\in E(\mathbb {F} _{q})}، مشفرة فيب{\displaystyle b}أجزاء.
التحقق من التوقيع
توقيع جمعية طلاب الطب الديمقراطيين (EdDSA) على رسالةم{\displaystyle M}باستخدام المفتاح العامأ{\displaystyle A}هل الزوج(R،S){\displaystyle (R,S)}، مشفرة في2ب{\displaystyle 2b}أجزاء من نقطة منحنيةRهـ(Fq){\displaystyle R\in E(\mathbb {F} _{q})}وعدد صحيح0<S<{\displaystyle 0<S<\ell }بما يحقق معادلة التحقق التالية، حيث{\displaystyle \parallel }يشير إلى عملية الربط :

2جSب=2جR+2جح(Rأم)أ.{\displaystyle 2^{c}SB=2^{c}R+2^{c}H(R\parallel A\parallel M)A.}

المفتاح الخاص
المفتاح الخاص لـ EdDSA هوب{\displaystyle b}سلسلة بتك{\displaystyle k}والتي يجب اختيارها عشوائياً وبشكل متساوٍ. المفتاح العام المقابل هوأ=sب{\displaystyle A=sB}، أينs=ح0،...،ب-1(ك){\displaystyle s=H_{0,\dots ,b-1}(k)}الأقل أهميةب{\displaystyle b}أجزاء منح(ك){\displaystyle H(k)}يتم تفسيرها كعدد صحيح بنظام little-endian .
التوقيع
التوقيع على الرسالةم{\displaystyle M}يتم حسابها بشكل حتمي على النحو التالي(R،S)،{\displaystyle (R,S),}أينR=رب{\displaystyle R=rB}لر=ح(حب،...،2ب-1(ك)م){\displaystyle r=H(H_{b,\dots ,2b-1}(k)\parallel M)}، وSر+ح(Rأم)s(تعديل).{\displaystyle S\equiv r+H(R\parallel A\parallel M)s{\pmod {\ell }}.}وهذا يحقق معادلة التحقق

2جSب=2ج(ر+ح(Rأم)s)ب=2جرب+2جح(Rأم)sب=2جR+2جح(Rأم)أ.{\displaystyle {\begin{aligned}2^{c}SB&=2^{c}(r+H(R\parallel A\parallel M)s)B\\&=2^{c}rB+2^{c}H(R\parallel A\parallel M)sB\\&=2^{c}R+2^{c}H(R\parallel A\parallel M)A.\end{aligned}}}

Ed25519

Ed25519 هو نظام توقيع EdDSA يستخدم SHA-512 (SHA-2) ومنحنى إهليلجي مرتبط بـ Curve25519 [ 2 ] حيث

-x2+y2=1-121665121666x2y2،{\displaystyle -x^{2}+y^{2}=1-{\frac {121665}{121666}}x^{2}y^{2},}

  • =2252+27742317777372353535851937790883648493{\displaystyle \ell =2^{252}+27742317777372353535851937790883648493}وج=3{\displaystyle c=3}
  • ب{\displaystyle B}هي النقطة الفريدة فيهـ(Fq){\displaystyle E(\mathbb {F} _{q})}لمنy{\displaystyle y}الإحداثيات هي4/5{\displaystyle 4/5}ولمنx{\displaystyle x}الإحداثي موجب. يُعرَّف "الموجب" من حيث ترميز البتات:
    • الإحداثيات "الموجبة" هي إحداثيات زوجية (يتم مسح البت الأقل أهمية)
    • الإحداثيات "السالبة" هي إحداثيات فردية (يتم تعيين البت الأقل أهمية).
  • ح{\displaystyle H}هو SHA-512 ، معب=256{\displaystyle b=256}.

منحنى إدواردز الملتويهـ/Fq{\displaystyle E/\mathbb {F} _{q}}يُعرف باسم edwards25519 ، [ 7 ] [ 1 ] وهو مكافئ ثنائيًا لمنحنى مونتغمري المعروف باسم Curve25519 . التكافؤ هو [ 2 ] [ 7 ] [ 8 ]x=uv-486664،y=u-1u+1.{\displaystyle x={\frac {u}{v}}{\sqrt {-486664}},\quad y={\frac {u-1}{u+1}}.}

أداء

قام الفريق الأصلي بتحسين خوارزمية 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 ]

Ed448

Ed448 هو نظام توقيع EdDSA المُعرَّف في RFC 8032 باستخدام دالة التجزئة SHAKE256 والمنحنى الإهليلجي edwards448 ، وهو منحنى إدواردز (غير ملتوي) مرتبط بـ Curve448 في RFC 7748. وقد تمت الموافقة على Ed448 أيضًا في النسخة النهائية من معيار FIPS 186-5. [ 15 ]  

مراجع

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