نظام التشفير RSA

نظام التشفير RSA ( ريفست -شامير-أدلمان ) هو عائلة من أنظمة التشفير ذات المفتاح العام (من أقدمها)، ويُستخدم على نطاق واسع لنقل البيانات بشكل آمن. يُشتق اختصار "RSA" من ألقاب رون ريفست ، وآدي شامير، وليونارد أدلمان ، الذين وصفوا الخوارزمية علنًا عام 1977. [ 1 ] [ 2 ] [ 3 ] وقد طُوّر نظام مُكافئ سرًا عام 1973 في مقر الاتصالات الحكومية البريطانية (GCHQ)، وكالة الاستخبارات البريطانية ، على يد عالم الرياضيات الإنجليزي كليفورد كوكس . ورُفعت السرية عن هذا النظام عام 1997. [ 4 ]

تُستخدم خوارزمية RSA في التوقيع الرقمي مثل RSASSA-PSS أو RSA-FDH ، [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] وتشفير المفتاح العام للرسائل القصيرة جدًا (عادةً ما يكون مفتاحًا متماثلًا للاستخدام لمرة واحدة في نظام تشفير هجين ) مثل RSAES-OAEP ، [ 11 ] [ 12 ] [ 13 ] [ 10 ] وتغليف المفتاح العام . [ 14 ] [ 15 ] [ 16 ]

في التشفير القائم على خوارزمية RSA، يكون المفتاح الخاص للمستخدم - والذي يُستخدم لتوقيع الرسائل أو فك تشفير الرسائل المُرسلة إليه - عبارة عن زوج من الأعداد الأولية الكبيرة المختارة عشوائيًا والمحفوظة سرًا. أما المفتاح العام للمستخدم - والذي يُستخدم للتحقق من صحة الرسائل الواردة منه أو تشفيرها بحيث لا يستطيع فك تشفيرها إلا هو - فهو ناتج ضرب هذين العددين الأوليين.

يرتبط أمان خوارزمية RSA بصعوبة تحليل حاصل ضرب عددين أوليين كبيرين إلى عواملهما الأولية، وهي ما يُعرف بـ " مشكلة التحليل إلى عوامل ". ويُطلق على كسر تشفير RSA اسم " مشكلة RSA " . ولا يزال مدى صعوبة هذه المشكلة، مقارنةً بمشكلة التحليل إلى عواملها الأولية، محل نقاش. [ 17 ] ولا توجد طرق منشورة لاختراق النظام في حال استخدام مفتاح كبير بما يكفي.

تاريخ

آدي شامير ، المخترع المشارك لخوارزمية RSA (والآخرون هم رون ريفست وليونارد أدلمان ).

يُنسب ابتكار نظام التشفير غير المتماثل ذي المفتاح العام والخاص إلى ويتفيلد ديفي ومارتن هيلمان ، اللذين نشرا هذا المفهوم عام ١٩٧٦. وقد قدّما أيضًا التوقيعات الرقمية وحاولا تطبيق نظرية الأعداد. اعتمدت صياغتهما على مفتاح سري مشترك مُنشأ من رفع عدد ما إلى أسّه، بتردد عدد أولي. مع ذلك، تركا مشكلة تحقيق دالة أحادية الاتجاه مفتوحة، ربما لأن صعوبة التحليل إلى عوامل أولية لم تكن مدروسة جيدًا في ذلك الوقت. [ ١٨ ] علاوة على ذلك، وكما هو الحال في نظام ديفي-هيلمان ، يعتمد نظام RSA على الرفع الأسي المعياري .

قام رون ريفست ، وآدي شامير ، وليونارد أدلمان في معهد ماساتشوستس للتكنولوجيا بمحاولات عديدة على مدار عام كامل لابتكار دالة يصعب عكسها. اقترح ريفست وشامير، بصفتهما عالمَي حاسوب، العديد من الدوال المحتملة، بينما تولى أدلمان، بصفته عالم رياضيات، مسؤولية تحديد نقاط ضعفها. جربوا العديد من المناهج، بما في ذلك "المنهج القائم على نظرية الحقيبة " و"متعددات حدود التبديل". لفترة من الزمن، اعتقدوا أن ما يريدون تحقيقه مستحيل بسبب المتطلبات المتناقضة. [ 19 ] في أبريل 1977، قضوا عيد الفصح في منزل أحد الطلاب وشربوا كمية كبيرة من النبيذ قبل عودتهم إلى منازلهم حوالي منتصف الليل. [ 20 ] لم يستطع ريفست النوم، فاستلقى على الأريكة مع كتاب رياضيات وبدأ يفكر في دالتهم أحادية الاتجاه. أمضى بقية الليل في صياغة فكرته، وكان قد أنجز جزءًا كبيرًا من البحث بحلول الفجر. تُعرف الخوارزمية الآن باسم RSA - وهي الأحرف الأولى من ألقابهم بنفس ترتيب البحث. [ 21 ] 

وصف كليفورد كوكس ، عالم الرياضيات الإنجليزي الذي كان يعمل لدى مقر الاتصالات الحكومية البريطانية (GCHQ)، نظامًا مشابهًا في وثيقة داخلية عام 1973. [ 22 ] ومع ذلك، ونظرًا لتكلفة الحواسيب الباهظة نسبيًا اللازمة لتنفيذه في ذلك الوقت، فقد اعتُبر مجرد فكرة غريبة، وعلى حد علم العامة، لم يُستخدم قط. ولم تُكشف أفكاره ومفاهيمه إلا في عام 1997 نظرًا لتصنيفها السري للغاية.

Kid-RSA (KRSA) هو نظام تشفير مفتاح عام مبسط وغير آمن، نُشر عام 1997، وصُمم لأغراض تعليمية. يُتيح Kid-RSA فهمًا أعمق لنظام RSA وأنظمة التشفير الأخرى ذات المفتاح العام، على غرار DES المبسط . [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ]

براءة اختراع

مُنحت براءة اختراع تصف خوارزمية RSA لمعهد ماساتشوستس للتكنولوجيا في 20 سبتمبر 1983: براءة الاختراع الأمريكية رقم 4,405,829 بعنوان "نظام وطريقة اتصالات تشفيرية". من ملخص براءة الاختراع الصادر عن قسم علوم الحاسوب والمعلومات (DWPI) :

يتضمن النظام قناة اتصال متصلة بطرفية واحدة على الأقل مزودة بجهاز تشفير، وطرفية أخرى على الأقل مزودة بجهاز فك تشفير. تُشفّر الرسالة المراد نقلها إلى نص مشفر في طرفية التشفير عن طريق تشفيرها كرقم M ضمن مجموعة محددة مسبقًا. ثم يُرفع هذا الرقم إلى قوة محددة مسبقًا (مرتبطة بالمستقبل المقصود)، ويُحسب الناتج. أما الباقي، C، فيُحسب بقسمة الرقم المرفوع على حاصل ضرب عددين أوليين محددين مسبقًا (مرتبطين بالمستقبل المقصود).

نُشر وصفٌ مُفصّلٌ للخوارزمية في أغسطس 1977، في عمود "الألعاب الرياضية" بمجلة " ساينتفك أمريكان" . [ 2 ] [ 21 ] وقد سبق ذلك تاريخ تقديم طلب براءة الاختراع في ديسمبر 1977. ونتيجةً لذلك، لم تكن لبراءة الاختراع أيّة صفة قانونية خارج الولايات المتحدة . ولو كان عمل كوكس معروفًا للعامة، لما كانت براءة الاختراع في الولايات المتحدة قانونية أيضًا.

عند إصدار براءة الاختراع، كانت مدتها 17 عامًا. وكانت براءة الاختراع على وشك الانتهاء في 21 سبتمبر 2000، لكن شركة RSA Security أتاحت الخوارزمية للعموم في 6 سبتمبر 2000. [ 28 ]

عملية

تتضمن خوارزمية RSA أربع خطوات: توليد المفتاح ، وتوزيع المفتاح، وعملية المفتاح العام (المستخدمة للتشفير أو التحقق من التوقيع)، وعملية المفتاح الخاص (المستخدمة لفك التشفير أو توقيع الرسالة).

أحد المبادئ الأساسية وراء RSA هو ملاحظة أنه من العملي إيجاد ثلاثة أعداد صحيحة موجبة كبيرة جدًا e و d و n ، بحيث يكون لكل عدد صحيح x ( 0 x < n )، يكون لكل من ( x e ) d و x نفس الباقي عند القسمة على n (متطابقان بتردد n ):(xهـ)دx(مودن).{\displaystyle (x^{e})^{d}\equiv x{\pmod {n}}.}ومع ذلك، عندما يتم إعطاء e و n فقط ، فمن غير الممكن حساب الجذور e بتردد n ؛ أي، بالنسبة لـ y العشوائي المنتظم ( 0 y < n )، من الصعب للغاية إيجاد x بحيث يكون x ey (mod n ) .

يشكل العددان الصحيحان n و e المفتاح العام، بينما يمثل d المفتاح الخاص. يُستخدم الرفع الأسي المعياري للقوة e في التشفير والتحقق من التوقيعات، بينما يُستخدم الرفع الأسي للقوة d في فك التشفير وتوقيع الرسائل.

توليد المفاتيح

يتم توليد مفاتيح خوارزمية RSA بالطريقة التالية:

  1. اختر عددين أوليين كبيرين مختلفين p و q .
    • لجعل عملية التحليل إلى عوامل أولية غير ممكنة، يجب اختيار p و q عشوائيًا من مجموعة كبيرة من الاحتمالات، مثل جميع الأعداد الأولية بين 2^ 1023 و 2^ 1024 (المقابلة لمفتاح 2048 بت). تُستخدم العديد من الخوارزميات المختلفة لاختيار الأعداد الأولية في الممارسة العملية. [ 29 ]
    • يتم إبقاء p و q سراً.
  2. احسب n = pq .
    • يُستخدم n كمعامل لكل من المفتاح العام والمفتاح الخاص. طوله، الذي يُعبر عنه عادةً بالبتات، هو طول المفتاح .
    • يتم إصدار n كجزء من المفتاح العام.
  3. احسب λ ( n ) ، حيث λ هي دالة كارمايكل . بما أن n = pq ، فإن λ ( n ) = المضاعف المشترك الأصغر ( λ ( p ), λ ( q ))  ، وبما أن p و q عددان أوليان، فإن λ ( p ) = φ ( p ) = p - 1 ، وبالمثل λ ( q ) = q - 1. ومن ثم، فإن λ ( n ) = المضاعف المشترك الأصغر ( p - 1, q - 1) .
    • يمكن حساب المضاعف المشترك الأصغر من خلال خوارزمية إقليدس ، حيث أن lcm ( a , b ) = | ab | / gcd( a , b ) .  
    • يتم إبقاء λ ( n )
  4. اختر عددًا صحيحًا e بحيث يكون 1 < e < λ ( n ) و gcd ( e , λ ( n )) = 1 ؛ أي أن e و λ ( n ) أوليان فيما بينهما .
    • يؤدي استخدام طول بت قصير ووزن هامينغ صغير لـ e إلى تشفير أكثر كفاءة - القيمة الأكثر شيوعًا لـ e هي 2 ^16 + 1 = ٦٥٥٣٧. أصغر قيمة ممكنة (وأسرعها) لـ e هي ٣، ولكن هذه القيمة الصغيرة لـ e قد تكشف عن ثغرات أمنية في أنظمة الحشو غير الآمنة. [ ٣٠ ] [ أ ]
    • يتم إصدار e كجزء من المفتاح العام.
  5. حدد d على أنه de −1 (mod λ ( n ) ) ؛ أي أن d هو المعكوس الضربي المعياري لـ e modulo λ ( n ) .
    • وهذا يعني: حل المعادلة de ≡ 1 (mod λ ( n ) ) ؛ يمكن حساب d بكفاءة باستخدام خوارزمية إقليدس الموسعة ، لأنه بفضل كون e و λ ( n ) أوليين فيما بينهما، فإن المعادلة المذكورة هي شكل من أشكال هوية بيزو ، حيث d هو أحد المعاملات.
    • يتم الاحتفاظ بـ d سراً باعتباره أس المفتاح الخاص .

يتكون المفتاح العام من المعامل n والأس العام e . أما المفتاح الخاص فيتكون من الأس الخاص d ، والذي يجب الحفاظ على سريته. كما يجب الحفاظ على سرية p و q و λ ( n ) لأنها تُستخدم لحساب d . في الواقع، يمكن حذفها جميعًا بعد حساب d . [ 31 ]

في ورقة RSA الأصلية [ 3 ] ، تُستخدم دالة أويلر φ ( n ) = ( p − 1)( q − 1) بدلاً من λ ( n ) لحساب الأس الخاص d . ولأن φ ( n ) تقبل القسمة دائمًا على λ ( n ) ، فإن الخوارزمية تعمل بكفاءة. وتنتج إمكانية استخدام دالة أويلر أيضًا من نظرية لاغرانج المطبقة على المجموعة الضربية للأعداد الصحيحة بتردد pq . وبالتالي، فإن أي قيمة لـ d تحقق de ≡ 1 (mod φ ( n )) تحقق أيضًا de ≡ 1 (mod λ ( n )) . مع ذلك، قد ينتج عن حساب d بتردد φ ( n ) أحيانًا نتيجة أكبر من اللازم (أي d > λ ( n ) ). تقبل معظم تطبيقات خوارزمية RSA الأسس المُولَّدة باستخدام أيٍّ من الطريقتين (إذا كانت تستخدم الأس الخاص d ، بدلاً من استخدام طريقة فك التشفير المُحسَّنة القائمة على نظرية الباقي الصينية الموضحة أدناه)، ولكن قد تشترط بعض المعايير، مثل FIPS  186-4 (القسم B.3.1)، أن يكون d < λ ( n ) . ويمكن دائمًا اختزال أي أسس خاصة "كبيرة" لا تستوفي هذا المعيار بتردد λ ( n ) للحصول على أس مكافئ أصغر.

ملاحظة: قام مؤلفو ورقة RSA الأصلية بتوليد المفتاح عن طريق اختيار d ثم حساب e كمعكوس ضربي معياري لـ d modulo φ ( n ) ، بينما تقوم معظم التطبيقات الحالية لـ RSA، مثل تلك التي تتبع PKCS#1 ، بالعكس - أي اختيار e وحساب d منه. بما أن e يمكن أن يكون صغيرًا وثابتًا بأمان، بينما يجب اختيار d من فضاء كبير بما يكفي لمقاومة الهجوم، فإن النهج الحديث يمكن أن يقلل من تكلفة عملية المفتاح العام دون فقدان الأمان. [ 3 ] [ 32 ]

توزيع المفاتيح

لنفترض أن بوب يريد إرسال رسائل سرية إلى أليس ، أو التحقق من صحة رسائلها. إذا قررا استخدام خوارزمية RSA، فيجب على بوب معرفة المفتاح العام لأليس لتشفير رسائله السرية أو التحقق من صحة رسائلها، ويجب على أليس استخدام مفتاحها الخاص لفك تشفير رسائل بوب السرية أو توقيع رسائلها.

لتمكين بوب من إرسال رسائله المشفرة أو التحقق من رسائلها المستقبلية، تُرسل أليس مفتاحها العام ( n , e ) إلى بوب عبر مسار موثوق، ولكنه ليس بالضرورة سريًا. أما مفتاح أليس الخاص ( d ) فلا يُوزع أبدًا.

التشفير

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

للقيام بذلك، يقوم أولاً بتحويل M إلى عدد صحيح m ، وهو النص الأصلي المُضاف إليه الحشو ، بحيث يكون 0 m < n ، وذلك باستخدام بروتوكول عكسي متفق عليه يُعرف باسم مخطط الحشو . ثم يحسب النص المشفر c ، باستخدام المفتاح العام e الخاص بأليس ، كما يلي:

جمهـ(مودن).{\displaystyle c\equiv m^{e}{\pmod {n}}.}

يمكن إنجاز ذلك بسرعة معقولة، حتى للأعداد الكبيرة جدًا، باستخدام الأسس المعيارية . ثم يرسل بوب قيمة c إلى أليس. لاحظ أن تسع قيم على الأقل لـ m ستُنتج نصًا مشفرًا c يساوي m ، [ b ولكن من غير المرجح حدوث ذلك عمليًا.

فك التشفير

تستطيع أليس استعادة m من c باستخدام مفتاحها الخاص، الأس d، عن طريق الحساب.

جد(مهـ)دم(مودن).{\displaystyle c^{d}\equiv (m^{e})^{d}\equiv m{\pmod {n}}.}

بفرض m ، يمكنها استعادة الرسالة الأصلية M عن طريق عكس مخطط الحشو، أو تجاهلها باعتبارها تالفة إذا كان الحشو غير صالح.

يجب على أليس تجاهل الرسالة m إذا كانت الحشوة غير صالحة: فإذا كشفت عن أي معلومات حول m عندما تكون الحشوة غير صالحة، يمكن للمهاجم استغلال ذلك لفك تشفير (أو توقيع) الرسائل دون معرفة المفتاح الخاص، وذلك عن طريق إرسال نصوص مشفرة عشوائية أو مصممة بشكل خبيث إليها ومراقبة كيفية استجابتها. [ 33 ]

مثال

فيما يلي مثال على تشفير وفك تشفير RSA، مع تجاهل تفاصيل الحشو: [ ج ]

  1. اختر عددين أوليين مختلفين، مثل
    ص=61{\displaystyle p=61}وq=53{\displaystyle q=53}.
  2. احسب n = pq، مما يعطي
    ن=61×53=3233.{\displaystyle n=61\times 53=3233.}
  3. احسب دالة كارمايكل للضرب على النحو التالي: λ ( n ) = lcm ( p - 1, q - 1) مما يعطي
    λ(3233)=المضاعف المشترك الأصغر(60،52)=780.{\displaystyle \lambda (3233)=\operatorname {lcm} (60,52)=780.}
  4. اختر أي عدد 1 < e < 780 يكون أوليًا نسبيًا مع 780. باختيار عدد أولي لـ e ، يبقى علينا فقط التحقق من أن e ليس قاسمًا لـ 780.
    يتركهـ=17{\displaystyle e=17}.
  5. احسب d ، وهو المعكوس الضربي المعياري لـ e (mod λ ( n )) ، مما ينتج عنهد=413،{\displaystyle d=413,}مثل1=(17×413)مود780.{\displaystyle 1=(17\times 413){\bmod {7}}80.}

المفتاح العام هو ( n = 3233، e = 17) . بالنسبة لرسالة نصية عادية مُبطّنة m ، تكون دالة التشفير هي ج(م)=مهـمودن=م17مود3233.{\displaystyle {\begin{aligned}c(m)&=m^{e}{\bmod {n}}\\&=m^{17}{\bmod {3}}233.\end{aligned}}}

المفتاح الخاص هو ( n = 3233، d = 413) . بالنسبة للنص المشفر c ، فإن دالة فك التشفير هي م(ج)=جدمودن=ج413مود3233.{\displaystyle {\begin{aligned}m(c)&=c^{d}{\bmod {n}}\\&=c^{413}{\bmod {3}}233.\end{aligned}}}

على سبيل المثال، لتشفير m = 65 ، يتم حساب ج=6517مود3233=2790.{\displaystyle c=65^{17}{\bmod {3}}233=2790.}

لفك تشفير c = 2790 ، يتم حساب م=2790413مود3233=65.{\displaystyle m=2790^{413}{\bmod {3}}233=65.}

يمكن إجراء كلا الحسابين بكفاءة باستخدام خوارزمية التربيع والضرب للأس المعياري . في الواقع، ستكون الأعداد الأولية المختارة أكبر بكثير؛ في مثالنا، سيكون من السهل تحليل العدد n = 3233 (المستخرج من المفتاح العام المتاح مجانًا) إلى العددين الأوليين p و q . ثم يُقلب العدد e ، المستخرج أيضًا من المفتاح العام، للحصول على d ، ومن ثم الحصول على المفتاح الخاص.

تستخدم التطبيقات العملية نظرية الباقي الصينية لتسريع الحساب باستخدام معيار العوامل (mod pq باستخدام mod p و mod q ).

يتم حساب القيم d p و d q و q inv ، التي تشكل جزءًا من المفتاح الخاص، على النحو التالي: دص=دمود(ص-1)=413مود(61-1)=53،دq=دمود(q-1)=413مود(53-1)=49،qالاستثمار=q-1مودص=53-1مود61=38(qالاستثمار×q)مودص=38×53مود61=1.{\displaystyle {\begin{aligned}d_{p}&=d{\bmod {(}}p-1)=413{\bmod {(}}61-1)=53,\\d_{q}&=d{\bmod {(}}q-1)=413{\bmod {(}}53-1)=49,\\q_{\text{inv}}&=q^{-1}{\bmod {p}}=53^{-1}{\bmod {6}}1=38\\&\Rightarrow (q_{\text{inv}}\times q){\bmod {p}}=38\times 53{\bmod {6}}1=1.\end{aligned}}}

إليك كيفية استخدام d p و d q و q inv لفك التشفير بكفاءة (يكون التشفير فعالاً باختيار زوج مناسب من d و e ): م1=جدصمودص=279053مود61=4،م2=جدqمودq=279049مود53=12،ح=(qالاستثمار×(م1-م2))مودص=(38×-8)مود61=1،م=م2+ح×q=12+1×53=65.{\displaystyle {\begin{aligned}m_{1}&=c^{d_{p}}{\bmod {p}}=2790^{53}{\bmod {6}}1=4,\\m_{2}&=c^{d_{q}}{\bmod {q}}=2790^{49}{\bmod {5}}3=12,\\h&=(q_{\text{inv}}\times (m_{1}-m_{2})){\bmod {p}}=(38\times -8){\bmod {6}}1=1,\\m&=m_{2}+h\times q=12+1\times 53=65.\end{aligned}}}

التوقيع

لنفترض أن أليس ترغب في إرسال رسالة موقعة m إلى بوب. تقوم بإنشاء قيمة تجزئة h = hash( m ) للرسالة m ، وترفعها إلى قوة d (modulo n )، وترفق s = h d mod n كـ "توقيع" للرسالة.

تم التحقق

عندما يتلقى بوب الرسالة m والتوقيع s ، فإنه يستخدم نفس خوارزمية التجزئة بالاقتران مع المفتاح العام لأليس لحساب h = hash( m ) . ثم يرفع التوقيع s إلى قوة e (باقي القسمة على n )، ويقارن قيمة التجزئة الناتجة بقيمة تجزئة الرسالة.sهـ؟ح(مودن){\displaystyle s^{e}\mathrel {\stackrel {?}{\equiv }} h{\pmod {n}}}إذا اتفق الاثنان، فإنه يعلم أن كاتب الرسالة كان يمتلك المفتاح الخاص بأليس وأن الرسالة لم يتم التلاعب بها منذ إرسالها.

تتحقق هذه المعادلة عندما يكون s = h d mod n بسبب قواعد الأس : sهـ=(حد)هـ=حدهـ=حهـد=(حهـ)دح(مودن).{\displaystyle s^{e}=(h^{d})^{e}=h^{de}=h^{ed}=(h^{e})^{d}\equiv h{\pmod {n}}.}

تعتمد عملية الأسس المعيارية للتوقيع والتحقق على نفس الرياضيات الأساسية المستخدمة في فك التشفير والتشفير، ولكن جميع التفاصيل الأخرى المتعلقة بنظام الحشو لتشفير المفتاح العام الآمن والتجزئة للتوقيع الرقمي الآمن تختلف. [ 32 ]

إن استخدام التجزئة، الذي اقترحه مايكل أو. رابين لأول مرة في عام 1978 في خوارزمية توقيع رابين ذات الصلة ، [ 34 ] [ 35 ] وأمن التجزئة، أمر ضروري لأمن التوقيع: [ 36 ] [ 37 ] إذا تخطيت أليس وبوب التجزئة، وقام بوب بالتحقق من s em (mod n ) بدلاً من ذلك ، فإنه يمكن لأي شخص تزوير التوقيع s = 1 على الرسالة m = 1 ، أو أخذ رسالتين موقعتين ( m1 , s1 ) و ( m2 , s2 ) من أليس ثم تزوير رسالة ثالثة عن طريق الضرب، ( m1 m2 , s1 s2 ) ، دون معرفة المفتاح الخاص.

براهين الصحة

برهان باستخدام نظرية فيرما الصغرى

يستند برهان صحة RSA إلى نظرية فيرما الصغرى ، التي تنص على أن a p − 1 ≡ 1 (mod p ) لأي عدد صحيح a وعدد أولي p ، لا يقسم a . [ ملاحظة 1 ]

نريد أن نوضح ذلك (مهـ)دم(مودصq){\displaystyle (m^{e})^{d}\equiv m{\pmod {pq}}} لكل عدد صحيح m عندما يكون p و q عددين أوليين مختلفين و e و d عددين صحيحين موجبين يحققان ed ≡ 1 (mod λ ( pq )) .

بما أن λ ( pq ) = lcm ( p - 1, q - 1) يقبل القسمة على كل من p - 1 و q - 1 بحسب التعريف ، يمكننا كتابة هـد-1=ح(ص-1)=ك(q-1){\displaystyle ed-1=h(p-1)=k(q-1)} لبعض الأعداد الصحيحة غير السالبة h و k . [ ملاحظة 2 ]

للتحقق مما إذا كان عددان، مثل m ed و m ، متطابقين بتردد pq  ، يكفي (وهو في الواقع متكافئ) التحقق من تطابقهما بتردد p  وتردد q بشكل  منفصل. [ ملاحظة 3 ]

لإثبات أن m edm (mod p ) ، نأخذ في الاعتبار حالتين:

  1. إذا كان m ≡ 0 (mod p ) ، فإن m مضاعف لـ p . وبالتالي فإن m ed مضاعف لـ p . إذن m ed ≡ 0 ≡ m (mod p ) .
  2. إذا كان m ≢ 0 (mod p ) ،
    مهـد=مهـد-1م=مح(ص-1)م=(مص-1)حم1حمم(مودص)،{\displaystyle m^{ed}=m^{ed-1}m=m^{h(p-1)}m=(m^{p-1})^{h}m\equiv 1^{h}m\equiv m{\pmod {p}},}
    حيث استخدمنا نظرية فيرما الصغرى لاستبدال m p −1 mod p بـ 1.

يتم التحقق من أن m edm (mod q ) بطريقة مماثلة تمامًا:

  1. إذا كان m ≡ 0 (mod q ) ، فإن m ed هو مضاعف لـ q . لذا فإن m ed ≡ 0 ≡ m (mod q ) .
  2. إذا كان m ≢ 0 (mod q ) ،
    مهـد=مهـد-1م=مك(q-1)م=(مq-1)كم1كمم(مودq).{\displaystyle m^{ed}=m^{ed-1}m=m^{k(q-1)}m=(m^{q-1})^{k}m\equiv 1^{k}m\equiv m{\pmod {q}}.}

وهذا يُكمل البرهان على أنه، لأي عدد صحيح m ، وعددين صحيحين e و d بحيث يكون ed ≡ 1 (mod λ ( pq )) ، (مهـ)دم(مودصq).{\displaystyle (m^{e})^{d}\equiv m{\pmod {pq}}.}

ملحوظات

  1. لا يمكننا كسر RSA بسهولة عن طريق تطبيق النظرية (mod pq ) لأن pq ليس عددًا أوليًا.
  2. على وجه الخصوص، تنطبق العبارة أعلاه على أي قيمتين e و d تحققان الشرط ed ≡ 1 (mod ( p − 1)( q − 1)) ، لأن ( p − 1)( q − 1) يقبل القسمة على λ ( pq ) ، وبالتالي يقبل القسمة بشكل بديهي على p − 1 و q − 1 أيضًا . مع ذلك، في التطبيقات الحديثة لخوارزمية RSA، من الشائع استخدام أس خاص مُختزل d يحقق فقط الشرط الأضعف، ولكنه كافٍ، وهو ed ≡ 1 (mod λ ( pq )) .
  3. هذا جزء من نظرية الباقي الصينية ، على الرغم من أنه ليس الجزء المهم من تلك النظرية.

البرهان باستخدام نظرية أويلر

على الرغم من أن الورقة الأصلية لريفست وشامير وأدلمان استخدمت نظرية فيرما الصغيرة لشرح سبب نجاح RSA، إلا أنه من الشائع العثور على براهين تعتمد بدلاً من ذلك على نظرية أويلر .

نريد أن نُثبت أن edm (mod n ) ، حيث n = pq هو حاصل ضرب عددين أوليين مختلفين، و e و d عددان صحيحان موجبان يحققان ed ≡ 1 (mod φ ( n )) . بما أن e و d موجبان، يمكننا كتابة ed = 1 + h φ ( n ) لعدد صحيح غير سالب h . بافتراض أن m أولي نسبيًا مع n ، لدينا مهـد=م1+حφ(ن)=م(مφ(ن))حم(1)حم(مودن)،{\displaystyle m^{ed}=m^{1+h\varphi (n)}=m(m^{\varphi (n)})^{h}\equiv m(1)^{h}\equiv m{\pmod {n}},}

حيث يتبع التطابق قبل الأخير من نظرية أويلر .

وبشكل أكثر عمومية، بالنسبة لأي e و d يحقق ed ≡ 1 (mod λ ( n )) ، فإن نفس النتيجة تتبع من تعميم كارمايكل لنظرية أويلر ، والتي تنص على أن m λ (n) ≡ 1 (mod n ) لجميع m أولية نسبياً مع n .

عندما لا يكون m أوليًا نسبيًا مع n ، فإن الحجة المذكورة آنفًا غير صالحة. هذا أمرٌ مستبعدٌ للغاية (نسبةٌ فقط من الأعداد التي تحقق هذا الشرط هي 1/ p + 1/ q − 1/( pq )) ، ولكن حتى في هذه الحالة، يظل التطابق المطلوب صحيحًا. إما أن يكون m ≡ 0 (mod p ) أو m ≡ 0 (mod q ) ، ويمكن معالجة هاتين الحالتين باستخدام البرهان السابق.

حشوة

الهجمات على RSA العادي

هناك عدد من الهجمات ضد RSA العادي كما هو موضح أدناه.

  • عند التشفير باستخدام أسس تشفير منخفضة (مثل e = 3 ) وقيم صغيرة لـ m (أي m < n 1/ e )، تكون نتيجة m e أقل من المعامل n . في هذه الحالة، يمكن فك تشفير النصوص المشفرة بسهولة عن طريق حساب الجذر النوني للنص المشفر على الأعداد الصحيحة.
  • إذا أُرسلت نفس الرسالة النصية الواضحة إلى e أو أكثر بطريقة مشفرة، وكان للمستلمين نفس الأس e ، ولكن قيم p و q و n مختلفة ، فمن السهل فك تشفير الرسالة النصية الواضحة الأصلية باستخدام نظرية الباقي الصينية . لاحظ يوهان هاستاد أن هذا الهجوم ممكن حتى لو لم تكن النصوص الواضحة متساوية، ولكن المهاجم يعرف علاقة خطية بينها. [ 38 ] وقد حسّن دون كوبرسميث هذا الهجوم لاحقًا (انظر هجوم كوبرسميث ). [ 39 ]
  • نظرًا لأن تشفير RSA خوارزمية تشفير حتمية (أي لا تحتوي على عنصر عشوائي)، يمكن للمهاجم شن هجوم نص عادي مُختار بنجاح ضد نظام التشفير، وذلك بتشفير نصوص عادية محتملة باستخدام المفتاح العام واختبار ما إذا كانت تُطابق النص المُشفّر. يُوصف نظام التشفير بأنه آمن دلاليًا إذا لم يتمكن المهاجم من التمييز بين تشفيرين، حتى لو كان المهاجم على دراية بالنصوص العادية المُقابلة (أو اختارها بنفسه). لا يُعد تشفير RSA بدون حشو آمنًا دلاليًا. [ 40 ]
  • تتميز خوارزمية RSA بخاصية أن حاصل ضرب نصين مشفرين يساوي تشفير حاصل ضرب النصين الأصليين. أي أن m₁e = m₂e ( m₁m₂ ) e (mod n ) . وبسبب هذه الخاصية الضربية، يصبح هجوم النص المشفر المختار ممكنًا. على سبيل المثال، قد يطلب مهاجم يريد معرفة فك تشفير نص مشفر cm e (mod n ) من حامل المفتاح الخاص d فك تشفير نص مشفر يبدو غير مثير للريبة c ′ ≡ cr e (mod n ) لقيمة r يختارها المهاجم. وبسبب الخاصية الضربية، فإن c ′ هو تشفير mr (mod n ) . وبالتالي، إذا نجح المهاجم في هجومه، فسيعرف mr (mod n ومن ثم يمكنه استنتاج الرسالة m بضرب mr في المعكوس المعياري لـ r modulo n . [ 33 ] [ 41 ]
  • بمعرفة الأس الخاص d ، يمكن تحليل المعامل n = pq بكفاءة . وبمعرفة تحليل المعامل n = pq ، يمكن الحصول على أي مفتاح خاص ( d ', n ) مُولّد باستخدام مفتاح عام ( e ', n ). [ 30 ]  

مخططات الحشو

لتجنب هذه المشاكل، عادةً ما تُضمّن تطبيقات RSA العملية نوعًا من الحشو المُهيكل والعشوائي في القيمة m قبل تشفيرها. يضمن هذا الحشو ألا تقع m ضمن نطاق النصوص غير الآمنة، وأن الرسالة المُعطاة، بعد إضافة الحشو إليها، ستُشفّر إلى واحد من عدد كبير من النصوص المُشفّرة المُحتملة.

صُممت معايير مثل PKCS#1 بعناية فائقة لتأمين حشو الرسائل قبل تشفيرها باستخدام خوارزمية RSA. ولأن هذه الأنظمة تُضيف عددًا من البتات الإضافية إلى النص الأصلي m ، يجب أن يكون حجم الرسالة M غير المُحشوة أصغر نسبيًا. يجب تصميم أنظمة حشو RSA بعناية لمنع الهجمات المعقدة التي قد تُسهّلها بنية الرسالة المتوقعة. استخدمت الإصدارات الأولى من معيار PKCS#1 (حتى الإصدار 1.5) بنيةً تبدو ظاهريًا أنها تجعل RSA آمنًا دلاليًا. مع ذلك، في مؤتمر Crypto 1998، أظهر بليشنباخر أن هذا الإصدار عُرضة لهجوم عملي مُتكيف على النص المشفر المُختار . علاوة على ذلك، في مؤتمر Eurocrypt 2000، أظهر كورون وآخرون [ 42 ] أن هذا الحشو لا يُوفر مستوى أمان كافيًا لبعض أنواع الرسائل. تتضمن الإصدارات اللاحقة من المعيار حشو التشفير غير المتماثل الأمثل (OAEP)، الذي يمنع هذه الهجمات. لذا، ينبغي استخدام بروتوكول OAEP في أي تطبيق جديد،  واستبدال حشو PKCS#1 v1.5 كلما أمكن ذلك. كما يتضمن معيار PKCS#1 أنظمة معالجة مصممة لتوفير أمان إضافي لتوقيعات RSA، مثل نظام التوقيع الاحتمالي لـ RSA ( RSA-PSS ).

تُعدّ أنظمة الحشو الآمنة، مثل RSA-PSS، ضرورية لأمن توقيع الرسائل تمامًا كما هي ضرورية لتشفيرها. مُنحت براءتا اختراع أمريكيتان لتقنية PSS ( براءة الاختراع الأمريكية رقم 6,266,771 وبراءة الاختراع الأمريكية رقم 7,036,014 )، إلا أن صلاحيتهما انتهت في 24 يوليو 2009 و25 أبريل 2010 على التوالي. ويبدو أن استخدام PSS لم يعد مقيدًا ببراءات الاختراع. تجدر الإشارة إلى أن استخدام أزواج مفاتيح RSA مختلفة للتشفير والتوقيع قد يكون أكثر أمانًا. [ 43 ]

الاعتبارات الأمنية والعملية

باستخدام خوارزمية الباقي الصينية

لتحقيق الكفاءة، تستخدم العديد من مكتبات التشفير الشائعة (مثل OpenSSL و Java و .NET ) التحسين التالي لفك التشفير والتوقيع، استنادًا إلى نظرية الباقي الصينية . [ 44 ] يتم حساب القيم التالية مسبقًا وتخزينها كجزء من المفتاح الخاص:

  • ص{\displaystyle p}وq{\displaystyle q}  الأعداد الأولية من الجيل الرئيسي،
  • دP=د(مودص-1)،{\displaystyle d_{P}=d{\pmod {p-1}},}
  • دسؤال=د(مودq-1)،{\displaystyle d_{Q}=d{\pmod {q-1}},}
  • qالاستثمار=q-1(مودص).{\displaystyle q_{\text{inv}}=q^{-1}{\pmod {p}}.}

تسمح هذه القيم للمستلم بحساب الأس m = c d (mod pq ) بكفاءة أكبر على النحو التالي:   م1=جدP(مودص){\displaystyle m_{1}=c^{d_{P}}{\pmod {p}}}،   م2=جدسؤال(مودq){\displaystyle m_{2}=c^{d_{Q}}{\pmod {q}}}،   ح=qالاستثمار(م1-م2)(مودص){\displaystyle h=q_{\text{inv}}(m_{1}-m_{2}){\pmod {p}}}، [ د ]  م=م2+حq{\displaystyle m=m_{2}+hq}.

هذه الطريقة أكثر كفاءة من حساب الأس بالتربيع ، على الرغم من ضرورة حساب عمليتي أس معياريتين. والسبب هو أن هاتين العمليتين تستخدمان أسًا أصغر وقيمة مطلقة أصغر.

تحليل الأعداد الصحيحة إلى عواملها الأولية ومشكلة RSA

يعتمد أمان نظام تشفير RSA على مسألتين رياضيتين: مسألة تحليل الأعداد الكبيرة إلى عواملها الأولية، ومسألة RSA نفسها. يُعتقد أن فك تشفير نص RSA بالكامل غير ممكن عمليًا، بافتراض أن كلتا المسألتين صعبتان ، أي أنه لا توجد خوارزمية فعالة لحلهما. قد يتطلب توفير الحماية ضد فك التشفير الجزئي إضافة نظام حشو آمن . [ 45 ]

تُعرَّف مشكلة RSA بأنها مهمة إيجاد الجذر e للعدد المركب n بتردده : استعادة قيمة m بحيث يكون cm e (mod n ) ، حيث ( n , e ) هو المفتاح العام لـ RSA، و c هو النص المشفر لـ RSA. حاليًا، يُعدّ تحليل العدد n إلى عوامله الأولية النهج الأكثر فعالية لحل مشكلة RSA . فبفضل القدرة على استعادة العوامل الأولية، يستطيع المهاجم حساب الأس السري d من المفتاح العام ( n , e ) ، ثم فك تشفير c باستخدام الإجراء القياسي. ولتحقيق ذلك، يُحلل المهاجم n إلى p و q ، ويحسب المضاعف المشترك الأصغر (lcm( p − 1, q − 1)) الذي يسمح بتحديد d من e . لم يتم التوصل بعد إلى طريقة ذات زمن متعدد الحدود لتحليل الأعداد الصحيحة الكبيرة على حاسوب تقليدي، ولكن لم يُثبت عدم وجودها؛ انظر تحليل الأعداد الصحيحة إلى عواملها الأولية لمناقشة هذه المشكلة.

استُخدمت مئات الحواسيب في أول عملية تحليل لمفتاح RSA-512 عام 1999، واستغرقت ما يعادل 8400 مليون سنة حسابية في الثانية، على مدى سبعة أشهر تقريبًا. [ 46 ] وبحلول عام 2009، تمكن بنجامين مودي من تحليل مفتاح RSA بطول 512 بت في 73 يومًا فقط باستخدام برنامج عام (GGNFS) وحاسوبه المكتبي ( معالج Athlon64 ثنائي النواة بتردد 1900  ميجاهرتز). تطلّب الأمر أقل من 5  جيجابايت من مساحة التخزين على القرص، وحوالي 2.5  جيجابايت من ذاكرة الوصول العشوائي (RAM) لعملية الفرز.

أشار ريفست وشامير وأدلمان [ 3 ] إلى أن ميلر قد أثبت أنه - بافتراض صحة فرضية ريمان الموسعة - فإن إيجاد قيمة d من n و e لا يقل صعوبة عن تحليل n إلى p و q (مع مراعاة فرق زمني متعدد الحدود). [ 47 ] ومع ذلك، أشار ريفست وشامير وأدلمان، في القسم التاسع/د من بحثهم، إلى أنهم لم يجدوا برهانًا على أن عكس RSA لا يقل صعوبة عن التحليل إلى عوامل.

اعتبارًا من عام 2020كان أكبر عدد RSA معروف علنًا، بعد تحليله إلى عوامله الأولية، يتكون من 829  بت (250 رقمًا عشريًا، RSA-250 ). [ 48 ] استغرق تحليله، باستخدام أحدث تقنيات الحوسبة الموزعة، حوالي 2700 سنة معالجة. عمليًا، يتراوح طول مفاتيح RSA عادةً بين 1024 و4096 بت. في عام 2003، قدّرت شركة RSA Security أن مفاتيح 1024 بت ستصبح قابلة للاختراق بحلول عام 2010. [ 49 ] حتى عام 2020، لم يُعرف بعد ما إذا كان من الممكن اختراق هذه المفاتيح، ولكن التوصيات الدنيا ارتفعت إلى 2048 بت على الأقل  . [ 50 ] يُفترض عمومًا أن RSA آمن إذا كان n كبيرًا بما يكفي، خارج نطاق الحوسبة الكمومية.

إذا كان طول n يساوي 300 بت أو أقل، فيمكن تحليله إلى عوامله الأولية في غضون ساعات قليلة على جهاز كمبيوتر شخصي ، باستخدام برامج متاحة مجانًا. وقد ثبت عمليًا إمكانية اختراق مفاتيح 512 بت في عام 1999، عندما تم تحليل RSA-155 باستخدام مئات أجهزة الكمبيوتر، ويتم الآن تحليلها في غضون أسابيع قليلة باستخدام أجهزة شائعة. وتم الإبلاغ عن ثغرات أمنية تستغل شهادات توقيع التعليمات البرمجية 512 بت، والتي ربما تم تحليلها، في عام 2011. [ 51 ] وقد شكك جهاز نظري يُدعى TWIRL ، وصفه شامير وترومر في عام 2003، في أمان مفاتيح 1024 بت. [ 49 ]  

في عام 1994، أظهر بيتر شور أن الكمبيوتر الكمومي - إذا أمكن إنشاء واحد عمليًا لهذا الغرض - سيكون قادرًا على تحليل الوقت متعدد الحدود ، مما يؤدي إلى كسر RSA؛ انظر خوارزمية شور .

توليد مفتاح خاطئ

عادة ما يتم إيجاد الأعداد الأولية الكبيرة p و q عن طريق اختبار الأرقام العشوائية ذات الحجم الصحيح باستخدام اختبارات أولية احتمالية تعمل على إزالة جميع الأعداد غير الأولية تقريبًا بسرعة.

يجب ألا يكون العددان p و q متقاربين جدًا، وإلا سيفشل تحليل فيرما للعدد n . إذا كان pq أقل من 2n 1/4 (حيث n = pq) ، وهو ما ينطبق حتى على قيم n "الصغيرة" ذات 1024 بت(3 × 10⁷⁷ )، لذا فإن إيجاد قيمتي p و q أمرٌ بسيط. علاوة على ذلك، إذا كان للعدد p − 1 أو q − 1 عوامل أولية صغيرة فقط، فيمكن تحليل n بسرعة باستخدام خوارزمية بولارد p − 1 ، وبالتالي يجب استبعاد هذه القيم لـ p أو q .

من المهم أن يكون الأس الخاص d كبيرًا بما يكفي. وقد أظهر مايكل ج. وينر أنه إذا كانت قيمة p بين q و 2q (وهو أمر شائع جدًا) و d < n 1/4 /3 ، فإنه يمكن حساب d بكفاءة من n و e . [ 52 ] 

لا توجد هجمات معروفة ضد الأسس العامة الصغيرة مثل e = 3 ، شريطة استخدام الحشو المناسب. لهجوم كوبرسميث تطبيقات عديدة في مهاجمة خوارزمية RSA، خاصةً إذا كان الأس العام e صغيرًا وكانت الرسالة المشفرة قصيرة وغير محشوة. 65537 قيمة شائعة الاستخدام لـ e ؛ ويمكن اعتبار هذه القيمة حلاً وسطًا بين تجنب هجمات الأسس الصغيرة المحتملة والسماح في الوقت نفسه بعمليات تشفير فعالة (أو التحقق من التوقيع). لا يسمح منشور المعهد الوطني للمعايير والتكنولوجيا (NIST) الخاص بأمن الحاسوب (SP 800-78 Rev. 1، أغسطس 2007) باستخدام أسس عامة e أصغر من 65537، ولكنه لا يذكر سببًا لهذا التقييد.   

في أكتوبر 2017، أعلن فريق من الباحثين من جامعة ماساريك عن ثغرة أمنية تُعرف باسم ROCA ، والتي تؤثر على مفاتيح RSA المُولّدة بواسطة خوارزمية مُدمجة في مكتبة من شركة إنفينون تُعرف باسم RSALib. وقد تبيّن أن عددًا كبيرًا من البطاقات الذكية ووحدات النظام الأساسي الموثوقة (TPM) مُتأثرة بهذه الثغرة. ويمكن تحديد مفاتيح RSA المُعرّضة للخطر بسهولة باستخدام برنامج اختبار أصدره الفريق. [ 53 ]

أهمية توليد الأرقام العشوائية القوية

يجب استخدام مولد أرقام عشوائية قوي تشفيرياً ، مُهيأ بشكل صحيح بكمية كافية من الإنتروبيا، لتوليد العددين الأوليين p و q . أُجري تحليلٌ لمقارنة ملايين المفاتيح العامة التي جُمعت من الإنترنت في أوائل عام 2012 من قِبل أرجين ك.  لينسترا ، وجيمس ب.  هيوز، وماكسيم أوجييه، وجوب و.  بوس، وثورستن كلاينجونج، وكريستوف واشتر. وقد تمكنوا من تحليل 0.2% من المفاتيح باستخدام خوارزمية إقليدس فقط. [ 54 ] [ 55 ]

استغلوا ثغرةً فريدةً في أنظمة التشفير القائمة على تحليل الأعداد الصحيحة إلى عواملها الأولية. إذا كان n = pq مفتاحًا عامًا، و n ′ = p′q مفتاحًا عامًا آخر، فإذا صادف أن p = p (ولكن q لا يساوي q ′)، فإن حساب القاسم المشترك الأكبر لـ n و n ′ = p يُحلل كلاً من n و n ′ إلى عواملهما الأولية، مما يُعرّض كلا المفتاحين للخطر. ويشير لينسترا وزملاؤه إلى إمكانية تقليل هذه المشكلة باستخدام بذرة عشوائية قوية بطول بتات يساوي ضعف مستوى الأمان المطلوب، أو باستخدام دالة حتمية لاختيار q بمعلومية p ، بدلاً من اختيار p و q بشكل مستقل.

كانت ناديا هينينجر جزءًا من مجموعة أجرت تجربة مماثلة. استخدموا فكرة دانيال ج. بيرنشتاين لحساب القاسم المشترك الأكبر لكل مفتاح RSA n مقابل حاصل ضرب جميع المفاتيح الأخرى n ' التي عثروا عليها (عدد مكون من 729 مليون رقم)، بدلاً من حساب كل قاسم مشترك أكبر ( n , n ') على حدة، مما حقق تسريعًا كبيرًا جدًا، لأنه بعد عملية قسمة واحدة كبيرة، تصبح مشكلة القاسم المشترك الأكبر ذات حجم طبيعي.

تقول هينينجر في مدونتها إن المفاتيح المعيبة ظهرت بشكل شبه كامل في التطبيقات المدمجة، بما في ذلك "جدران الحماية، وأجهزة التوجيه، وأجهزة الشبكات الافتراضية الخاصة (VPN)، وأجهزة إدارة الخوادم عن بُعد، والطابعات، وأجهزة العرض، وهواتف بروتوكول نقل الصوت عبر الإنترنت (VoIP)" من أكثر من 30 شركة مصنعة. وتوضح هينينجر أن مشكلة العدد الأولي المشترك التي كشفت عنها المجموعتان ناتجة عن حالات يكون فيها مولد الأرقام العشوائية الزائفة ضعيف التهيئة في البداية، ثم يُعاد تهيئته بين توليد العددين الأوليين الأول والثاني. ومن المفترض أن يحل استخدام بذور ذات إنتروبيا عالية كافية، يتم الحصول عليها من توقيتات ضغطات المفاتيح أو ضوضاء الصمام الثنائي الإلكتروني أو الضوضاء الجوية من جهاز استقبال لاسلكي مضبوط بين المحطات، هذه المشكلة. [ 56 ]

يُعدّ توليد أرقام عشوائية قوية أمرًا بالغ الأهمية في جميع مراحل التشفير بالمفتاح العام. فعلى سبيل المثال، إذا استُخدم مولد أرقام عشوائية ضعيف للمفاتيح المتناظرة التي يوزعها نظام RSA، فسيتمكن المتنصت من تجاوز نظام RSA وتخمين المفاتيح المتناظرة مباشرةً.

هجمات التوقيت

وصف كوخر هجومًا جديدًا على خوارزمية RSA عام 1995: إذا كان المهاجم إيف على دراية كافية بمواصفات جهاز أليس، وقادرًا على قياس أوقات فك التشفير لعدة نصوص مشفرة معروفة، فإنه يستطيع استنتاج مفتاح فك التشفير d بسرعة. يمكن تطبيق هذا الهجوم أيضًا على نظام توقيع RSA. في عام 2003، عرض بونيه وبروملي هجومًا أكثر عملية قادرًا على استعادة تحليلات RSA عبر اتصال شبكي (مثلًا، من خادم ويب مُفعّل بتقنية طبقة المقابس الآمنة ( SSL)). [ 57 ] يستغل هذا الهجوم المعلومات المُسرّبة من خلال تحسين نظرية الباقي الصينية المستخدمة في العديد من تطبيقات RSA.

إحدى طرق إحباط هذه الهجمات هي ضمان أن تستغرق عملية فك التشفير وقتًا ثابتًا لكل نص مشفر. مع ذلك، قد يؤدي هذا الأسلوب إلى انخفاض الأداء بشكل ملحوظ. لذا، تستخدم معظم تطبيقات RSA تقنية بديلة تُعرف باسم " التعمية التشفيرية" . تستفيد التعمية في RSA من خاصية الضرب في RSA. فبدلًا من حساب c d (mod n ) ، تختار أليس أولًا قيمة عشوائية سرية ثم تحسب ( r e c ) d (mod n ) . نتيجة هذا الحساب، بعد تطبيق نظرية أويلر ، هي rc d (mod n ) ، وبالتالي يمكن إزالة تأثير r بضربها في معكوسها. تُختار قيمة جديدة لـ r لكل نص مشفر. مع تطبيق التعمية، لا يعود وقت فك التشفير مرتبطًا بقيمة النص المشفر المُدخل، وبالتالي تفشل هجمة التوقيت.

هجمات النص المشفر المختار التكيفية

في عام ١٩٩٨، وصف دانيال بليشنباخر أول هجوم عملي مُتكيف على الرسائل المُشفرة باستخدام خوارزمية RSA، وذلك باستخدام نظام حشو  PKCS #1  v1 (وهو نظام حشو يُضفي عشوائية وبنية على الرسالة المُشفرة باستخدام RSA، مما يُتيح تحديد ما إذا كانت الرسالة المُفككة صالحة). ونظرًا لوجود ثغرات في نظام PKCS #1، تمكن بليشنباخر من شن هجوم عملي على تطبيقات RSA لبروتوكول طبقة المقابس الآمنة (SSL) واستعادة مفاتيح الجلسة. ونتيجةً لهذا العمل، يُوصي خبراء التشفير الآن باستخدام أنظمة حشو آمنة بشكل مُثبت، مثل حشو التشفير غير المتماثل الأمثل (OPT) ، وقد أصدرت مختبرات RSA إصدارات جديدة من PKCS #1 غير قابلة للاختراق بهذه الهجمات.  

وقد ظهر نوع مختلف من هذا الهجوم، أطلق عليه اسم "BERserk"، في عام 2014. [ 58 ] [ 59 ] وقد أثر على مكتبة Mozilla NSS Crypto، والتي تم استخدامها بشكل ملحوظ بواسطة Firefox وChrome.

هجمات تحليل القنوات الجانبية

تم وصف هجوم القناة الجانبية باستخدام تحليل التنبؤ بالتفرع (BPA). تستخدم العديد من المعالجات مُتنبئًا بالتفرع لتحديد ما إذا كان من المحتمل تنفيذ تفرع شرطي في مسار تعليمات البرنامج أم لا. غالبًا ما تُنفذ هذه المعالجات أيضًا تقنية تعدد الخيوط المتزامنة (SMT). تستخدم هجمات تحليل التنبؤ بالتفرع عملية تجسس لاكتشاف المفتاح الخاص (إحصائيًا) عند معالجتها بواسطة هذه المعالجات.

يدّعي تحليل التنبؤ البسيط للفروع (SBPA) تحسين تحليل التنبؤ بالفروع (BPA) بطريقة غير إحصائية. في ورقتهم البحثية بعنوان "حول قوة تحليل التنبؤ البسيط للفروع" [ 60 ] ، يدّعي مؤلفا SBPA (أونور أتشيكمز وجتين كايا كوتش) اكتشاف 508 بت من أصل 512  بت من مفتاح RSA في 10 تكرارات.

هجوم حقن الأعطال

تم وصف هجوم انقطاع الطاقة على تطبيقات RSA في عام 2010. [ 61 ] استعاد المؤلف المفتاح عن طريق تغيير جهد طاقة وحدة المعالجة المركزية خارج الحدود؛ تسبب هذا في حدوث أعطال طاقة متعددة على الخادم.

يُعدّ تطبيق CRT حساسًا لهجمات حقن الأخطاء . فإذا تمكّن المهاجم من الحصول على توقيع خاطئ واحد، يُمكنه حساب المفتاح الخاص. [ 62 ]

تنفيذ معقد

هناك العديد من التفاصيل التي يجب مراعاتها لتطبيق خوارزمية RSA بشكل آمن ( مولد أرقام عشوائية زائفة قوي ، ومعامل عام مقبول، إلخ). وهذا ما يجعل تطبيقها صعبًا، لدرجة أن كتاب "التشفير العملي باستخدام لغة Go" يقترح تجنب استخدام RSA قدر الإمكان. [ 63 ]

التطبيقات

تتضمن بعض مكتبات التشفير التي توفر دعمًا لخوارزمية RSA ما يلي:

انظر أيضاً

ملحوظات

  1. e = 2 ممكن أيضًا (وأسرع) ولكنه مختلف نوعيًا لأن التربيع ليس تبديلًا؛ هذا هو أساس خوارزمية توقيع رابين .
  2. أي، قيم m التي تساوي -1 أو 0 أو 1 بتردد وتساوي أيضًا -1 أو 0 أو 1 بتردد q . سيكون هناك المزيد من قيم m التي تحقق c = m إذا كان لـ p  -  1 أو q  -  1 قواسم أخرى مشتركة مع e  -  1 غير 2، لأن هذا يعطي المزيد من قيم m التي تحققمهـ-1مودص=1{\displaystyle m^{e-1}{\bmod {p}}=1}أومهـ-1مودq=1{\displaystyle m^{e-1}{\bmod {q}}=1}على التوالى.
  3. المعلمات المستخدمة هنا صغيرة بشكل مصطنع، ولكن يمكن أيضًا استخدام OpenSSL لإنشاء وفحص زوج مفاتيح حقيقي .
  4. إذام1<م2{\displaystyle m_{1}<m_{2}}ثم تقوم بعض المكتبات بحساب h على النحو التاليqالاستثمار[(م1+qصص)-م2](مودص){\displaystyle q_{\text{inv}}\left[\left(m_{1}+\left\lceil {\frac {q}{p}}\right\rceil p\right)-m_{2}\right]{\pmod {p}}}.

مراجع

  1. ريفست، آر إل ؛ شامير، أأدلمان، إل. (1977). طريقة للحصول على التوقيعات الرقمية وأنظمة التشفير بالمفتاح العام (ملف PDF) (تقرير فني). مختبر علوم الحاسوب بمعهد ماساتشوستس للتكنولوجيا . hdl : 1721.1/148910 . MIT-LCS-TM-082.
  2. 1 2 غاردنر، مارتن (أغسطس 1977). "الألعاب الرياضية: نوع جديد من الشفرات التي تستغرق ملايين السنين لفكها" (ملف PDF) . مجلة ساينتفك أمريكان . المجلد 237، العدد 2. doi : 10.1038/scientificamerican0877-120 . مؤرشف من الأصل (ملف PDF) بتاريخ 11 يوليو 2025.  
  3. ريفست ، ر.؛ شامير، أ.؛ أدلمان، ل. (فبراير 1978). " طريقة للحصول على التوقيعات الرقمية وأنظمة التشفير بالمفتاح العام" (ملف PDF) . مجلة اتصالات رابطة مكائن ​​الحوسبة . 21 ( 2 ): 120-126 . CiteSeerX 10.1.1.607.2677 . doi : 10.1145/359340.359342 . مؤرشف من الأصل (ملف PDF) بتاريخ 27 يناير 2023. تم الاطلاع عليه بتاريخ 30 يوليو 2025 . 
  4. سمارت، نايجل (19 فبراير 2008). "الدكتور كليفورد كوكس، الحاصل على وسام الإمبراطورية البريطانية" . جامعة بريستول . تم الاطلاع عليه في 20 يونيو 2025 .
  5. بيلار، ميهير ؛ روغاواي، فيليب . ماورر، أولي (محررون). الأمان الدقيق للتوقيعات الرقمية: كيفية التوقيع باستخدام RSA ورابين . التطورات في علم التشفير - يورو كريبت 96. سلسلة محاضرات في علوم الحاسوب. سبرينغر. ص 399-416 . doi : 10.1007/3-540-68339-9_34 . ISBN  978-3-540-61186-8.
  6. أوماسون، جان فيليب (2018). "10. RSA: التوقيع باستخدام RSA". التشفير الجاد . دار نشر نو ستارش. الصفحات 188-191 . ISBN  978-1-59327-826-7.
  7. ستينسون، دوغلاس (2006). "7: مخططات التوقيع". التشفير: النظرية والتطبيق ( الطبعة الثالثة). تشابمان آند هول/سي آر سي. الصفحات 281-318 . ISBN   978-1-58488-508-5.
  8. فيرغسون، نيلز ؛ كوهنو، تادايوشي ؛ شناير، بروس (2010). "12. RSA". هندسة التشفير . وايلي. ص 195-211 . ISBN  978-0-470-47424-2.
  9. غالبريث، ستيفن (2012). "الفقرة 24.6: التوقيعات الرقمية القائمة على RSA ورابين". رياضيات التشفير بالمفتاح العام . مطبعة جامعة كامبريدج. الصفحات 7-9 . ISBN   978-1-107-01392-6.
  10. 1 2 ب. كاليسكي؛ أ. روش؛ ج. جونسون؛ أ. روش (نوفمبر 2016). ك. موريارتي (محرر). PKCS #1: مواصفات تشفير RSA الإصدار 2.2 . فريق عمل هندسة الإنترنت . doi : 10.17487/RFC8017 . ISSN 2070-1721 . RFC 8017 . للعلم فقط. يلغي RFC 3447 . 
  11. بيلار، ميهير ؛ روغاواي، فيليب . سانتيس، ألفريدو (محررون). التشفير غير المتماثل الأمثل . التطورات في علم التشفير - يورو كريبت 94. سلسلة محاضرات في علوم الحاسوب. سبرينغر. ص 92-111 . doi : 10.1007/BFb0053428 . ISBN  978-3-540-60176-0.
  12. أوماسون، جان فيليب (2018). "10. RSA: التشفير باستخدام RSA". التشفير الجاد . دار نشر نو ستارش. الصفحات 185-188 . ISBN  978-1-59327-826-7.
  13. غالبريث، ستيفن (2012). "الفقرة 24.7: التشفير بالمفتاح العام القائم على RSA ورابين". رياضيات التشفير بالمفتاح العام . مطبعة جامعة كامبريدج. الصفحات 511-512 . ISBN  978-1-107-01392-6.
  14. شوب، فيكتور (2001)، اقتراح لمعيار ISO لتشفير المفتاح العام (الإصدار 2.1) ، أرشيف Cryptology ePrint، الرابطة الدولية لأبحاث التشفير
  15. فيرغسون، نيلز ؛ كوهنو، تادايوشي ؛ شناير، بروس (2010). "12. RSA". هندسة التشفير . وايلي. ص 195-211 . ISBN  978-0-470-47424-2.
  16. ر. هاوسلي؛ س. تيرنر (فبراير 2025). استخدام خوارزمية RSA-KEM في صيغة الرسائل المشفرة (CMS) . فريق عمل هندسة الإنترنت . doi : 10.17487/RFC9690 . RFC 9690 .المعيار المقترح. يلغي RFC 5990 . 
  17. كاستلفيكي، دافيد (30 أكتوبر 2020). "رائد الحوسبة الكمومية يحذر من التهاون بشأن أمن الإنترنت" . مجلة نيتشر . 587 (7833): 189. Bibcode : 2020Natur.587..189C . doi : 10.1038/d41586-020-03068-9 . PMID: 33139910. S2CID : 226243008 .  مقابلة بيتر شور عام 2020 .
  18. ديفي، دبليوهيلمان، إم إي (نوفمبر 1976). "اتجاهات جديدة في علم التشفير" (ملف PDF) . معاملات IEEE في نظرية المعلومات . 22 (6): 644-654 . رمز Bibcode : 1976ITIT...22..644D . CiteSeerX 10.1.1.37.9720 . doi : 10.1109/TIT.1976.1055638 . ISSN 0018-9448 . مؤرشف من الأصل (ملف PDF) بتاريخ 29-11-2014 . تم الاسترجاع بتاريخ 30-07-2025 .  
  19. ريفست، رونالد. "الأيام الأولى لـ RSA - التاريخ والدروس" (PDF) .
  20. كالدربانك، مايكل (2007-08-20). "نظام التشفير RSA: التاريخ، الخوارزمية، الأعداد الأولية" (PDF) .
  21. ١ ٢ روبنسون، سارة (يونيو ٢٠٠٣). "لا تزال شركة RSA تحافظ على أسرارها بعد سنوات من الهجمات، وتحصد إشادات لمؤسسيها" (ملف PDF) . أخبار SIAM . ٣٦ (٥). مؤرشف من الأصل (ملف PDF) بتاريخ ١٥ ديسمبر ٢٠٢٢.
  22. كوكس، سي سي (20 نوفمبر 1973). "ملاحظة حول التشفير غير السري" (ملف PDF) . www.gchq.gov.uk. مؤرشف من الأصل (ملف PDF) في 28 سبتمبر 2018. تم الاطلاع عليه بتاريخ 30 مايو 2017 .
  23. جيم ساوربيرج. "من التشفير بالمفتاح الخاص إلى التشفير بالمفتاح العام في ثلاث خطوات سهلة" .
  24. مارغريت كوزنز وستيفن ج. ميلر. "رياضيات التشفير: مقدمة تمهيدية" . ص 180.
  25. ألاسدير ماك أندرو. "مقدمة في علم التشفير باستخدام البرمجيات مفتوحة المصدر" . ص 12.
  26. ^ سلمندر ر. تشيلوكا. "تشفير المفتاح العام" .
  27. نيل كوبليتز. "التشفير كأداة تعليمية" . كريبتولوجيا، المجلد 21، العدد 4 (1997).
  28. "شركة RSA Security تُصدر خوارزمية تشفير RSA للملكية العامة" . مؤرشف من الأصل بتاريخ 21 يونيو 2007. تم الاطلاع عليه بتاريخ 3 مارس 2010 .
  29. ^ سفندا، بيتر؛ نيميك، ماتوش؛ سيكان، بيتر؛ كفاشوفسكي، رودولف؛ فورمانك، ديفيد؛ كوماريك، ديفيد؛ ماتياس ، فاشيك (أغسطس 2016). سؤال المليون مفتاح - التحقيق في أصول مفاتيح RSA العامة . الندوة الأمنية الخامسة والعشرون لـ USENIX. أوستن، تكساس، الولايات المتحدة: جمعية USENIX. ص 893 – 910. ISBN  978-1-931971-32-4.
  30. 1 2 بونيه، دان (1999). "عشرون عامًا من الهجمات على نظام التشفير RSA" . إشعارات الجمعية الرياضية الأمريكية . 46 (2): 203-213 .
  31. التشفير التطبيقي، جون وايلي وأولاده، نيويورك، 1996. بروس شناير ، ص 467.
  32. 1 2 جونسون، ج.؛ كاليسكي، ب. (فبراير 2003). معايير التشفير بالمفتاح العام (PKCS) رقم 1: مواصفات تشفير RSA الإصدار 2.1 . مجموعة عمل الشبكة. doi : 10.17487/RFC3447 . RFC 3447. تم الاطلاع عليه في 9 مارس 2016 .
  33. 1 2 بليشنباخر، دانيال (1998). كراوتشيك، هوغو (محرر). هجمات النص المشفر المختار ضد البروتوكولات القائمة على معيار تشفير RSA PKCS #1 . التطورات في علم التشفير - CRYPTO '98 . سلسلة محاضرات في علوم الحاسوب. سبرينغر. ص 1-12 . doi : 10.1007/BFb0055716 . ISBN  978-3-540-68462-6.
  34. رابين، مايكل أو. (1978). "التوقيعات الرقمية". في: ديميلو، ريتشارد أدوبكين، ديفيد بجونز، أنيتا كليبتون، ريتشارد ج. (محررون). أسس الحوسبة الآمنة . نيويورك: أكاديميك برس. ص 155-168 . ISBN  0-12-210350-5.
  35. رابين، مايكل أو. (يناير 1979). التوقيعات الرقمية ووظائف المفتاح العام معقدة مثل التحليل إلى عوامل (ملف PDF) (تقرير فني). كامبريدج، ماساتشوستس، الولايات المتحدة: مختبر علوم الحاسوب في معهد ماساتشوستس للتكنولوجيا . TR-212.
  36. بيرنشتاين، دانيال ج. (31 يناير 2008). توقيعات RSA وتوقيعات رابين-ويليامز: أحدث التقنيات (تقرير).(للحصول على معلومات إضافية، يرجى زيارة الرابط التالي: https://cr.yp.to/sigs.html )
  37. بيلار، ميهير ؛ روغاواي، فيليب (مايو 1996). ماورر، أولي (محرر). الأمان الدقيق للتوقيعات الرقمية - كيفية التوقيع باستخدام RSA ورابين . التطورات في علم التشفير - EUROCRYPT '96 . سلسلة محاضرات في علوم الحاسوب. المجلد 1070. سرقسطة، إسبانيا: سبرينغر. الصفحات 399-416 . doi : 10.1007/3-540-68339-9_34 . ISBN   978-3-540-61186-8.
  38. هاستاد، يوهان (1986). "حول استخدام خوارزمية RSA ذات الأس المنخفض في شبكة المفتاح العام". وقائع مؤتمر CRYPTO '85 حول التطورات في علم التشفير . سلسلة محاضرات في علوم الحاسوب. المجلد 218. الصفحات 403-408 . doi : 10.1007/3-540-39799-X_29 . ISBN   978-3-540-16463-0.
  39. كوبرسميث، دون (1997). "حلول صغيرة لمعادلات متعددة الحدود، وثغرات RSA ذات الأسس المنخفضة" (ملف PDF) . مجلة علم التشفير . 10 (4): 233-260 . CiteSeerX 10.1.1.298.4806 . doi : 10.1007/s001459900030 . S2CID 15726802 .  
  40. غولدواسير، شافي ؛ ميكالي، سيلفيو (5 مايو 1982). "التشفير الاحتمالي وكيفية لعب البوكر الذهني مع الحفاظ على سرية جميع المعلومات الجزئية" . وقائع الندوة السنوية الرابعة عشرة لجمعية آلات الحوسبة حول نظرية الحوسبة - STOC '82 . نيويورك، نيويورك، الولايات المتحدة الأمريكية: جمعية آلات الحوسبة. الصفحات 365-377 . doi : 10.1145/800070.802212 . ISBN  978-0-89791-070-5. S2CID 10316867 . 
  41. دافيدا، جورج آي. (1982). تحليل التشفير باستخدام التوقيع المختار لنظام التشفير بالمفتاح العام RSA (معهد ماساتشوستس للتكنولوجيا) (تقرير فني). قسم الهندسة الكهربائية وعلوم الحاسوب، جامعة ويسكونسن، ميلووكي. التقرير الفني TR-CS-82-2.
  42. كورون، جان سيباستيان؛ جوي، مارك؛ ناكاش، ديفيد؛ باييه، باسكال (2000). "هجمات جديدة على تشفير PKCS#1 الإصدار 1.5". في: برينيل، بارت (محرر). التطورات في علم التشفير - يورو كريبت 2000. سلسلة محاضرات في علوم الحاسوب. المجلد 1807. برلين، هايدلبرغ: سبرينغر. الصفحات 369-381 . doi : 10.1007/3-540-45539-6_25 . ISBN   978-3-540-45539-4.
  43. "خوارزمية RSA" .
  44. "OpenSSL bn_s390x.c" . جيت هاب . تم الاطلاع عليه في 2 أغسطس 2024 .
  45. ماتشي، إدموند ك. (29 مارس 2013). هجوم تتبع مصدر الاختراق والاستجابة له في شبكة وزارة الدفاع الأمريكية . ترافورد. ص 167. ISBN  978-1466985742.
  46. لينسترا، أرجين؛ وآخرون (مجموعة) (2000). "تحليل معامل RSA ذي 512 بت" (ملف PDF) . يورو كريبت. 
  47. ميلر، غاري ل. (1975). "فرضية ريمان واختبارات الأعداد الأولية" (ملف PDF) . وقائع الندوة السنوية السابعة لجمعية آلات الحوسبة حول نظرية الحوسبة . الصفحات 234-239 . 
  48. زيمرمان، بول (28 فبراير 2020). "تحليل RSA-250 إلى عوامله الأولية" . Cado-nfs-discuss. مؤرشف من الأصل بتاريخ 28 فبراير 2020. تم الاطلاع عليه بتاريخ 12 يوليو 2020 .
  49. 1 2 كاليسكي، بيرت (2003-05-06). "TWIRL وحجم مفتاح RSA" . مختبرات RSA . مؤرشف من الأصل في 2017-04-17 . تم الاسترجاع في 2017-11-24 .
  50. باركر، إيلين؛ دانغ، كوين (22 يناير 2015). "منشور خاص من المعهد الوطني للمعايير والتكنولوجيا 800-57، الجزء 3، المراجعة 1: توصيات لإدارة المفاتيح: إرشادات خاصة بإدارة المفاتيح للتطبيقات" (ملف PDF) . المعهد الوطني للمعايير والتكنولوجيا . ص 12. doi : 10.6028/NIST.SP.800-57pt3r1 . تاريخ الاسترجاع: 24 نوفمبر 2017 . 
  51. ساندي، مايكل (21 نوفمبر 2011). "إساءة استخدام شهادات RSA-512 في بيئات حقيقية" . مدونة فوكس-آي تي ​​الدولية .
  52. وينر، مايكل ج. (مايو 1990). "تحليل تشفير الأسس السرية القصيرة لخوارزمية RSA" (ملف PDF) . معاملات IEEE في نظرية المعلومات . 36 (3): 553-558 . Bibcode : 1990ITIT...36..553W . doi : 10.1109/18.54902 . S2CID 7120331 . 
  53. نيميك، ماتوس؛ سيس، ماريك؛ سفيندا، بيتر؛ كلينك، دوسان؛ ماتياس، فاشيك (نوفمبر 2017). "عودة هجوم كوبرسميث: التحليل العملي لمعاملات RSA شائعة الاستخدام" (ملف PDF) . وقائع مؤتمر ACM SIGSAC لعام 2017 حول أمن الحاسوب والاتصالات . CCS '17. doi : 10.1145/3133956.3133969 .
  54. ماركوف، جون (14 فبراير 2012). "اكتشاف خلل في طريقة تشفير عبر الإنترنت" . صحيفة نيويورك تايمز .
  55. ^ لينسترا، آرجين ك.؛ هيوز، جيمس P.؛ أوجييه، ماكسيم. بوس، جوبي دبليو؛ كلينجونج، ثورستن؛ واشتر، كريستوف (2012). "كان رون مخطئًا، وويت على حق" (PDF) .
  56. هينينجر، ناديا (15 فبراير 2012). "بحث جديد: لا داعي للذعر بشأن المفاتيح القابلة للتحليل - فقط انتبه لتفاصيلك" . حرية التجربة .
  57. بروملي، ديفيد؛ بونيه، دان (2003). "هجمات التوقيت عن بُعد عملية" (ملف PDF) . وقائع المؤتمر الثاني عشر لندوة أمن USENIX . SSYM'03.
  58. "تم اكتشاف ثغرة "بيرسيرك" في مكتبة التشفير التابعة لـ Mozilla NSS، والتي تؤثر على متصفحي Firefox وChrome . دارك ريدينج . 25 سبتمبر 2014. تاريخ الاطلاع: 4 يناير 2022 .
  59. "تزوير توقيع RSA في NSS" . موزيلا .
  60. أتشيتشميز، أونور؛ كوتش، جتين كايا؛ سيفرت، جان بيير (2007). "حول قوة تحليل التنبؤ البسيط للفروع". وقائع الندوة الثانية لجمعية الحوسبة الآلية (ACM) حول أمن المعلومات والحاسوب والاتصالات . ASIACCS '07. الصفحات 312-320 . CiteSeerX 10.1.1.80.1438 . doi : 10.1145/1229285.1266999 .  
  61. بيليغريني، أندريا؛ بيرتاكو، فاليريا؛ أوستن، تود (مارس 2010). "هجوم قائم على الأخطاء على مصادقة RSA". مؤتمر ومعرض التصميم والأتمتة والاختبار في أوروبا 2010 (DATE 2010) . الصفحات 855-860 . doi : 10.1109/DATE.2010.5456933 . ISBN  978-3-9810801-6-2.
  62. بونيه، دان؛ ديميلو، ريتشارد أ.؛ ليبتون، ريتشارد ج. (نوفمبر 2000). "حول أهمية التخلص من الأخطاء في الحسابات التشفيرية". مجلة علم التشفير . 14 (2): 106-107 . doi : 10.1007/s001450010016 . ISSN 0933-2790 . 
  63. إيزوم، كايل. "التشفير العملي باستخدام لغة غو" . تم الاطلاع عليه بتاريخ 4 يناير 2022 .

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