0Pricing
Cryptology Academy · درس

توقيعات RSA: التوقيع والتحقق

تتبّع رياضيات توقيع تجزئة مستند باستخدام مفتاح خاص

توقيعات RSA: التوقيع والتحقق درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ترحيب

تعكس توقيعات RSA أدوار المفاتيح: يوقّع المفتاح الخاص، ويتحقق المفتاح العام. ويتيح ذلك لأي شخص التحقق من هويتكم باستخدام مفتاحكم العام.

رياضيات توقيع RSA

لتوقيع الرسالة M باستخدام المفتاح الخاص (d, n): 1. H = SHA256(M) 2. sig = H^d mod n التوقيع عبارة عن عدد له طول البت نفسه لـ n.

رياضيات التحقق من RSA

للتحقق من التوقيع sig باستخدام المفتاح العام (e, n): 1. H' = sig^e mod n 2. H = SHA256(M) 3. يكون صالحًا إذا كان H == H' يمكن لأي شخص يملك المفتاح العام إجراء التحقق — ولا يلزم وجود سر.

حشو توقيع PKCS#1 v1.5

توقيعات RSA الخام قابلة للتلاعب. يضيف PKCS#1 v1.5 حشوًا إلى التجزئة قبل التوقيع: 0x00 0x01 [0xFF padding] 0x00 [DigestInfo] [Hash] يتحقق التحقق من بنية الحشو المطابقة تمامًا.

RSA-PSS: حشو أفضل

يستخدم RSA-PSS (مخطط التوقيع الاحتمالي) ملحًا عشوائيًا، مما يجعل كل توقيع مختلفًا حتى عند استخدام الرسالة نفسها. وهو آمن قابل للإثبات في نموذج العرّافة العشوائية. ويُفضَّل على PKCS#1 v1.5.

توقيع RSA في Python (PSS)

from cryptography.hazmat.primitives.asymmetric import padding from cryptography.hazmat.primitives import hashes signature = private_key.sign( message, padding.PSS( mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH ), hashes.SHA256() )

التحقق من RSA في Python

try: public_key.verify( signature, message, padding.PSS( mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH ), hashes.SHA256() ) print('Valid!') except InvalidSignature: print('Invalid!')

طول التوقيع

توقيع RSA-2048: ‏256 بايت. RSA-4096: ‏512 بايت. توقيع ECDSA-256: نحو 71 بايت (بترميز DER متغير). يحتوي التوقيع على ناتج الرفع إلى الأس المعياري كاملًا.

التوقيعات العمياء

يتيح التوقيع الأعمى للموقّع توقيع رسالة من دون رؤية محتواها. ويُستخدم في التصويت الإلكتروني والنقد الإلكتروني: يوقّع البنك رمزًا مموّهًا، ثم يزيل المستخدم التعمية عنه — ليحصل على نقد غير قابل للتتبع.

توقيع RSA في سلسلة الشهادات

توقّع Let's Encrypt شهادة خادمكم باستخدام مفتاح RSA الخاص بجهة CA الوسيطة التابعة لها. ويوجد المفتاح العام لخادمكم في متن الشهادة. ويتحقق عملاء TLS من هذه السلسلة تلقائيًا.

شفافية الشهادات

تسجّل شفافية الشهادات جميع الشهادات المُصدرة في شجرة Merkle قابلة للتحقق تشفيريًا. وتثبت الطوابع الزمنية للشهادة الموقّعة (SCTs) إدراج الشهادة في السجل قبل إصدارها.

تحقق سريع

في التحقق من توقيع RSA، أي مفتاح يُستخدم للتحقق من التوقيع؟

مراجعة

تكون توقيعات RSA آمنة عند استخدام الحشو الصحيح. سندرس بعد ذلك مقارنة RSA بمخططات توقيع DSA وECDSA.

الأسئلة الشائعة

هل درس «توقيعات RSA: التوقيع والتحقق» مجاني؟

نعم — نص درس «توقيعات RSA: التوقيع والتحقق» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ماذا ستتعلم في «توقيعات RSA: التوقيع والتحقق»؟

تتبّع رياضيات توقيع تجزئة مستند باستخدام مفتاح خاص تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟

لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «توقيعات RSA: التوقيع والتحقق»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟

نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ما التوقيع الرقمي؟
  2. توقيعات RSA: التوقيع والتحقق
  3. مخططات التوقيع DSA وECDSA
  4. التوقيعات في العالم الحقيقي: توقيع التعليمات البرمجية والبريد الإلكتروني
← العودة إلى Cryptology Academy