منحنى ديفي-هيلمان الإهليلجي

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

بروتوكول تأسيس المفتاح

يوضح المثال التالي كيفية إنشاء مفتاح مشترك. لنفترض أن أليس تريد إنشاء مفتاح مشترك مع بوب ، ولكن القناة الوحيدة المتاحة لهما قد تكون عرضة للتنصت من قبل طرف ثالث. في البداية، يتم تحديد معلمات النطاق (أي،(ص،أ،ب،جي،ن،ح){\displaystyle (p,a,b,G,n,h)}في الحالة الأساسية أو(م،و(x)،أ،ب،جي،ن،ح){\displaystyle (m,f(x),a,b,G,n,h)}في الحالة الثنائية، يجب الاتفاق على ذلك. كما يجب أن يمتلك كل طرف زوجًا من المفاتيح مناسبًا لتشفير المنحنى الإهليلجي، ويتكون من مفتاح خاص.د{\displaystyle d}(عدد صحيح تم اختياره عشوائياً في الفترة)[1،ن-1]{\displaystyle [1,n-1]}) ومفتاح عام ممثل بنقطةسؤال{\displaystyle Q}(أينسؤال=دجي{\displaystyle Q=d\cdot G}أي نتيجة إضافةجي{\displaystyle G}لنفسهد{\displaystyle d}(مرات). ليكن زوج مفاتيح أليس هو(دأ،سؤالأ){\displaystyle (d_{\text{A}},Q_{\text{A}})}وزوج مفاتيح بوب(دب،سؤالب){\displaystyle (d_{\text{B}},Q_{\text{B}})}يجب على كل طرف أن يعرف المفتاح العام للطرف الآخر قبل تنفيذ البروتوكول.

أليس تحسب النقطة(xك،yك)=دأسؤالب{\displaystyle (x_{k},y_{k})=d_{\text{A}}\cdot Q_{\text{B}}}يحسب بوب النقطة(xك،yك)=دبسؤالأ{\displaystyle (x_{k},y_{k})=d_{\text{B}}\cdot Q_{\text{A}}}السر المشترك هوxك{\displaystyle x_{k}}( الإحداثي السيني للنقطة). تستمد معظم البروتوكولات القياسية القائمة على ECDH مفتاحًا متناظرًا منxك{\displaystyle x_{k}}باستخدام دالة اشتقاق مفاتيح تعتمد على التجزئة.

السر المشترك الذي يحسبه الطرفان متساوٍ، لأندأسؤالب=دأدبجي=دبدأجي=دبسؤالأ{\displaystyle d_{\text{A}}\cdot Q_{\text{B}}=d_{\text{A}}\cdot d_{\text{B}}\cdot G=d_{\text{B}}\cdot d_{\text{A}}\cdot G=d_{\text{B}}\cdot Q_{\text{A}}}.

المعلومة الوحيدة التي تكشفها أليس مبدئيًا عن مفتاحها هي مفتاحها العام. لذا، لا يمكن لأي طرف آخر غير أليس تحديد مفتاحها الخاص (وهي تعرفه بالطبع لأنها اختارته)، إلا إذا استطاع ذلك الطرف حل مسألة اللوغاريتم المنفصل للمنحنى الإهليلجي . وبالمثل، يتمتع مفتاح بوب الخاص بأمان مماثل. لا يمكن لأي طرف آخر غير أليس أو بوب حساب السر المشترك، إلا إذا استطاع ذلك الطرف حل مسألة ديفي-هيلمان للمنحنى الإهليلجي .

تكون المفاتيح العامة إما ثابتة (وموثوقة، مثلاً عبر شهادة) أو مؤقتة (تُعرف أيضاً باسم ECDHE ، حيث يشير الحرف "E" الأخير إلى "مؤقتة"). المفاتيح المؤقتة ليست بالضرورة موثقة، لذا إذا رُغبت المصادقة، فيجب الحصول على ضمانات المصداقية بوسائل أخرى. المصادقة ضرورية لتجنب هجمات الوسيط . إذا كان أحد المفاتيح العامة لأليس أو بوب ثابتاً، فسيتم إحباط هجمات الوسيط. لا توفر المفاتيح العامة الثابتة سرية أمامية ولا مقاومة لانتحال الهوية عند اختراق المفتاح، من بين خصائص أمنية متقدمة أخرى. يجب على حاملي المفاتيح الخاصة الثابتة التحقق من صحة المفتاح العام الآخر، وتطبيق دالة اشتقاق مفتاح آمنة على سر ديفي-هيلمان المشترك الخام لتجنب تسريب معلومات حول المفتاح الخاص الثابت. للاطلاع على مخططات ذات خصائص أمنية أخرى، راجع MQV .

إذا اختارت أليس عن قصد نقاط منحنى غير صالحة لمفتاحها، ولم يتحقق بوب من أن نقاط أليس جزء من المجموعة المختارة، فبإمكانها جمع ما يكفي من بقايا مفتاح بوب لاستنتاج مفتاحه الخاص. وقد وُجد أن العديد من مكتبات TLS عرضة لهذا الهجوم. [ 4 ]

يتم توزيع السر المشترك بشكل منتظم على مجموعة فرعية من[0،ص){\displaystyle [0,p)}من الحجم(ن+1)/2{\displaystyle (n+1)/2}لهذا السبب، لا ينبغي استخدام السر مباشرة كمفتاح متماثل، ولكن يمكن استخدامه كإنتروبيا لدالة اشتقاق المفتاح.

اتفاقية ديفي-هيلمان الرئيسية بشأن منحنيات مونتغمري

يتركأ،بFص{\displaystyle A,B\in F_{p}}بحيثب(أ2-4)0{\displaystyle B(A^{2}-4)\neq 0}منحنى مونتغمري الإهليلجيهـم،أ،ب{\displaystyle E_{M,A,B}}هي مجموعة الكل(x،y)Fص×Fص{\displaystyle (x,y)\in F_{p}\times F_{p}}تحقيق المعادلةبy2=x(x2+أx+1){\displaystyle By^{2}=x(x^{2}+Ax+1)}بالإضافة إلى النقطة عند اللانهاية المشار إليها بـ{\displaystyle \infty }يُطلق على هذا الشكل اسم الشكل الأفيني للمنحنى. مجموعة جميعFص{\displaystyle F_{p}}- نقاط عقلانية لـهـم،أ،ب{\displaystyle E_{M,A,B}}، المشار إليه بـهـم،أ،ب(Fص){\displaystyle E_{M,A,B}(F_{p})}هي مجموعة الكل(x،y)Fص×Fص{\displaystyle (x,y)\in F_{p}\times F_{p}}مُرضٍبy2=x(x2+أx+1){\displaystyle By^{2}=x(x^{2}+Ax+1)} جنبا إلى جنب مع{\displaystyle \infty }في ظل عملية جمع محددة بشكل مناسب،هـم،أ،ب(Fص){\displaystyle E_{M,A,B}(F_{p})}هي مجموعة مع{\displaystyle \infty }باعتباره العنصر المحايد. من المعروف أن رتبة هذه المجموعة هي من مضاعفات العدد 4. في الواقع، من الممكن عادةً الحصول علىأ{\displaystyle A}وب{\displaystyle B}بحيث يكون ترتيبهـم،أ،ب{\displaystyle E_{M,A,B}}يكون4q{\displaystyle 4q}لـq{\displaystyle q}للحصول على مناقشات أكثر تفصيلاً حول منحنيات مونتغمري وحساباتها، يمكن الرجوع إلى المراجع التالية: [ 5 ] [ 6 ] [ 7 ]

لتحقيق الكفاءة الحسابية، يُفضّل العمل باستخدام الإحداثيات الإسقاطية. الشكل الإسقاطي لمنحنى مونتغمريهـم،أ،ب{\displaystyle E_{M,A,B}}يكونبY2Z=X(X2+أXZ+Z2){\displaystyle BY^{2}Z=X(X^{2}+AXZ+Z^{2})}. من أجل نقطةP=[X:Y:Z]{\displaystyle P=[X:Y:Z]}علىهـم،أ،ب{\displaystyle E_{M,A,B}}، الx{\displaystyle x}خريطة إحداثياتx{\displaystyle x}وهو ما يلي: [ 7 ]x(P)=[X:Z]{\displaystyle x(P)=[X:Z]}لوZ0{\displaystyle Z\neq 0}وx(P)=[1:0]{\displaystyle x(P)=[1:0]}لوP=[0:1:0]{\displaystyle P=[0:1:0]}قدّم بيرنشتاين [ 8 ] [ 9 ] الخريطةx0{\displaystyle x_{0}}على النحو التالي:x0(X:Z)=XZص-2{\displaystyle x_{0}(X:Z)=XZ^{p-2}}وهو ما يُحدد لجميع قيمX{\displaystyle X}وZ{\displaystyle Z}فيFص{\displaystyle F_{p}}استنادًا إلى ميلر [ 10 ] ، ومونتغمري [ 5 ] ، وبرنشتاين [ 9 يمكن إجراء اتفاقية مفاتيح ديفي-هيلمان على منحنى مونتغمري على النحو التالي.سؤال{\displaystyle Q}ليكن مولدًا لمجموعة فرعية من الرتبة الأولية من هـم،أ،ب(Fص){\displaystyle E_{M,A,B}(F_{p})}تختار أليس مفتاحًا سريًاs{\displaystyle s}وله مفتاح عامx0(sسؤال){\displaystyle x_{0}(sQ)}يختار بوب مفتاحًا سريًات{\displaystyle t}وله مفتاح عامx0(تسؤال){\displaystyle x_{0}(tQ)}المفتاح السري المشترك بين أليس وبوب هوx0(sتسؤال){\displaystyle x_{0}(stQ)}باستخدام الحواسيب التقليدية، وهي الطريقة الأكثر شهرة للحصول علىx0(sتسؤال){\displaystyle x_{0}(stQ)}منسؤال،x0(sسؤال){\displaystyle Q,x_{0}(sQ)}وx0(تسؤال){\displaystyle x_{0}(tQ)}يتطلب حوالييا(ص1/2){\displaystyle O(p^{1/2})}الوقت باستخدام خوارزمية بولاردز رو . [ 11 ]

أشهر مثال على منحنى مونتغمري هو المنحنى 25519 الذي قدمه بيرنشتاين. [ 9 ] بالنسبة للمنحنى 25519،ص=2255-19،أ=486662{\displaystyle p=2^{255}-19,A=486662}وب=1{\displaystyle B=1}أما منحنى مونتغمري الآخر الذي يُعد جزءًا من TLS 1.3 فهو المنحنى 448 الذي قدمه هامبورغ. [ 12 ] بالنسبة للمنحنى 448،ص=2448-2224-1،أ=156326{\displaystyle p=2^{448}-2^{224}-1,A=156326}وب=1{\displaystyle B=1}تم اقتراح منحنيين من منحنيات مونتغمري يُطلق عليهما M[4698] و M[4058]، وهما منافسان للمنحنيين Curve25519 و Curve448 على التوالي، في [ 13 ] . بالنسبة إلى M[4698]،ص=2251-9،أ=4698،ب=1{\displaystyle p=2^{251}-9,A=4698,B=1}وبالنسبة لـ M[4058]،ص=2444-17،أ=4058،ب=1{\displaystyle p=2^{444}-17,A=4058,B=1}عند مستوى أمان 256 بت، تم اقتراح ثلاث منحنيات مونتغمري تسمى M[996558] وM[952902] وM[1504058]. [ 14 ] بالنسبة لـ M[996558]،ص=2506-45،أ=996558،ب=1{\displaystyle p=2^{506}-45,A=996558,B=1}، بالنسبة لـ M[952902]،ص=2510-75،أ=952902،ب=1{\displaystyle p=2^{510}-75,A=952902,B=1}وبالنسبة لـ M[1504058]،ص=2521-1،أ=1504058،ب=1{\displaystyle p=2^{521}-1,A=1504058,B=1}على التوالي. وبصرف النظر عن هذين المقترحين، يمكن العثور على مقترحات أخرى لمنحنيات مونتغمري في [ 15 ] .

برمجة

انظر أيضاً

مراجع

  1. NIST، منشور خاص 800-56A، توصية بشأن مخططات إنشاء المفاتيح الزوجية باستخدام التشفير اللوغاريتمي المنفصل ، مارس 2006.
  2. Certicom Research، معايير التشفير الفعال، SEC 1: تشفير المنحنى الإهليلجي ، الإصدار 2.0، 21 مايو 2009.
  3. NSA Suite B Cryptography, Suite B Implementers' Guide to NIST SP 800-56A Archived 2016-03-06 at the Wayback Machine , July 28 2009.
  4. تيبور ياغر؛ يورغ شفينك؛ يوراي سوموروفسكي (2015-09-04). "هجمات المنحنى غير الصالحة العملية على بروتوكول TLS-ECDH" (ملف PDF) . الندوة الأوروبية للبحوث في أمن الحاسوب (ESORICS'15) .
  5. 1 2 مونتغمري، بيتر ل. "تسريع طرق بولارد ومنحنى القطع الناقص للتحليل" (PDF) . رياضيات الحساب، 48(177):243–264، 1987.
  6. بيرنشتاين، دانيال جيه؛ لانج، تانيا (2017). "منحنيات مونتغمري وسلّم مونتغمري" . في: جوب دبليو. بوس وأرجين ك. لينسترا (محرران)، مواضيع في نظرية الأعداد الحسابية مستوحاة من بيتر إل. مونتغمري، الصفحات 82-115. مطبعة جامعة كامبريدج، 2017.
  7. 1 2 كوستيلو، كريغ؛ سميث، بنجامين (سبتمبر 2018). "منحنيات مونتغمري وحساباتها - حالة الحقول المميزة الكبيرة" . مجلة هندسة التشفير . 8 (3). J. Cryptographic Engineering, 8(3):227–240, 2018.: 227–240 . arXiv : 1703.01863 . doi : 10.1007/s13389-017-0157-6 .
  8. بيرنشتاين، دانيال ج. "هل يمكننا تجنب اختبارات الصفر في الحساب السريع للمنحنيات الإهليلجية؟" (PDF) .
  9. 1 2 3 بيرنشتاين، دانيال ج. (2006). "Curve25519: أرقام قياسية جديدة في سرعة ديفي-هيلمان" . التشفير بالمفتاح العام - PKC 2006. سلسلة محاضرات في علوم الحاسوب. المجلد 3958. في: يونغ، م.، دوديس، ي.، كياياس، أ.، مالكين، ت. (محررون) التشفير بالمفتاح العام - PKC 2006. سلسلة محاضرات في علوم الحاسوب، المجلد 3958. سبرينغر، برلين، هايدلبرغ. الصفحات 207-228 . doi : 10.1007/11745853_14 . ISBN   978-3-540-33851-2.
  10. ميلر، فيكتور س. (1986). "استخدام المنحنيات الإهليلجية في علم التشفير" . وقائع مؤتمر CRYPTO '85 ، ضمن سلسلة محاضرات في علوم الحاسوب، المجلد 218. في: وقائع مؤتمر CRYPTO '85، سانتا باربرا، كاليفورنيا، الولايات المتحدة الأمريكية، 18-22 أغسطس 1985، الصفحات 417-426. سبرينغر برلين هايدلبرغ، 1985. الصفحات 417-426 . doi : 10.1007/3-540-39799-X_31 . ISBN   978-3-540-16463-0.
  11. بولارد، جون م. "طرق مونت كارلو لحساب المؤشر modulo p" (PDF) . رياضيات الحساب، 32:918–924، 1978.
  12. هامبورغ، مايك (2015). "Ed448-goldilocks، منحنى إهليلجي جديد" . أرشيف ACR Cryptology ePrint، 2015:625، 2015.
  13. ناث، كوشيك؛ ساركار، بالاش (2022). "المفاضلة بين الأمن والكفاءة لخوارزمية ديفي-هيلمان للمنحنى الإهليلجي عند مستويي الأمان 128 و224 بت" . مجلة هندسة التشفير . 12. J Cryptogr Eng 12، 107-121 (2022): 107-121 . doi : 10.1007/s13389-021-00261-y .الكود متاح على الرابط التالي: https://github.com/kn-cs/x25519
  14. ناث، كوشيك؛ ساركار، بالاش (2020). "حساب ديفي-هيلمان الفعال للمنحنى الإهليلجي عند مستوى أمان 256 بت" . أمن المعلومات IET . 14 (6): 633-640 . doi : 10.1049/iet-ifs.2019.0620 .الكود متاح على الرابطين التاليين: https://github.com/kn-cs/mont256-dh و https://github.com/kn-cs/mont256-vec
  15. بيرنشتاين، دانيال جيه؛ لانج، تانيا. "المنحنيات الآمنة: اختيار المنحنيات الآمنة لتشفير المنحنيات الإهليلجية" . تم الاسترجاع في 15 أبريل 2024 .
  16. JI (13 أكتوبر 2015). "جيل جديد من الرسائل الآمنة: "ختم الرسائل"مدونة مهندسي لاين . شركة لاين. مؤرشفة من الأصل في 1 فبراير 2019. تم الاطلاع عليها في 5 فبراير 2018 .