تشفير RSA وفك تشفيره
شفّر بمفتاح RSA العام وفكّ التشفير بالمفتاح الخاص (OAEP أو PKCS#1 v1.5).
openssl pkeyutl -decrypt -inkey private.pem -in ciphertext.bin -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256شفّر سرًا قصيرًا بمفتاح RSA العام لشخص ما (أو بشهادته) حتى لا يقرأه إلا حامل المفتاح الخاص، أو فك تشفير نص مشفّر بمفتاحك الخاص. اختر OAEP مع SHA-256 (موصى به)، أو OAEP مع SHA-1، أو PKCS#1 v1.5؛ وتأتي النتيجة بصيغة Base64 أو hex وتعمل مع OpenSSL. يجري كل شيء في متصفحك، فلا تغادر المفاتيح ولا الرسائل جهازك؛ والأداة مجانية ولا تتطلب تسجيلًا.
طريقة التشفير وفك التشفير بـ RSA
- اختر «تشفير» أو «فك التشفير»، ثم الصق المفتاح أو افتح ملف مفتاح: مفتاحًا عامًا أو شهادة للتشفير، والمفتاح الخاص (PKCS#8 أو PKCS#1) لفك التشفير.
- اختر الحشو: OAEP · SHA-256 ما لم يحتج الطرف الآخر إلى غيره.
- اكتب الرسالة، أو الصق النص المشفّر بصيغة Base64 أو hex. وتظهر النتيجة أثناء الكتابة.
- انسخ النتيجة، أو نزّل النص المشفّر كملف .bin لاستخدامه مع OpenSSL.
الميزات
- التشفير بمفتاح عام أو بشهادة أو بالنصف العام من مفتاح خاص؛ وفك التشفير بالمفتاح الخاص
- OAEP مع SHA-256 (الافتراضي)، أو OAEP مع SHA-1، أو PKCS#1 v1.5
- مفاتيح بصيغة PEM أو DER، سواء SPKI أو PKCS#1 أو PKCS#8 أو شهادات X.509، حتى 16384 بت
- النص المشفّر بصيغة Base64 أو hex أو كملف .bin؛ ويُفك تشفير Base64 أو hex الملصق، أو ملف .bin مفتوح
- يعرض عدد البايتات التي يمكن تشفيرها بالمفتاح والحشو المختارين، وأمر openssl pkeyutl المطابق
- يعمل في عامل WebAssembly داخل متصفحك
هل تبقى بياناتي خاصة؟
نعم. يجري التشفير وفك التشفير في متصفحك، داخل عامل WebAssembly؛ ولا تُرفع المفاتيح ولا الرسائل ولا النصوص المشفّرة ولا تُخزَّن أبدًا.
الأسئلة الشائعة
ما الطول الأقصى للرسالة؟
يشفّر RSA كتلة واحدة. مع مفتاح 2048 بت يصل ذلك إلى 190 بايت مع OAEP SHA-256، و214 مع OAEP SHA-1، و245 مع PKCS#1 v1.5؛ والمفاتيح الأكبر تتيح أكثر. ولأي شيء أطول، شفّر البيانات بخوارزمية تشفير متماثل، أو استخدم أداة «تشفير الملفات».
لماذا يختلف النص المشفّر في كل مرة؟
لأن كل أنواع الحشو تضيف بايتات عشوائية قبل التشفير، فتعطي الرسالة نفسها نصًا مشفّرًا جديدًا في كل مرة. وهذا مقصود في التصميم، وكل واحد منها يُفك تشفيره إلى الرسالة نفسها.
هل يعمل مع OpenSSL؟
نعم. النص المشفّر هنا يُفك تشفيره بالأمر openssl pkeyutl -decrypt -inkey private.pem -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 (أو rsa_padding_mode:pkcs1)، والنصوص المشفّرة بـ openssl pkeyutl -encrypt يُفك تشفيرها هنا. استخدم الحشو نفسه في الطرفين.
ما صيغ المفاتيح التي يمكنني استخدامها؟
المفاتيح العامة بصيغة PEM (BEGIN PUBLIC KEY أو BEGIN RSA PUBLIC KEY)، والشهادات، والمفاتيح الخاصة غير المشفّرة بصيغة PKCS#8 (BEGIN PRIVATE KEY) أو PKCS#1 (BEGIN RSA PRIVATE KEY)، وكذلك كملفات DER. أما المفاتيح المحمية بكلمة مرور ومفاتيح OpenSSH فتحتاج إلى تحويل أولًا، وتوضّح الأداة كيف.
لماذا يفشل فك التشفير؟
غالبًا بسبب الحشو أو المفتاح. فك التشفير بالحشو نفسه الذي استُخدم في التشفير، وبالمفتاح الخاص المقابل للمفتاح العام المستخدم؛ والأداة لا تميّز بين هذه الحالات عن قصد، فجرّب أنواع الحشو الأخرى. والنص المشفّر دائمًا بطول المفتاح (256 بايت لمفتاح 2048 بت)، فإن كان أقصر فقد اقتُطع عند النسخ.