0Pricing
Cryptology Academy · درس

مخططات التوقيع DSA وECDSA

قارن بين توقيعات RSA وDSA ومتغير المنحنيات الإهليلجية

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

ترحيب

تُعد DSA وECDSA مخططَي توقيع بديلين يعتمدان على صعوبة حساب اللوغاريتم المتقطع. وتهيمن ECDSA على الأنظمة الحديثة بفضل مفاتيحها الأصغر وعملياتها الأسرع.

نظرة عامة على DSA

تستخدم DSA (من NIST، 1994) مجموعة دورية ذات رتبة أولية q داخل Z*p. توليد المفاتيح: المفتاح الخاص x؛ والمفتاح العام y = g^x mod p. المعيار: p بطول 2048 بت وq بطول 256 بت.

خوارزمية توقيع DSA

1. توليد nonce عشوائية k ‏(1 < k < q) 2. r = (g^k mod p) mod q 3. s = k^(-1) × (Hash(M) + x×r) mod q 4. التوقيع: (r, s)

التحقق من DSA

1. u1 = Hash(M) × s^(-1) mod q 2. u2 = r × s^(-1) mod q 3. v = (g^u1 × y^u2 mod p) mod q 4. يكون صالحًا إذا كان v == r

ثغرة nonce في DSA

إذا استُخدمت قيمة k نفسها مرتين، فإن التوقيعين يشتركان في r. ومن زوجَي (r,s1) و(r,s2) يمكن حساب المفتاح الخاص x مباشرةً. وقد أدى ذلك إلى تدمير أمان PS3 (إذ استُخدمت k=1 في كل مرة).

نظرة عامة على ECDSA

تُعد ECDSA تطبيقًا لـ DSA على مجموعة منحنى إهليلجي بدلًا من Z*p. ويوفر المنحنى أمانًا مكافئًا باستخدام معاملات أصغر بكثير: يعادل ECDSA-256 تقريبًا DSA-3072 من حيث الأمان.

ECDSA في Python

from cryptography.hazmat.primitives.asymmetric import ec from cryptography.hazmat.primitives import hashes private_key = ec.generate_private_key(ec.SECP256R1()) sig = private_key.sign(message, ec.ECDSA(hashes.SHA256())) public_key = private_key.public_key() public_key.verify(sig, message, ec.ECDSA(hashes.SHA256()))

ECDSA الحتمية (RFC 6979)

تشتق RFC 6979 قيمة k حتميًا من المفتاح الخاص وتجزئة الرسالة. وهذا يلغي الاعتماد على مولّد الأعداد العشوائية ويجعل إعادة استخدام nonce مستحيلة. تستخدم جميع التطبيقات الحديثة RFC 6979.

EdDSA: Ed25519

تستخدم Ed25519 (DSA على منحنيات Edwards) الصيغة الملتوية لمنحنى Curve25519 من نوع Edwards. وهي حتمية بطبيعتها، وتعمل بزمن ثابت، وأسرع من ECDSA. ويوصى بها للبروتوكولات الجديدة (مفاتيح SSH وTLS 1.3 وSignal).

مقارنة أحجام المفاتيح

توقيع RSA-2048: ‏256 بايت. توقيع ECDSA-256: نحو 71 بايت. توقيع Ed25519: ‏64 بايت. المفتاح العام لـ Ed25519: ‏32 بايت. ويهم اختلاف الحجم في الأجهزة محدودة الموارد.

المنحنيات القياسية

NIST P-256 (secp256r1): ‏TLS والامتثال لـ FIPS. secp256k1: ‏Bitcoin وEthereum. Curve25519/Ed25519: ‏Signal وWireGuard وإصدارات SSH الأحدث. Brainpool: بعض المعايير الأوروبية.

تحقق سريع

ما الثغرة الكارثية التي تحدث إذا أُعيد استخدام nonce k في DSA أو ECDSA؟

مراجعة

أصبحتم تفهمون DSA وECDSA وEd25519. سندرس بعد ذلك كيفية حماية التوقيعات الرقمية للتطبيقات الحقيقية: توقيع التعليمات البرمجية والبريد الإلكتروني.

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

هل درس «مخططات التوقيع DSA وECDSA» مجاني؟

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

ماذا ستتعلم في «مخططات التوقيع DSA وECDSA»؟

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

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

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

كم من الوقت يستغرق درس «مخططات التوقيع DSA وECDSA»؟

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

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

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

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

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