فك تشفير RSA بالمفتاح الخاص
فك تشفير نص RSA (Base64 أو hex) بمفتاح خاص PEM باستخدام RSA-OAEP SHA-256 أو OAEP SHA-1 أو PKCS#1 v1.5. رسائل خطأ واضحة عند خطأ المفتاح أو الحشو.
حشو OAEP هو الموصى به. تستخدم MGF1 دالة التجزئة نفسها، مثل Web Crypto و openssl pkeyutl -pkeyopt rsa_oaep_md.
يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.
ما هو فك تشفير RSA؟
تفك تشفير نص RSA بمفتاحك الخاص بصيغة PEM (PKCS#8 BEGIN PRIVATE KEY أو PKCS#1 BEGIN RSA PRIVATE KEY). تدعم RSA-OAEP مع SHA-256 أو SHA-1 وحشو PKCS#1 v1.5 القديم، بما يطابق مخرجات OpenSSL وWeb Crypto وJava وNode.js.
كيفية استخدام فك تشفير RSA
- الصق المفتاح الخاص (PEM) (غير مشفّر)، أو انقر توليد زوج مفاتيح تجريبي (2048 بت) للتجربة.
- اختر الحشو الذي استُخدم في التشفير.
- الصق النص المشفّر واختر Base64 أو Hex لترميزه.
- انقر فك التشفير؛ وانتقل بالناتج إلى Hex إذا كان النص الصريح ثنائيًا (مثل مفتاح AES).
مثال
Ciphertext from Node.js `crypto.publicEncrypt` (RSA-OAEP, oaepHash sha256) of "Hello RSA", with the matching 2048-bit PKCS#8 private key
Hello RSA
متى تستخدم فك تشفير RSA
استخدمها لفحص نص مشفّر أنتجته شيفرتك أنت، أو لفك تشفير بيانات اختبار، أو للتحقق من التوافق بين المنصات. تجنّب لصق مفاتيح خاصة إنتاجية حقيقية في المتصفح؛ واستخدم مفاتيح اختبار. أما المفاتيح الخاصة المحمية بكلمة مرور فيجب تصديرها بلا عبارة مرور أولًا.
كيف يعمل فك تشفير RSA
يستعيد الأس الخاص الرسالة المحشوة m = cᵈ mod n (مع تحسين CRT)، ثم يُزال الحشو ويُفحص: يتحقق OAEP من قناع MGF1 وتجزئة التسمية لـ SHA-256 أو SHA-1 المختارة، ويتحقق PKCS#1 v1.5 من الترويسة 00 02 والفاصل. يجب أن يساوي طول النص المشفّر طول المقياس تمامًا (256 بايت لمفاتيح 2048 بت)؛ وأي عدم تطابق في المفتاح أو الحشو أو التجزئة يسبب خطأ في فك التشفير بدل ناتج خاطئ.
حالات الاستخدام الشائعة
- التحقق من أن ناتج RSA-OAEP من المتصفح يُفك بمفتاح الخادم
- فك مفتاح AES مغلَّف بـ RSA في اختبار تشفير هجين
- تشخيص عدم التطابق بين OAEP SHA-1 وSHA-256 بين Java وNode.js
- فك بيانات PKCS#1 v1.5 من نظام قديم
ملاحظة أمنية
تُعالَج المفاتيح والرسائل داخل متصفحك فقط. لا تلصق مفاتيح خاصة إنتاجية في أي موقع لا تتحكم به؛ ولّد زوج مفاتيح تجريبيًا بدلًا من ذلك.
الأسئلة الشائعة
ظهر «Decryption failed» – ما الخطأ؟
عادةً لا يطابق الحشو أو تجزئة OAEP (SHA-1 مقابل SHA-256)، أو أن النص المشفّر يعود إلى زوج مفاتيح آخر، أو تضرر أثناء النسخ. جرّب تجزئة OAEP الأخرى أولًا.
مفتاحي يبدأ بـ BEGIN ENCRYPTED PRIVATE KEY.
المفاتيح المحمية بكلمة مرور غير مدعومة. حوّل نسخة اختبارية بالأمر openssl pkey -in key.pem -out plain.pem وتعامل مع المفتاح غير المشفّر بحذر.
يقول خطأ الطول إن النص المشفّر يجب أن يكون 256 بايت.
للنص المشفّر بـ RSA دائمًا طول المقياس. تأكد من أنك لصقت سلسلة Base64 كاملة وأنك اخترت ترميز الإدخال الصحيح (Base64 أم Hex).