مولد زوج المفتاح RSA
يتكوّن زوج مفتاح في نظام RSA من رقمين مترابطين رياضيًا: مفتاح عام توزّعه للآخرين، ومفتاح خاص تحفظه. يقوم هذا المولّد بإنتاج كلا المفتاحين باستخدام ترميز PEM القياسي، وذلك بالاعتماد على مصدر عشوائي آمن من الناحية التشفيرية. يمكن استخدامه لتشغيل خادم توقيع JWT، أو إصدار شهادة TLS لمجلد التحضير (staging box)، أو إنشاء هوية SSH دون الحاجة إلى اللجوء إلى سطر الأوامر.
كيفية إنشاء زوج مفتاح RSA
-
1
اختيار حجم المفتاح
اختر إحدى القيم التالية: 2048 أو 3072 أو 4096 بت. كلما كانت المفتاحات أطول، كانت أكثر أمانًا، لكن عملية التوقيع والتحقق منها تصبح أبطأ.
-
2
توليد
تنشئ الأداة معاملًا جديدًا وأُسًّا خاصًا باستخدام المكوّنات الأساسية لـ WebCrypto.
-
3
قم بنسخه أو تنزيله.
استخرج المفتاح الخاص المشفر باستخدام تقنية PEM (BEGIN PRIVATE KEY) والمفتاح العام المقابل له (BEGIN PUBLIC KEY).
-
4
خزن المفتاح الخاص بشكل آمن
أدخله في أداة إدارة الأسرار أو مفتاح التخزين؛ ولا تلصقه قط في محادثات الدردشة، أو رسائل البريد الإلكتروني، أو مستودعات نصية عامة.
ما هو حجم المفتاح الذي يجب استخدامه؟
ليس أكبر حجم دائمًا أفضل؛ فالحجم المناسب يعتمد على مدة استخدام المفتاح وعلى المبلغ الذي تستعد لإنفاقه من وحدة المعالجة المركزية لكل توقيع رقمي.
إرشادات المعهد الوطني للمعايير والتقنيات (NIST) بنظرة سريعة
| حجم المفتاح | مستوى الأمان | الاستخدام النموذجي | تكلفة التوقيع النسبية |
|---|---|---|---|
| 2048 بت | ~112 بت | توقيع JWT، شهادات TLS قصيرة الأمد، معظم واجهات برمجة التطبيقات (APIs) | 1x |
| 3072 بت | ~128 بت | مراكز اعتماد جذرية طويلة الأمد، التزام بمعايير FIPS > 2030 | ~3x |
| 4096 بت | ~140 بت | جذور ذات موثوقية عالية، توقيع مستندات على المدى الطويل | ~7x |
أين يندرج PEM
تُلف المفاتيح بتنسيق PKCS#8/SPKI وتُرمَّز بترميز base64، وتوضع بين علامتي -----BEGIN----- و-----END-----؛ وهو التنسيق الذي تتوقعه جميع المكتبات الرئيسية: OpenSSL، وcrypto في Node.js، وcryptography في Python، وcrypto/rsa في Go، وKeyFactory في Java.
نصائح تشغيلية
- قم بتدوير مفاتيح التوقيع ذات النطاق الواسع مرة واحدة على الأقل سنويًا.
- يُفضَّل استخدام خوارزمية ECDSA (P-256) أو Ed25519 في الأنظمة الجديدة؛ فهي أسرع، والتواقيع الناتجة أصغر بكثير.
- لا تعِد استخدام زوج المفاتيح عبر أنظمة غير مرتبطة؛ فإذا تسرّب أحدها، أصبح كل ما يعتمد عليه عرضة للخطر.
- استخدم عبارة مرور عند تخزين المفتاح الخاص على القرص؛ ويُعد ملف PEM المشفَّر (
BEGIN ENCRYPTED PRIVATE KEY) المعيار القياسي.
الأسئلة الشائعة
نعم، بالنسبة لمعظم عمليات توقيع واجهات برمجة التطبيقات (API) والجلسات. لا يزال كل من المعهد الوطني للمعايير والتقنيات (NIST) والجمعية البريطانية للتكنولوجيا (BSI) يعتبر خوارزمية RSA ذات البتية 2048 مقبولة حتى عام 2030 على الأقل، رغم أن خوارزمية RSA ذات البتية 3072 تُوصى بها في الحالات التي تتطلب متانة أطول من ذلك.
يعمل المفتاح الخاص لـ PEM مع ssh-keygen -y -f key.pem لإنتاج الخط العام ssh-rsa. وللاستخدام اليومي في بروتوكول SSH، يُفضل استخدام Ed25519؛ إذ تكون المفاتيح الصغيرة الحجم وأسرع في المعالجة.
الأول هو PKCS#1 (مخصص لخوارزمية RSA فقط)، والثاني هو PKCS#8 (غلاف غير محدد الخوارزمية)، وهو الخيار المفضّل لدى المكتبات الحديثة؛ حيث يقوم هذا الأداة بإنتاج بيانات بصيغة PKCS#8.
لا يحدث ذلك؛ فعملية إنشاء المفتاح تتم محليًا عبر واجهة برمجة التطبيقات WebCrypto، ويتم تجميع ملف PEM في الذاكرة قبل عرضه على الصفحة.
أدوات ذات صلة
معرّف التشفير
قم بلصق نص مشفر أو قيمة هاش، وسيقترح المعرّف خوارزميات أو أنظمة ترميز محتملة مثل MD5 وSHA وbcrypt وAES وRSA وBase64 وغيرها.
محوّل الإيثريوم إلى الدولار الأمريكي
حوّل الإيثريوم (ETH) إلى دولار أمريكي بسعر ETH/USD الفعلي أو بسعر تدخله بنفسك، واعرف قيمة أي مبلغ من ETH بالدولار الأمريكي.
حاسبة تجزئة الملفات
احسب قيم التجزئة (hash) MD5 وSHA-1 وSHA-256 وSHA-512 للنص أو محتوى الملف الذي تلصقه للتحقق من عمليات التنزيل وسلامة الملفات.
منشئ CSR
قم بإنشاء طلب توقيع شهادة مشفر بـ PEM ومفتاح RSA خاص مطابق. حدد الاسم الشائع وحقول المؤسسة وحجم المفتاح (2048 أو 3072 أو 4096 بت).
مولد هاش
أنشئ قيم تجزئة MD5 وSHA-1 وSHA-256 وSHA-384 وSHA-512 وCRC32 من النصوص، مع ملخّص جاهز للنسخ لاستخدامه في فحوص المجموع والمقارنات.
معرف التشفير
قم بلصق النص المشفر وسيقترح المعرف أنظمة تشفير/ترميز محتملة: Base64، وHex، وثنائي، ومورس، وسيزر أو إبدال، وJWT، والتجزئات الشائعة.
الأداة متاحة بلغات أخرى
- RSA nyckelpargenerator [SV]
- RSA 키 쌍 생성기 [KO]
- Générateur de paire de clés RSA [FR]
- เครื่องสร้างคู่กุญแจ RSA (RSA Key Pair Generator) [TH]
- RSA-sleutelpaargenerator [NL]
- Bộ tạo cặp khóa RSA [VI]
- RSA-Schlüsselpaar-Generator [DE]
- Generador de pares de claves RSA [ES]
- Generator Pasangan Kunci RSA [ID]
- RSA鍵ペア生成器 [JA]
- Generator par kluczy RSA [PL]
- Gerador de Par de Chaves RSA [PT]
- RSA Key Pair Generator [EN]
- Generatore di coppie di chiavi RSA [IT]
- Генератор пар ключей RSA [RU]
- RSA Anahtar Çifti Oluşturucu [TR]
- RSA密钥对生成器 [ZH]