Outil de chiffrement SM4

Outil gratuit de chiffrement et déchiffrement SM4 en ligne avec modes ECB/CBC, padding PKCS, formats HEX/Base64, et génération aléatoire de clé ou IV pour les flux Guomi et GM/T.

Paramètres

Paramètres de clé et IV

Chiffrer/Déchiffrer

Connaissances SM4

À propos de SM4

SM4 est le chiffre de bloc national chinois avec une taille de bloc de 128 bits et une clé de 128 bits. Il est largement utilisé dans l'écosystème des normes GM/T, notamment SM TLS/SSL, WAPI for WLAN security, l'e-gouvernement et la finance.

Relation avec AES

  • Points communs :
    • Les deux sont des chiffres de bloc 128 bits ; prennent en charge les modes courants (ECB/CBC) et les remplissages standard (PKCS#5/7).
    • Modèle opérationnel très similaire : nécessite une clé (Key), un IV optionnel, choisit le mode et le remplissage, puis traite le texte en clair par blocs.
  • Différences :
    • Normes et écosystème : AES est une norme internationale (FIPS 197) et adoptée mondialement ; SM4 est une norme nationale chinoise (série GM/T) utilisée pour répondre aux exigences de conformité et de régulation locales.
    • Longueur de clé : AES prend en charge les clés 128/192/256 bits ; SM4 est fixe à 128 bits.
    • Performances et matériel : les CPU/GPU modernes offrent une accélération matérielle plus large pour AES ; l'accélération matérielle SM4 s'améliore et dépend de la plateforme.
    • Conformité : en Chine ou dans des scénarios orientés Chine, SM4 est souvent requis pour la conformité « GuoMi » ; les scénarios transfrontaliers/mondiaux utilisent généralement AES.

ECB vs CBC

Item ECB CBC
Uses IV No Yes (16 bytes)
Error propagation None Yes (per block)
Parallelism High Low (chained)
Security Low (reveals structure) High (recommended)
Typical use Random data, testing Real business data
  • ECB : chiffre chaque bloc de 16 octets indépendamment ; révèle des motifs structurels. Non recommandé pour les données structurées/répétitives.
  • CBC : utilise un IV de 16 octets aléatoire et non réutilisable ; relie les blocs adjacents, masquant efficacement les motifs et améliorant la sécurité pour un usage professionnel.

Remplissage et alignement

  • PKCS#5/PKCS#7 : remplit automatiquement jusqu'à un multiple de 16 octets ; adapté à la plupart des données texte/binaire.
  • NoPadding : aucun remplissage ; le texte en clair/le texte chiffré doit être un multiple de 16 octets ; adapté aux données pré-alignées ou protocoles personnalisés.

Recommandations

  1. Choix du mode : préférez CBC ; évitez ECB pour les données structurées.
  2. Gestion de l'IV : l'IV CBC doit être aléatoire cryptographiquement sûr et unique à chaque chiffrement.
  3. Génération de clé : utilisez des clés sécurisées aléatoires de 128 bits ; évitez les valeurs faibles/prévisibles.
  4. Format de sortie : utilisez HEX ou Base64 pour le texte chiffré ; Base64 est recommandé pour le transport inter-systèmes.
  5. Conformité : dans les systèmes chinois ou conformes GuoMi, utilisez SM4 ; dans les écosystèmes internationaux, AES est généralement prioritaire.