logo

خوارزمية تشفير RSA

خوارزمية تشفير RSA هي نوع من خوارزمية تشفير المفتاح العام. لفهم RSA بشكل أفضل، دعونا أولاً نفهم ما هي خوارزمية تشفير المفتاح العام.

خوارزمية تشفير المفتاح العام:

تسمى خوارزمية تشفير المفتاح العام أيضًا بالخوارزمية غير المتماثلة. الخوارزميات غير المتماثلة هي تلك الخوارزميات التي يستخدم فيها المرسل والمستقبل مفاتيح مختلفة للتشفير وفك التشفير. يتم تعيين زوج من المفاتيح لكل مرسل:

    المفتاح العمومي مفتاح سري

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

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

خوارزمية تشفير RSA
  • يتم تشفير البيانات التي سيتم إرسالها من قبل المرسل أ باستخدام المفتاح العام للمتلقي المقصود
  • يقوم B بفك تشفير النص المشفر المستلم باستخدام مفتاحه الخاص، والذي لا يعرفه سوى B. يرد B على A ويقوم بتشفير رسالته باستخدام المفتاح العام لـ A.
  • يقوم A بفك تشفير النص المشفر المستلم باستخدام مفتاحه الخاص، والذي يعرفه فقط.

خوارزمية تشفير RSA:

RSA هي خوارزمية المفتاح العام الأكثر شيوعًا، وقد سُميت على اسم مخترعيها ريفست وشامير وأدلمان (RSA).

خوارزمية تشفير RSA

تستخدم خوارزمية RSA الإجراء التالي لإنشاء المفاتيح العامة والخاصة:

  • حدد عددين أوليين كبيرين، p و س .
  • اضرب هذه الأرقام لتجدها ن = ع س ف، أين ن ويسمى معامل التشفير وفك التشفير.
  • اختر رقم إنها أقل من ن ، بحيث يكون n أوليًا نسبيًا لـ (ع - 1) × (ف -1). هذا يعني انه إنها و (ع - 1) × (ف - 1) ليس لديهم عامل مشترك باستثناء 1. اختر 'e' بحيث يكون 1 جي سي دي (ه، د (ن)) = 1
  • لو ن = ع س ف، ثم المفتاح العام هو . رسالة نصية عادية م يتم تشفيره باستخدام المفتاح العام. للعثور على نص مشفر من النص العادي، يتم استخدام الصيغة التالية للحصول على النص المشفر C.
    ج = مإنهاضد ن
    هنا ، م يجب أن يكون أقل من ن . يتم التعامل مع الرسالة الأكبر حجمًا (>n) على أنها سلسلة من الرسائل، ويتم تشفير كل منها بشكل منفصل.
  • لتحديد المفتاح الخاص، نستخدم الصيغة التالية لحساب d بحيث:
    دإنهاالوضع {(ع - 1) × (ف - 1)} = 1
    أو
    دإنهاوزارة الدفاع φ (ن) = 1
  • المفتاح الخاص هو . رسالة نصية مشفرة ج يتم فك تشفيرها باستخدام المفتاح الخاص. لحساب النص العادي م من النص المشفر c يتم استخدام الصيغة التالية للحصول على نص عادي m.
    م = جدضد ن

لنأخذ بعض الأمثلة على خوارزمية تشفير RSA:

مثال 1:

يوضح هذا المثال كيف يمكننا تشفير النص العادي 9 باستخدام خوارزمية تشفير المفتاح العام RSA. يستخدم هذا المثال الأعداد الأولية 7 و11 لإنشاء المفاتيح العامة والخاصة.

توضيح:

الخطوة 1: حدد عددين أوليين كبيرين، p، و س .

ع = 7

س = 11

الخطوة 2: اضرب هذه الأرقام لتجدها ن = ع س ف، أين ن ويسمى معامل التشفير وفك التشفير.

أولا، نحسب

ن = ع س ف

ن = 7 × 11

ن = 77

الخطوه 3: اختر رقم إنها أقل من ن ، بحيث يكون n أوليًا نسبيًا لـ (ع - 1) × (ف -1). هذا يعني انه إنها و (ع - 1) × (ف - 1) ليس لديهم عامل مشترك باستثناء 1. اختر 'e' بحيث يكون 1

ثانيا نقوم بالحساب

φ (ن) = (ع - 1) × (ف-1)

φ (ن) = (7 - 1) × (11 - 1)

φ (ن) = 6 × 10

φ (ن) = 60

دعونا الآن نختار العدد الأولي النسبي e لـ 60 وهو 7.

وبالتالي فإن المفتاح العام هو = (7، 77)

الخطوة 4: رسالة نصية عادية م يتم تشفيره باستخدام المفتاح العام. للعثور على نص مشفر من النص العادي، يتم استخدام الصيغة التالية للحصول على النص المشفر C.

للعثور على نص مشفر من النص العادي، يتم استخدام الصيغة التالية للحصول على النص المشفر C.

ج = مإنهاضد ن

ج = 97مقابل 77

ج = 37

الخطوة 5: المفتاح الخاص هو . لتحديد المفتاح الخاص، نستخدم الصيغة التالية d بحيث:

دإنهاالوضع {(ع - 1) × (ف - 1)} = 1

7d mod 60 = 1، مما يعطي d = 43

المفتاح الخاص هو = (43، 77)

الخطوة 6: رسالة نصية مشفرة ج يتم فك تشفيرها باستخدام المفتاح الخاص. لحساب النص العادي م من النص المشفر c يتم استخدام الصيغة التالية للحصول على نص عادي m.

م = جدضد ن

م = 3743مقابل 77

م = 9

في هذا المثال، النص العادي = 9 والنص المشفر = 37

مثال 2:

في نظام تشفير RSA، يستخدم حرف A رقمين أوليين، 13 و17، لإنشاء المفاتيح العامة والخاصة. إذا كان الرقم العام لـ A هو 35. فإن المفتاح الخاص لـ A هو ...............؟.

توضيح:

الخطوة 1: في الخطوة الأولى، حدد رقمين أوليين كبيرين، ص و س .

ع = 13

ف = 17

الخطوة 2: اضرب هذه الأرقام لتجدها ن = ع س ف، أين ن ويسمى معامل التشفير وفك التشفير.

أولا، نحسب

ن = ع س ف

ن = 13 × 17

ن = 221

الخطوه 3: اختر رقم إنها أقل من ن ، بحيث يكون n أوليًا نسبيًا لـ (ع - 1) × (ف -1). هذا يعني انه إنها و (ع - 1) × (ف - 1) ليس لديهم عامل مشترك باستثناء 1. اختر 'e' بحيث يكون 1

ثانيا نقوم بالحساب

φ (ن) = (ع - 1) × (ف-1)

φ (ن) = (13 - 1) × (17 - 1)

φ (ن) = 12 × 16

φ (ن) = 192

جي سي دي (35، 192) = 1

الخطوه 3: لتحديد المفتاح الخاص، نستخدم الصيغة التالية لحساب d بحيث:

احسب د = دإنهاوزارة الدفاع φ (ن) = 1

د = د × 35 مود 192 = 1

د = (1 + ك.φ (ن))/ه [دع ك = 0، 1، 2، 3 ……………]

ضع ك = 0

د = (1 + 0 × 192)/35

د = 1/35

ضع ك = 1

د = (1 + 1 × 192)/35

د = 193/35

ضع ك = 2

د = (1 + 2 × 192)/35

د = 385/35

د = 11

المفتاح الخاص هو = (11, 221)

ومن ثم، المفتاح الخاص أي د = 11

مثال 3:

يستخدم نظام تشفير RSA رقمين أوليين 3 و13 لإنشاء المفتاح العام = 3 والمفتاح الخاص = 7. ما هي قيمة النص المشفر للنص العادي؟

توضيح:

الخطوة 1: في الخطوة الأولى، حدد رقمين أوليين كبيرين، ص و س .

ع = 3

ف = 13

الخطوة 2: اضرب هذه الأرقام لتجدها ن = ع س ف، أين ن ويسمى معامل التشفير وفك التشفير.

أولا، نحسب

ن = ع س ف

ن = 3 × 13

ن = 39

الخطوه 3: لو ن = ع س ف، ثم المفتاح العام هو . رسالة نصية عادية م يتم تشفيره باستخدام المفتاح العام. وبالتالي فإن المفتاح العام هو = (3، 39).

للعثور على نص مشفر من النص العادي، يتم استخدام الصيغة التالية للحصول على النص المشفر C.

ج = مإنهاضد ن

ج = 53نحو 39

ج = 125 مقابل 39

ج = 8

ومن ثم، فإن النص المشفر الناتج من نص عادي، C = 8.

مثال 4:

يستخدم نظام تشفير RSA رقمين أوليين، 3 و11، لإنشاء مفتاح خاص = 7. ما هي قيمة النص المشفر لنص عادي 5 باستخدام خوارزمية تشفير المفتاح العام RSA؟

توضيح:

الخطوة 1: في الخطوة الأولى، حدد رقمين أوليين كبيرين، ص و س .

ع = 3

س = 11

الخطوة 2: اضرب هذه الأرقام لتجدها ن = ع س ف، أين ن ويسمى معامل التشفير وفك التشفير.

أولا، نحسب

ن = ع س ف

ن = 3 × 11

بيثون سلسلة f

ن = 33

الخطوه 3: اختر رقم إنها أقل من ن ، بحيث يكون n أوليًا نسبيًا لـ (ع - 1) × (ف -1). هذا يعني انه إنها و (ع - 1) × (ف - 1) ليس لديهم عامل مشترك باستثناء 1. اختر 'e' بحيث يكون 1

ثانيا نقوم بالحساب

φ (ن) = (ع - 1) × (ف-1)

φ (ن) = (3 - 1) × (11 - 1)

φ (ن) = 2 × 10

φ (ن) = 20

الخطوة 4: لتحديد المفتاح العام، نستخدم الصيغة التالية لحساب d بحيث:

احسب e x d = 1 mod φ (n)

ه × 7 = 1 مقابل 20

ه × 7 = 1 مقابل 20

ه = (1 + ك. φ (ن))/ د [دع ك = 0، 1، 2، 3 ……………]

ضع ك = 0

ه = (1 + 0 × 20) / 7

ه = 1/7

ضع ك = 1

ه = (1 + 1 × 20) / 7

ه = 21/7

ه = 3

المفتاح العام هو = (3، 33)

وبالتالي، المفتاح العام، أي e = 3