الرياضيات > الرياضيات

التشفير باستخدام مفتاح عام

تسمى الدراسة التي تُعنى بإرسال واستقبال الرسائل السرية بعلم التشفير (cryptography)، والهدف الأساسي منها إرسال رسائل عبر قناة فلا يستطيع فهمها إلا المرسَل إليه، بالإضافة إلى حاجة مستقبل الرسالة إلى التأكد من مصداقية الرسالة وهوية المرسِل لكيلا يتعرض للخداع أو الاحتيال.

 تُحوَّل الرسالة أو ما يسمى النص الصريح (plaintext) إلى نص مشفَّر (ciphertext) عن طريق عملية التشفير (encryption)، وعكسها عملية فك التشفير(decryption) إذ يحوَّل النص المشفر إلى النص الصريح. هناك العديد من أنظمة التشفير التي تختلف باختلاف خوارزمياتها وسنتحدث في هذا المقال عن التشفير باستخدام مفتاح عمومي (public key cryptography) بالتحديد عن نظام تشفير ر.س.أ (RSA) نسبة للعلماء الذين استحدثوه؛ رفيست (Rivest)، شامير (shamir) وأدلمن (Adleman)(1).

التشفير باستخدام مفتاح خاص:

نظام التشفير الكلاسيكي فيه مفتاح واحد يستخدمه المرسل والمستقبل لتشفير الرسالة وفك تشفيرها. ويجب أن ينتقل بين الطرفين بطريقة ما، ويمكنك تخيل مخاطر ذلك (1).

التشفير باستخدام المفتاح العمومي:

تُعَد أنظمة التشفير باستخدام مفتاح عمومي عماد الأمان في استخدام الشبكة العنكبوتية لتشارك معلومات سرية وحساسة (2).

 تعتمد هذه الأنظمة على فكرة عدم الحاجة لاستخدام نفس المفتاح لتشفير الرسالة وفك تشفيرها (1). بوجود زوج من المفاتيح يشفر المرسل الرسالة باستخدام المفتاح العام -المُعلَن- للمستقبِل ويقوم المستقبِل بفك التشفير باستخدام مفتاحه الخاص -السري- المرتبط رياضيًّا مع مفتاحه العام، ولا يمكن اشتقاق المفتاح السري من المفتاح المعلَن (1,2).

يستمد نظام ر.س.أ فاعليته من وجود طريقة فعَّالة لإيجاد أرقام أولية كبيرة وضرب أرقامٍ كبيرة ببعضها (1)، في المقابل لا يوجد أي خوارزمية فعَّالة لتحليل الأعداد الكبيرة لعواملها الأولية أي أنها تحتاج لوقت طويل جدًّا (3-1).

تتلخص خوارزمية نظام تشفير ر.س.أ بثلاث مراحل (2):

أولًا، تعميم الفتاح:

  1. إيجاد رقمين أوليين كبيرين p و q وضربهما ببعضهما N = p*q.
  2. حساب قيمة اقتران أويلر للعدد  .

    * اقتران أويلر للعدد N)"  N)𝜱" بحيث 1Nهو عدد الأعداد الصحيحة الموجبة الأقل من N وليس بينها وبين العدد N أي عوامل مشتركة (4).

  3. اختيار عدد صحيح e، بحيث  والعامل المشترك الأكبر بين e و  هو 1.
  4. حساب العدد الصحيح d ;  بحيث  ما تعنيه هذه المعادلة أن  حيث k عدد صحيح، أي أن (ed-1) من مضاعفات . لحساب d تحتاج لقيمة اقتران أويلر  ، ولمعرفة قيمته تحتاج إلى معرفة قيم p, q وهي قيم سرية لا تُعلن ولا تشارك مع أحد، لمعرفتها تحتاج إلى تحليل العدد N لذلك يتم استخدام أعداد كبيرة يستحيل تحليلها باستخدام أي حواسب أو خوارزميات لاحتياجها إلى مئات السنين.
  5. يُعلَن (N,e) كمفتاح عام، ويُحتفظ بـd سريًّا كمفتاح خاص (2,3)
ثانيًا، عملية التشفير: تُحوَّل الرسالة إلى سلسلة من الأرقام وتقسم إلى أجزاء أصغر منN M<N ;. فرضًا أن المستخدم أحمد يريد إرسال رسالة M إلى نور، يستخدم أحمد المفتاح العام لنور (N,e) لتحويل الرسالة M إلى نص مشفَّر C، حيث (2,3) 

ثالثًا، عملية فك التشفير: بعد تَلقِّي نور للنص المشفر تفك تشفيره باستخدام مفتاحها الخاص d لتحصل على الرسالة الأصلية، حيث(2,3)

الحسابات الرياضية خلف نجاح هذه الطريقة

لمعرفة السبب في أن ; من المعادلة التي يُحسب منها المفتاح الخاص 

:d أي إن ، وهناك حالتان:

أولًا،  عندما يكون العامل المشترك الأكبر بين N, M = 1:

من نظرية أويلر-نظرية أويلر: إذا كان a, n عددان صحيحان n0 والعامل المشترك الأكبر بين a, n = 1 فإنa𝜱(n) =1 mod n- نعلم أن M𝜱(N)= 1 mod N، لذلك عند فك تشفير الرسالة من قبل المرسل إليه باستخدام مفتاحه الخاص:

Cd=(Me)d= Med=M1+k𝜱(N) =M(Mk𝜱(N))=M(M𝜱(N))k=M(1)k=M mod N 

ثانيًا، عندما يكون العامل المشترك الأكبر بين :

بما أن العامل المشترك الأكبر لا يساوي 1 أي إن هناك عوامل مشتركة بين N, M وحيث أن N =p*q فإن العامل المشترك بين N, M إما p وإما q وليس كليهما معًا، لأن

 p*q = N و MN لنفترض أن هذا العامل  p -إذا كان العامل q يكون التفسير بنفس الطريقة- إذًا M = rp حيث r عدد صحيح بما إن M<N فإن r<q إذًا العامل المشترك الأكبر ل q, M = 1 باستخدام نظرية أويلر على M, q فإن M𝜱(q)=1 mod q

إذًا  جيث t عدد صحيح

للبقاء على اطلاع واختبار أحدث الطرق لتحليل الأعداد لعواملها الأولية وتقديم التوصيات بعدد المنازل اللازمة للعددين الأوليين نشر مخترعو هذه الطريقة من التشفير مجموعة من 42 عدد في قائمة تحدي لتحليل هذه الأعداد لعاملين أوليين (4). آخر عدد حٌلِّل في فبراير 2020، إذ حلل مجموعة من العلماء عدد يتكون من 250 منزلة عشرية إلى عاملين أوليين كل منهما يتكون من 125 منزلة عشرية. ما يحتاج إلى 2700 سنة باستخدام حواسيب سريعة جدًا، أُنجِز باستخدام عشرات الآلاف من الأجهزة تعمل معًا لعدة شهور بدعم من جامعات ومراكز بحثية. في التطبيقات العملية الحديثة للتشفير باستخدام مفتاح عام تستخدم أعداد أكبر بكثير من 250 منزلة عشرية أي ما يعادل 829 في النظام الثنائي، حيث يتكون العدد N من 2028 منزلة في النظام الثنائي (5).

المصادر:

1. Judson TW.  Beezer RA. Abstract Algebra Theory and Applications. Annual Edition [internet]. USA: PreTeXt; 2020 [cited 2021 Feb 24]. 341p. Available from: هنا

2. Liu X, Lee W-B, Bui Q-A, Lin C-C, Wu H-L. Biometrics-Based RSA Cryptosystem for Securing Real-Time Communication. Sustainability [internet] . 2018 [cited 2012 Feb 24]; 10(10):3588. Available from: هنا

3. Gallian JA. contemporary abstract algebra. 9th edition.USA: Cengage learning; 2017. 557p.

Available from: هنا

4. Burton D. Elementary number theory. 7th edition. New York(USA): McGraw-Hill; 2011. 436p.  Available from: هنا

5. New Record Set for Cryptographic Challenge. [internet]. San Diego(USA): UC Jacobs School of Engineering - Regents of The University of California [cited 2021 Feb 28]. Available from: هنا