عن SM4
SM4 هو تشفير الكتلة الوطني الصيني بحجم كتلة 128 بت ومفتاح 128 بت. يُستخدم على نطاق واسع عبر النظام البيئي لمعايير GM/T، بما في ذلك SM TLS/SSL، WAPI لأمن الشبكات اللاسلكية، والحكومة الإلكترونية والتمويل.
العلاقة مع AES
- أوجه التشابه:
- كلاهما تشفير كتلة 128 بت؛ يدعمان الأوضاع الشائعة (ECB/CBC) والحشو القياسي (PKCS#5/7).
- نموذج تشغيل متشابه جدًا: يتطلب مفتاحًا (Key)، وIV اختياريًا، ويختار الوضع والحشو، ثم يعالج النص الصريح في كتل.
- الاختلافات:
- المعايير والنظام البيئي: AES معيار دولي (FIPS 197) معتمد عالميًا؛ SM4 معيار وطني صيني (سلسلة GM/T) يُستخدم لتلبية متطلبات الامتثال والتنظيم المحلية.
- طول المفتاح: يدعم AES مفاتيح 128/192/256 بت؛ SM4 ثابت عند 128 بت.
- الأداء والأجهزة: معالجات/بطاقات رسومية حديثة لديها تسريع أجهزة أوسع لـ AES؛ تسريع أجهزة SM4 يتحسن ويعتمد على المنصة.
- الامتثال: في الصين أو السيناريوهات الموجهة للصين، غالبًا ما يكون SM4 مطلوبًا لامتثال "GuoMi"؛ السيناريوهات العابرة للحدود/العالمية تستخدم AES عادة.
ECB مقابل CBC
| البند |
ECB |
CBC |
| يستخدم IV |
لا |
نعم (16 بايت) |
| انتشار الخطأ |
لا شيء |
نعم (لكل كتلة) |
| التوازي |
مرتفع |
منخفض (متسلسل) |
| الأمان |
منخفض (يكشف البنية) |
مرتفع (موصى به) |
| الاستخدام النموذجي |
بيانات عشوائية، اختبار |
بيانات أعمال حقيقية |
- ECB: يشفر كل كتلة 16 بايت بشكل مستقل؛ يكشف الأنماط البنيوية. غير موصى به للبيانات المهيكلة/المتكررة.
- CBC: يستخدم IV عشوائيًا وغير قابل لإعادة الاستخدام بحجم 16 بايت؛ يربط الكتل المتجاورة، مما يخفي الأنماط بفعالية ويحسن الأمان للاستخدام التجاري.
الحشو والمحاذاة
- PKCS#5/PKCS#7: يحشو تلقائيًا إلى مضاعف 16 بايت؛ مناسب لمعظم بيانات النص/الثنائية.
- NoPadding: بلا حشو؛ يجب أن يكون النص الصريح/المشفر مضاعفًا لـ 16 بايت؛ مناسب للبيانات المحاذاة مسبقًا أو البروتوكولات المخصصة.
التوصيات
- اختيار الوضع: فضّل CBC؛ وتجنب ECB للبيانات المهيكلة.
- إدارة IV: يجب أن يكون IV لـ CBC عشوائيًا آمنًا تشفيريًا وفريدًا لكل عملية تشفير.
- توليد المفاتيح: استخدم مفاتيح 128 بت عشوائية آمنة؛ وتجنب القيم الضعيفة/القابلة للتنبؤ.
- صيغة المخرجات: استخدم HEX أو Base64 للنص المشفر؛ Base64 موصى به للنقل بين الأنظمة.
- الامتثال: في الصين أو أنظمة متوافقة مع GuoMi، استخدم SM4؛ في الأنظمة البيئية الدولية، AES هو الأساس عادة.