التشفير المتماثل مقابل غير المتماثل: الفروقات الرئيسية
مقارنة التشفير المتماثل وغير المتماثل بلغة بسيطة. افهم كيف يعمل كل منهما وكيف يتم دمجهما في النقل الحديث.
التشفير المتماثل يستخدم مفتاحاً واحداً للتشفير وفكّه — كما في AES-256-GCM، الشيفرة التي تؤمّن ملفاتك أثناء النقل. التشفير غير المتماثل يستخدم زوجاً من المفاتيح: مفتاح عام يستطيع أي شخص الاطلاع عليه، ومفتاح خاص تحتفظ به وحدك، كما في RSA-4096 وCurve25519. التشفير المتماثل سريع (جيجابايتات في الثانية على المعالجات الحديثة) لكنه يستلزم مشاركة السر نفسه بين الطرفين. التشفير غير المتماثل يحلّ مشكلة تبادل المفاتيح لكنه أبطأ بألف مرة. كل خدمة نقل ملفات حديثة — HexaTransfer وTresorit وProton Drive وSwissTransfer — تستخدم كليهما: غير المتماثل لتبادل المفتاح المتماثل، ثم المتماثل لتشفير الملف فعلياً.
عالم المفتاح الواحد: التشفير المتماثل
تستخدم الشيفرات المتماثلة المفتاح نفسه في الاتجاهين. إن شفّرت ملفاً بمفتاح K، فأنت تحتاج المفتاح K لفكّ تشفيره. الخوارزميات المتماثلة الرئيسية المستخدمة حالياً:
- AES (Rijndael) بمفاتيح 128 و192 و256 بتاً، موحّدة في FIPS 197.
- ChaCha20 بمفاتيح 256 بتاً، مفضّلة على الأجهزة التي تفتقر إلى تسريع AES-NI.
- 3DES — أوقفها NIST عام 2023، لا تستخدمها.
الإنتاجية ميزتها الكبرى. يعمل AES-256-GCM بحوالي 3-5 جيجابايت/ثانية لكل نواة على Intel AES-NI، ويصل ChaCha20-Poly1305 إلى 1.5-3 جيجابايت/ثانية على هواتف ARM. يستغرق تشفير ملف بحجم 10 جيجابايت ثوانٍ معدودة.
المشكلة: كيف توصل المفتاح إلى الطرف الآخر؟ إرساله بالبريد الإلكتروني يُفقده فائدته. هذه مشكلة توزيع المفاتيح، ولهذا وُجد التشفير غير المتماثل.
عالم المفتاحين: التشفير غير المتماثل
اخترعه Diffie وHellman عام 1976، وأتاحه عملياً Rivest وShamir وAdleman بصيغة RSA عام 1977. لكل مستخدم زوج مفاتيح: مفتاح عام يُنشر بحرية ومفتاح خاص يُحفظ بسرية. ما يُشفَّر بالمفتاح العام لا يُفكَّك إلا بالمفتاح الخاص، والعكس صحيح.
إن أردت إرسال ملف سري إليّ، شفّره بمفتاحي العام. مفتاحي الخاص وحده يستطيع فتحه — ولم أضطر أنا إلى مشاركة أي سر معك. مشكلة توزيع المفاتيح محلولة.
الخوارزميات غير المتماثلة الحالية:
- RSA-2048 أو RSA-4096 — بطيء لكنه مدعوم بشكل عالمي، يُستخدم في شهادات TLS.
- المنحنيات الإهليجية (ECDH، ECDSA) على منحنيات كـ P-256 وP-384 وCurve25519 — مفاتيح أصغر وعمليات أسرع. مفتاح EC بحجم 256 بتاً يعادل أمان مفتاح RSA بحجم 3072 بتاً.
- Ed25519 — المعيار الحديث للتوقيع، يستخدمه SSH وSignal.
لماذا التشفير غير المتماثل بطيء جداً للملفات
الرياضيات غير المتماثلة مكلفة. يعمل RSA-4096 بحوالي 100-500 عملية في الثانية على معالج حديث. كل عملية تتعامل مع ما يقارب 470 بايت (حجم كتلة RSA مطروحاً منها الحشو). هذا ما يعادل 200 كيلوبايت في الثانية تقريباً — أبطأ بما يقارب 50,000 مرة من AES-256-GCM.
تشفير ملف بحجم 10 جيجابايت بـ RSA سيستغرق 14 ساعة تقريباً. مع AES-256-GCM، يستغرق نحو 3 ثوانٍ. هذا التفاوت الهائل في السرعة هو سبب عدم استخدام RSA لتشفير الملفات مباشرةً.
التشفير الهجين: النهج الواقعي
كل بروتوكول يحتاج الأمان والسرعة معاً يجمعهما. TLS 1.3 وPGP وSignal وAge وكل خدمة نقل ملفات موثوقة تتبع هذا النمط:
- يُنشئ المُرسِل مفتاح AES عشوائياً بحجم 256 بتاً (مفتاح الجلسة أو مفتاح الملف).
- يُشفَّر الملف بـ AES-256-GCM باستخدام ذلك المفتاح.
- يُشفَّر مفتاح AES نفسه بالمفتاح العام للمستلم (RSA-OAEP أو ECIES).
- ينتقل النص المشفّر والمفتاح المشفّر معاً إلى المستلم.
- يفكّ المستلم تشفير مفتاح AES بمفتاحه الخاص، ثم يستخدمه لفكّ تشفير الملف.
تدفع تكلفة التشفير غير المتماثل مرة واحدة لكل مستلم، لمفتاح بحجم 256 بتاً. يُعالَج الملف الرئيسي بالتشفير المتماثل بكامل سرعته. أفضل ما في العالمين.
أين تختلف خدمات نقل الملفات
تواجه خدمات النقل المعتمدة على المتصفح تحدياً: قد لا يملك المستلم زوج مفاتيح. ربما يضغط رابطاً فحسب. ثلاثة أنماط تتعامل مع هذا:
- متماثل فقط عبر رابط مشترك (SwissTransfer، HexaTransfer، خلفاء Firefox Send). يُنشأ مفتاح AES-256 عشوائي في متصفح المُرسِل، يُضمَّن في جزء URL، ويقرأه متصفح المستلم من الجزء. لا حاجة إلى تشفير غير متماثل — الجزء هو القناة.
- غير متماثل من حساب إلى حساب (Tresorit، Proton Drive). كل مستخدم يملك زوج مفاتيح RSA أو ECC يُنشأ عند التسجيل. تُشفَّر الملفات المُرسَلة لمستلم محدد بمفتاحه العام.
- هجين بكلمة مرور (خدمات كثيرة). يحتوي جزء URL على قيمة تهيئة عشوائية؛ يكتب المستخدم كلمة مرور؛ يشتق PBKDF2 أو Argon2id المفتاح المتماثل. لا تشفير غير متماثل، لكن كلمة المرور تؤدي دور السر المشترك.
نهج الرابط المشترك هو الأبسط ويعمل مع المستلمين الذين ليس لديهم حسابات. التشفير غير المتماثل المرتبط بحساب أقوى لأن فقدان الرابط لا يكشف المفتاح. اختر حسب نموذج التهديد لديك.
التوقيعات الرقمية: المهمة الأخرى للتشفير غير المتماثل
يقوم التشفير غير المتماثل بشيء لا يستطيعه المتماثل: إثبات التأليف. إن وقّعت ملفاً بمفتاحي الخاص، يستطيع أي شخص يملك مفتاحي العام التحقّق من توقيعي ومعرفة أن الملف لم يُعبث به منذ التوقيع. يستطيع التشفير المتماثل توفير المصادقة (HMAC، وسم GCM) لكن فقط بين طرفين يشتركان في سر سابقاً.
خوارزميات التوقيع المستخدمة:
- RSA-PSS مع SHA-256 — تراث مدعوم على نطاق واسع.
- ECDSA على P-256 أو P-384 — مُعتمد من NIST، يُستخدم في الأنظمة الفيدرالية الأمريكية.
- Ed25519 — سريع وحتمي ومقاوم للمولّدات العشوائية السيئة. الخيار الحديث.
يعتمد توزيع البرامج (apt، وHomebrew، وصور Docker) على توقيعات Ed25519 أو RSA لمنع التلاعب في سلسلة الإمداد. خدمات نقل الملفات لا تعرض التوقيعات مباشرةً في العادة، لكن وسم مصادقة GCM في AES-256-GCM يوفّر النزاهة ضمن عملية تشفير واحدة.
أحجام المفاتيح ومستويات الأمان
جدول تحويل سريع للأمان المعادل ضد الحواسيب الكلاسيكية:
- 128 بتاً متماثل = 3072 بتاً RSA = 256 بتاً EC (P-256 أو Curve25519)
- 192 بتاً متماثل = 7680 بتاً RSA = 384 بتاً EC (P-384)
- 256 بتاً متماثل = 15360 بتاً RSA = 512 بتاً EC (P-521)
التوصية الحالية لـ NIST للأنظمة الجديدة: أمان لا يقلّ عن 112 بتاً، ما يعني RSA-2048 أو P-256. تستخدم الوكالات الفيدرالية 128 بتاً (RSA-3072، P-384) كحدّ أدنى حتى عام 2030.
أمام الحواسيب الكمومية المستقبلية، تفقد المفاتيح المتماثلة نصف قوّتها تقريباً (خوارزمية Grover)، بينما ينكسر RSA وECC كلياً (خوارزمية Shor). وحّد NIST البدائل ما بعد الكمومية عام 2024: ML-KEM (المعروف سابقاً بـ Kyber) لتبادل المفاتيح، وML-DSA (المعروف سابقاً بـ Dilithium) للتوقيعات. التهجير جارٍ لكنه بطيء.
متى تستخدم أيّهما
دليل قرار عملي:
- تشفير ملف لنفسك (نسخ احتياطية، أرشيف): AES-256-GCM متماثل بكلمة مرور قوية عبر Argon2id. لا حاجة إلى غير متماثل.
- إرسال ملف إلى مستلم معروف: هجين — AES-256-GCM للملف، تغليف بالمفتاح العام لمفتاح الجلسة.
- إرسال إلى مستلمين متعددين: شفّر الملف مرة واحدة بـ AES، ثم غلّف المفتاح بشكل منفصل لكل مستلم. يضيف ما يقارب 300 بايت لكل مستلم.
- إثبات التأليف: توقيع Ed25519 على النص المشفّر.
- مشاركة لمرة واحدة عبر رابط: متماثل بالمفتاح في جزء URL.
تطبيق ذلك عملياً
للنقل الحساس اليوم، البُنية العملية هي: AES-256-GCM للتشفير بالجملة، وX25519 ECDH لتبادل المفاتيح إن كان للمستلمين هويات، وPBKDF2 أو Argon2id للمفاتيح المشتقّة من كلمات المرور، وTLS 1.3 كطبقة نقل. هذه التوليفة هي ما تنشره الخدمات الموثوقة المُدقَّقة.
جرّبها على hexatransfer.com — مجاني، بدون حساب، حتى 10 جيجابايت.
أرسل ملفات كبيرة بأمان مع تشفير من طرف إلى طرف
انقل ملفات حتى 10 جيجابايت مجاناً مع تشفير من طرف إلى طرف. لا حاجة لحساب. يتم تشفير ملفاتك في متصفحك قبل الرفع — لا أحد آخر يستطيع قراءتها.
إرسال ملف