SM3 (hash function)


ShangMi 3 is a cryptographic hash function, standardised for use in commercial cryptography in China. It was published by the State Cryptography Administration on 2010-12-17 as "GM/T 0004-2012: SM3 cryptographic hash algorithm".
SM3 is used for implementing digital signatures, message authentication codes, and pseudorandom number generators. The algorithm is public and is considered similar to SHA-256 in security and efficiency. SM3 can be used with Transport Layer Security although it is not enabled by default.

Attacks

Cryptanalysis

Shen Y Z, Bai D X, Yu H B. Improved cryptanalysis of step-reduced SM3. Sci China Inf Sci, 2018,
61: 038105, doi: 10.1007/s11432-017-9119-6

Side channel

Christophe Clavier and Leo Reynaud and Antoine Wurcker. Yet Another Side Channel Cryptanalysis on SM3 Hash Algorithm. https://eprint.iacr.org/2019/346.

Definitive standards

SM3 is defined in each of:
  • GM/T 0004-2012: SM3 cryptographic hash algorithm
  • GB/T 32905-2016: Information security techniques—SM3 cryptographic hash algorithm
  • ISO/IEC 10118-3:2018—IT Security techniques—Hash-functions—Part 3: Dedicated hash-functions
  • IETF RFC draft-sca-cfrg-sm3-02