خوارزمية التوقيع الرقمي للمنحنى الإهليلجي

في علم التشفير ، تقدم خوارزمية التوقيع الرقمي للمنحنى الإهليلجي ( ECDSA ) نوعًا مختلفًا من خوارزمية التوقيع الرقمي (DSA) التي تستخدم تشفير المنحنى الإهليلجي .

أحجام المفاتيح والتوقيعات

كما هو الحال مع تشفير المنحنيات الإهليلجية بشكل عام، فإن حجم بتات المفتاح الخاص المطلوب لخوارزمية ECDSA يبلغ ضعف حجم مستوى الأمان تقريبًا ، بالبتات. [ 1 ] على سبيل المثال، عند مستوى أمان يبلغ 80 بتًا - أي أن المهاجم يحتاج إلى حد أقصى يبلغ حوالي280{\displaystyle 2^{80}}تتطلب عمليات البحث عن المفتاح الخاص - يبلغ حجم المفتاح الخاص لخوارزمية ECDSA حوالي 160 بت. من ناحية أخرى، يكون حجم التوقيع متطابقًا لكل من خوارزميتي DSA وECDSA: تقريبًا4ت{\displaystyle 4t}أجزاء، حيثت{\displaystyle t}الأس في الصيغة2ت{\displaystyle 2^{t}}أي ما يعادل حوالي 320 بت لمستوى أمان يبلغ 80 بت، وهو ما يعادل280{\displaystyle 2^{80}}العمليات.

خوارزمية توليد التوقيع

لنفترض أن أليس تريد إرسال رسالة موقعة إلى بوب . في البداية، يجب أن يتفقا على معلمات المنحنى.(منحنى،جي،ن){\displaystyle ({\textrm {CURVE}},G,n)}بالإضافة إلى مجال ومعادلة المنحنى، نحتاج إلىجي{\displaystyle G}، نقطة أساسية من رتبة أولية على المنحنى؛ن{\displaystyle n}هو الترتيب الجمعي للنقطةجي{\displaystyle G}.

المعلمة
منحنىمجال المنحنى الإهليلجي والمعادلة المستخدمة
جينقطة أساس المنحنى الإهليلجي، وهي نقطة على المنحنى تولد مجموعة فرعية من رتبة أولية كبيرة n
نالترتيب الصحيح لـ G يعني أنن×جي=يا{\displaystyle n\times G=O}، أينيا{\displaystyle O}هو عنصر الهوية.
دأ{\displaystyle d_{A}}المفتاح الخاص (يتم اختياره عشوائياً)
سؤالأ{\displaystyle Q_{A}}المفتاح العامدأ×جي{\displaystyle d_{A}\times G}(محسوبة بواسطة منحنى إهليلجي)
مالرسالة المراد إرسالها

الطلبن{\displaystyle n}نقطة الأساسجي{\displaystyle G}يجب أن يكون عددًا أوليًا . في الواقع، نفترض أن كل عنصر غير صفري في الحلقةZ/نZ{\displaystyle \mathbb {Z} /n\mathbb {Z} }قابلة للعكس، بحيثZ/نZ{\displaystyle \mathbb {Z} /n\mathbb {Z} }يجب أن يكون حقلاً . وهذا يعني أنن{\displaystyle n}يجب أن يكون عدداً أولياً (انظر متطابقة بيزو ).

تقوم أليس بإنشاء زوج من المفاتيح، يتكون من مفتاح خاص وعدد صحيحدأ{\displaystyle d_{A}}، تم اختيارها عشوائياً في الفترة[1،ن-1]{\displaystyle [1,n-1]}ونقطة منحنى المفتاح العامسؤالأ=دأ×جي{\displaystyle Q_{A}=d_{A}\times G}نحن نستخدم×{\displaystyle \times }للدلالة على ضرب نقطة المنحنى الإهليلجي في عدد قياسي .

لكي توقع أليس على الرسالةم{\displaystyle m}، وهي تتبع هذه الخطوات:

  1. احسبهـ=هاش(م){\displaystyle e={\textrm {HASH}}(m)}(هنا HASH هي دالة تجزئة تشفيرية ، مثل SHA-2 ، مع تحويل الناتج إلى عدد صحيح.)
  2. يتركz{\displaystyle z}كنلن{\displaystyle L_{n}}أقصى الأجزاء اليسرى منهـ{\displaystyle e}، أينلن{\displaystyle L_{n}}يمثل طول البت لترتيب المجموعةن{\displaystyle n}. (لاحظ أنz{\displaystyle z}يمكن أن يكون أكبر منن{\displaystyle n}ولكن ليس لفترة أطول . [ 2 ] )
  3. اختر عددًا صحيحًا عشوائيًا آمنًا تشفيرًاك{\displaystyle k}من[1،ن-1]{\displaystyle [1,n-1]}.
  4. احسب نقطة المنحنى(x1،y1)=ك×جي{\displaystyle (x_{1},y_{1})=k\times G}.
  5. احسبر=x1مودن{\displaystyle r=x_{1}\,{\bmod {\,}}n}. لور=0{\displaystyle r=0}، ارجع إلى الخطوة 3.
  6. احسبs=ك-1(z+ردأ)مودن{\displaystyle s=k^{-1}(z+rd_{A})\,{\bmod {\,}}n}. لوs=0{\displaystyle s=0}، ارجع إلى الخطوة 3.
  7. التوقيع هو الزوج(ر،s){\displaystyle (r,s)}. (و(ر،-sمودن){\displaystyle (r,-s\,{\bmod {\,}}n)}(يُعتبر أيضاً توقيعاً صحيحاً.)

كما تشير الملاحظات القياسية، فإن ذلك ليس مطلوبًا فقط من أجلك{\displaystyle k}يجب أن يبقى الأمر سراً، ولكن من المهم أيضاً اختيار خيارات مختلفةك{\displaystyle k}بالنسبة للتوقيعات المختلفة. وإلا، يمكن حل المعادلة في الخطوة 6 لـدأ{\displaystyle d_{A}}المفتاح الخاص: معطى توقيعان(ر،s){\displaystyle (r,s)}و(ر،s){\displaystyle (r,s')}باستخدام نفس المجهولك{\displaystyle k}لرسائل معروفة مختلفةم{\displaystyle m}وم{\displaystyle m'}يمكن للمهاجم أن يحسبz{\displaystyle z}وz{\displaystyle z'}و منذ ذلك الحينs-s=ك-1(z-z){\displaystyle ss'=k^{-1}(zz')}(جميع العمليات في هذه الفقرة تتم باستخدام باقي القسمة)ن{\displaystyle n}) يمكن للمهاجم أن يجدك=z-zs-s{\displaystyle k={\frac {zz'}{ss'}}}. منذs=ك-1(z+ردأ){\displaystyle s=k^{-1}(z+rd_{A})}وبذلك يستطيع المهاجم الآن حساب المفتاح الخاصدأ=sك-zر{\displaystyle d_{A}={\frac {sk-z}{r}}}.

استُخدم هذا الفشل في التنفيذ، على سبيل المثال، لاستخراج مفتاح التوقيع المستخدم لجهاز ألعاب بلاي ستيشن 3. [ 3 ]

هناك طريقة أخرى قد تؤدي بها توقيعات ECDSA إلى تسريب المفاتيح الخاصة، وهي عندماك{\displaystyle k}يتم توليدها بواسطة مولد أرقام عشوائية معيب . تسبب هذا الخلل في توليد الأرقام العشوائية في فقدان مستخدمي محفظة بيتكوين على نظام أندرويد لأموالهم في أغسطس 2013. [ 4 ]

لضمان ذلكك{\displaystyle k}بما أن التوقيع فريد لكل رسالة، يمكن تجاوز توليد الأرقام العشوائية تمامًا وإنشاء توقيعات حتمية عن طريق اشتقاقها.ك{\displaystyle k}من كل من الرسالة والمفتاح الخاص. [ 5 ]

خوارزمية التحقق من التوقيع

لكي يقوم بوب بالتحقق من صحة توقيع أليسر،s{\displaystyle r,s}في رسالةم{\displaystyle m}يجب أن يكون لديه نسخة من نقطة منحنى المفتاح العام الخاصة بهاسؤالأ{\displaystyle Q_{A}}يمكن لبوب أن يؤكد ذلك.سؤالأ{\displaystyle Q_{A}}تُعتبر نقطة المنحنى صالحة كما يلي:

  1. تأكد من ذلكسؤالأ{\displaystyle Q_{A}}لا يساوي العنصر المحايد O ، وإحداثياته ​​صالحة بخلاف ذلك.
  2. تأكد من ذلكسؤالأ{\displaystyle Q_{A}}يقع على المنحنى.
  3. تأكد من ذلكن×سؤالأ=يا{\displaystyle n\times Q_{A}=O}.

بعد ذلك، يتبع بوب هذه الخطوات:

  1. تحقق من أن r و s عددان صحيحان في[1،ن-1]{\displaystyle [1,n-1]}وإلا، فإن التوقيع غير صالح.
  2. احسبهـ=هاش(م){\displaystyle e={\textrm {HASH}}(m)}، حيث أن HASH هي نفس الوظيفة المستخدمة في إنشاء التوقيع.
  3. يتركz{\displaystyle z}كنلن{\displaystyle L_{n}}أقصى أجزاء e اليسرى .
  4. احسبu1=zs-1مودن{\displaystyle u_{1}=zs^{-1}\,{\bmod {\,}}n}وu2=رs-1مودن{\displaystyle u_{2}=rs^{-1}\,{\bmod {\,}}n}.
  5. احسب نقطة المنحنى(x1،y1)=u1×جي+u2×سؤالأ{\displaystyle (x_{1},y_{1})=u_{1}\times G+u_{2}\times Q_{A}}. لو(x1،y1)=يا{\displaystyle (x_{1},y_{1})=O}إذن، التوقيع غير صالح.
  6. يكون التوقيع صحيحاً إذارx1(مودن){\displaystyle r\equiv x_{1}{\pmod {n}}}وإلا فهي غير صالحة.

لاحظ أن التنفيذ الفعال سيحسب المعكوسs-1مودن{\displaystyle s^{-1}\,{\bmod {\,}}n}مرة واحدة فقط. كذلك، باستخدام خدعة شامير، يكون مجموع عمليتي ضرب عددين قياسيينu1×جي+u2×سؤالأ{\displaystyle u_{1}\times G+u_{2}\times Q_{A}}يمكن حسابها بشكل أسرع من عمليتي ضرب عددين قياسيين يتم إجراؤهما بشكل مستقل. [ 6 ]

صحة الخوارزمية

ليس من الواضح للوهلة الأولى سبب عمل عملية التحقق بشكل صحيح. لفهم السبب، لنرمز بـ C إلى نقطة المنحنى المحسوبة في الخطوة 5 من عملية التحقق.

ج=u1×جي+u2×سؤالأ{\displaystyle C=u_{1}\times G+u_{2}\times Q_{A}}

من تعريف المفتاح العام على النحو التاليسؤالأ=دأ×جي{\displaystyle Q_{A}=d_{A}\times G}،

ج=u1×جي+u2دأ×جي{\displaystyle C=u_{1}\times G+u_{2}d_{A}\times G}

لأن عملية الضرب القياسي في المنحنى الإهليلجي تتوزع على عملية الجمع،

ج=(u1+u2دأ)×جي{\displaystyle C=(u_{1}+u_{2}d_{A})\times G}

توسيع تعريفu1{\displaystyle u_{1}}وu2{\displaystyle u_{2}}من خطوة التحقق الرابعة،

ج=(zs-1+ردأs-1)×جي{\displaystyle C=(zs^{-1}+rd_{A}s^{-1})\times G}

جمع المصطلحات الشائعةs-1{\displaystyle s^{-1}}،

ج=(z+ردأ)s-1×جي{\displaystyle C=(z+rd_{A})s^{-1}\times G}

توسيع تعريف s من خطوة التوقيع 6،

ج=(z+ردأ)(z+ردأ)-1(ك-1)-1×جي{\displaystyle C=(z+rd_{A})(z+rd_{A})^{-1}(k^{-1})^{-1}\times G}

بما أن معكوس المعكوس هو العنصر الأصلي، وحاصل ضرب معكوس العنصر في العنصر نفسه هو العنصر المحايد، فإننا نتبقى مع

ج=ك×جي{\displaystyle C=k\times G}

انطلاقاً من تعريف r ، فإن هذه هي خطوة التحقق السادسة.

هذا يوضح فقط أن الرسالة الموقعة بشكل صحيح سيتم التحقق منها بشكل صحيح؛ هناك خصائص أخرى مطلوبة لخوارزمية توقيع آمنة، مثل فشل الرسائل الموقعة بشكل غير صحيح في التحقق منها بشكل صحيح ومقاومة الهجمات التحليلية المشفرة.

استعادة المفتاح العام

بافتراض وجود رسالة m وتوقيع أليسر،s{\displaystyle r,s}بناءً على تلك الرسالة، يمكن لبوب (ربما) استعادة المفتاح العام لأليس: [ 7 ]

  1. تحقق من أن r و s عددان صحيحان في[1،ن-1]{\displaystyle [1,n-1]}وإلا، فإن التوقيع غير صالح.
  2. احسب نقطة المنحنىR=(x1،y1){\displaystyle R=(x_{1},y_{1})}أينx1{\displaystyle x_{1}}هو أحدر{\displaystyle r}،ر+ن{\displaystyle r+n}،ر+2ن{\displaystyle r+2n}إلخ. (شريطةx1{\displaystyle x_{1}}(ليست كبيرة جدًا بالنسبة لمجال المنحنى) وy1{\displaystyle y_{1}}هي قيمة تحقق معادلة المنحنى. لاحظ أنه قد توجد عدة نقاط على المنحنى تحقق هذه الشروط، وكل قيمة مختلفة لـ R تؤدي إلى مفتاح مستعاد مميز.
  3. احسبهـ=هاش(م){\displaystyle e={\textrm {HASH}}(m)}، حيث أن HASH هي نفس الوظيفة المستخدمة في إنشاء التوقيع.
  4. ليكن z هولن{\displaystyle L_{n}}أقصى أجزاء e اليسرى .
  5. احسبu1=-zر-1مودن{\displaystyle u_{1}=-zr^{-1}\,{\bmod {\,}}n}وu2=sر-1مودن{\displaystyle u_{2}=sr^{-1}\,{\bmod {\,}}n}.
  6. احسب نقطة المنحنىسؤالأ=(xأ،yأ)=u1×جي+u2×R{\displaystyle Q_{A}=(x_{A},y_{A})=u_{1}\times G+u_{2}\times R}.
  7. يكون التوقيع صحيحاً إذاسؤالأ{\displaystyle Q_{A}}، يطابق المفتاح العام لأليس.
  8. التوقيع غير صالح إذا تم تجربة جميع نقاط R الممكنة ولم يتطابق أي منها مع المفتاح العام لأليس.

لاحظ أن التوقيع غير الصالح، أو التوقيع من رسالة مختلفة، سيؤدي إلى استعادة مفتاح عام خاطئ. لا يمكن استخدام خوارزمية الاستعادة للتحقق من صحة التوقيع إلا إذا كان المفتاح العام للموقّع (أو تجزئته) معروفًا مسبقًا.

صحة خوارزمية الاسترداد

ابدأ بتعريفسؤالأ{\displaystyle Q_{A}}من الخطوة السادسة من عملية التعافي،

سؤالأ=(xأ،yأ)=u1×جي+u2×R{\displaystyle Q_{A}=(x_{A},y_{A})=u_{1}\times G+u_{2}\times R}

من التعريفR=(x1،y1)=ك×جي{\displaystyle R=(x_{1},y_{1})=k\times G}بدءًا من خطوة التوقيع الرابعة،

سؤالأ=u1×جي+u2ك×جي{\displaystyle Q_{A}=u_{1}\times G+u_{2}k\times G}

لأن عملية الضرب القياسي في المنحنى الإهليلجي تتوزع على عملية الجمع،

سؤالأ=(u1+u2ك)×جي{\displaystyle Q_{A}=(u_{1}+u_{2}k)\times G}

توسيع تعريفu1{\displaystyle u_{1}}وu2{\displaystyle u_{2}}من الخطوة الخامسة للتعافي،

سؤالأ=(-zر-1+sكر-1)×جي{\displaystyle Q_{A}=(-zr^{-1}+skr^{-1})\times G}

توسيع تعريف s من خطوة التوقيع 6،

سؤالأ=(-zر-1+ك-1(z+ردأ)كر-1)×جي{\displaystyle Q_{A}=(-zr^{-1}+k^{-1}(z+rd_{A})kr^{-1})\times G}

بما أن حاصل ضرب معكوس عنصر ما في ذلك العنصر هو العنصر المحايد، فإننا نتبقى مع

سؤالأ=(-zر-1+(zر-1+دأ))×جي{\displaystyle Q_{A}=(-zr^{-1}+(zr^{-1}+d_{A}))\times G}

يلغي الحدان الأول والثاني بعضهما بعضاً،

سؤالأ=دأ×جي{\displaystyle Q_{A}=d_{A}\times G}

من تعريفسؤالأ=دأ×جي{\displaystyle Q_{A}=d_{A}\times G}هذا هو المفتاح العام لأليس.

يُظهر هذا أن الرسالة الموقعة بشكل صحيح ستستعيد المفتاح العام الصحيح، بشرط مشاركة معلومات إضافية لحساب نقطة المنحنى بشكل فريد.R=(x1،y1){\displaystyle R=(x_{1},y_{1})}من قيمة التوقيع r .

حماية

في ديسمبر 2010، أعلنت مجموعة تُطلق على نفسها اسم fail0verflow استعادة المفتاح الخاص لخوارزمية ECDSA الذي استخدمته سوني لتوقيع برامج جهاز ألعاب بلاي ستيشن 3. ومع ذلك، لم ينجح هذا الهجوم إلا لأن سوني لم تُطبّق الخوارزمية بشكل صحيح، لأنك{\displaystyle k}كانت ثابتة بدلاً من أن تكون عشوائية. وكما هو موضح في قسم خوارزمية توليد التوقيع أعلاه، فإن هذا يجعلدأ{\displaystyle d_{A}}قابلة للحل، مما يجعل الخوارزمية بأكملها عديمة الفائدة. [ 8 ]

في 29 مارس 2011، نشر باحثان ورقة بحثية في مؤتمر IACR [ 9 ] تُثبت إمكانية استرجاع مفتاح TLS الخاص بخادم يستخدم OpenSSL للمصادقة باستخدام خوارزمية Elliptic Curves DSA على حقل ثنائي، وذلك عبر هجوم زمني . [ 10 ] وقد تم إصلاح هذه الثغرة الأمنية في OpenSSL 1.0.0f. [ 11 ]

في أغسطس 2013، تم الكشف عن أن الأخطاء في بعض تطبيقات فئة Java SecureRandom كانت تتسبب أحيانًا في حدوث تصادمات فيك{\displaystyle k}القيمة. وقد سمح هذا للمخترقين باستعادة المفاتيح الخاصة، مما منحهم نفس التحكم في معاملات البيتكوين الذي كان يتمتع به أصحاب المفاتيح الشرعية، باستخدام نفس الثغرة التي استُخدمت للكشف عن مفتاح توقيع PS3 في بعض تطبيقات أندرويد ، التي تستخدم جافا وتعتمد على ECDSA لمصادقة المعاملات. [ 12 ]

يمكن منع هذه المشكلة عن طريق التوليد الحتمي لـ k، كما هو موضح في RFC 6979.

مخاوف

بعض المخاوف التي تم التعبير عنها بشأن قانون استئصال الندبة الإكلينيكية:

  1. مخاوف سياسية : تثار الشكوك حول مصداقية المنحنيات التي ينتجها المعهد الوطني للمعايير والتكنولوجيا (NIST) بعد الكشف عن قيام وكالة الأمن القومي الأمريكية (NSA) بإدخال أبواب خلفية عمدًا في البرامج ومكونات الأجهزة والمعايير المنشورة؛ وقد أعرب خبراء تشفير معروفون [ 13 ] [ 14 ] [ 15 ] عن شكوكهم حول كيفية تصميم منحنيات NIST، كما ثبت سابقًا وجود تلوث متعمد [ 16 ] [ 17 ] . (انظر أيضًا مقدمة مكتبة libssh curve25519 [ 18 ] ) . ومع ذلك، لا يزال الدليل على أن منحنيات NIST المذكورة تستغل ثغرة أمنية نادرة غير متوفر.
  2. المخاوف التقنية : صعوبة تطبيق المعيار بشكل صحيح، وبطء تنفيذه، وعيوب التصميم التي تقلل من الأمان في التطبيقات غير الدفاعية بشكل كافٍ. [ 19 ]

التطبيقات

فيما يلي قائمة بمكتبات التشفير التي توفر الدعم لخوارزمية ECDSA:

انظر أيضاً

مراجع

  1. جونسون، دون؛ مينيزيس، ألفريد (1999). "خوارزمية التوقيع الرقمي للمنحنى الإهليلجي (ECDSA)". أبحاث سيرتيكوم. كندا . CiteSeerX 10.1.1.38.8014 . 
  2. "NIST FIPS 186-4، يوليو 2013، الصفحتان 19 و26" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 27 ديسمبر 2016. تم الاطلاع عليه بتاريخ 17 مارس 2014 .
  3. اختراق أجهزة الألعاب 2010 - فشل ذريع لجهاز بلاي ستيشن 3 ، مؤرشف في 15 ديسمبر 2014، في أرشيف الإنترنت ، الصفحات 123-128
  4. "ثغرة أمنية في نظام أندرويد" . مؤرشف من الأصل في 7 أبريل 2019. تم الاطلاع عليه في 24 فبراير 2015 .
  5. بورنين، ت. (2013). RFC 6979 - الاستخدام الحتمي لخوارزمية التوقيع الرقمي (DSA) وخوارزمية التوقيع الرقمي للمنحنى الإهليلجي (ECDSA) (تقرير فني). doi : 10.17487/RFC6979 . تاريخ الاسترجاع: 24 فبراير 2015 .
  6. "نظام الأرقام ذو الأساس المزدوج في تشفير المنحنيات الإهليلجية" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 26 يوليو 2011. تم الاطلاع عليه بتاريخ 22 أبريل 2014 .
  7. دانيال آر إل براون، SECG SEC 1: تشفير المنحنيات الإهليلجية (الإصدار 2.0) https://www.secg.org/sec1-v2.pdf
  8. بيندل، مايك (29 ديسمبر 2010). "مخترقون يصفون أمن جهاز بلاي ستيشن 3 بالفشل الذريع، ويحصلون على وصول غير مقيد" . Exophase.com. مؤرشف من الأصل في 7 أبريل 2019. تم الاطلاع عليه في 5 يناير 2011 .
  9. "أرشيف الطباعة الإلكترونية لعلم التشفير: التقرير 2011/232" . مؤرشف من الأصل في 8 ديسمبر 2018. تم الاطلاع عليه في 24 فبراير 2015 .
  10. «ملاحظة حول الثغرة الأمنية VU#536044 - تسريب OpenSSL للمفتاح الخاص ECDSA من خلال هجوم توقيت عن بُعد» . www.kb.cert.org . مؤرشف من الأصل بتاريخ 7 أبريل 2019. تم الاطلاع عليه بتاريخ 24 مايو 2011 .
  11. "الثغرات الأمنية" . مشروع OpenSSL . تم الاطلاع عليه في 13 يونيو 2026 .
  12. "خلل في نظام أندرويد يُلحق الضرر بمحافظ البيتكوين" . ذا ريجستر. ١٢ أغسطس ٢٠١٣. مؤرشف من الأصل في ١٥ أغسطس ٢٠١٣. تم الاطلاع عليه في ٢٧ أغسطس ٢٠١٧ .
  13. شناير، بروس (5 سبتمبر 2013). "وكالة الأمن القومي تخترق معظم أنظمة التشفير على الإنترنت" . شناير حول الأمن . مؤرشف من الأصل في 15 ديسمبر 2017. تم الاطلاع عليه في 11 يناير 2018 .
  14. "المنحنيات الآمنة: اختيار المنحنيات الآمنة لتشفير المنحنيات الإهليلجية" . 25 أكتوبر 2013. مؤرشف من الأصل في 7 أبريل 2019. تم الاطلاع عليه في 11 يناير 2018 .
  15. بيرنشتاين، دانيال جيه؛ لانج، تانيا (31 مايو 2013). "مخاطر أمنية لمنحنيات المعهد الوطني للمعايير والتكنولوجيا" (ملف PDF) . مؤرشف (ملف PDF) من الأصل في 28 مايو 2019. تم الاطلاع عليه في 11 يناير 2018 .
  16. شناير، بروس (15 نوفمبر 2007). "القصة الغريبة لـ Dual_EC_DRBG" . شناير حول الأمن . مؤرشف من الأصل في 23 أبريل 2019. تم الاطلاع عليه في 11 يناير 2018 .
  17. غرينماير، لاري (18 سبتمبر 2013). "جهود وكالة الأمن القومي للتهرب من تقنية التشفير أضرت بمعيار التشفير الأمريكي" . مجلة ساينتفك أمريكان. مؤرشف من الأصل في 24 ديسمبر 2017. تم الاطلاع عليه في 11 يناير 2018 .
  18. "curve25519-sha256@libssh.org.txt\doc - projects/libssh.git" . مستودع libssh المشترك . مؤرشف من الأصل في 23 مارس 2019. تم الاطلاع عليه في 11 يناير 2018 .
  19. بيرنشتاين، دانيال ج. (23 مارس 2014). "كيفية تصميم نظام توقيع باستخدام منحنى إهليلجي" . مدونة cr.yp.to. مؤرشف من الأصل في 23 مارس 2014. تم الاطلاع عليه في 11 يناير 2018 .

للمزيد من القراءة