ShangMi 3 (SM3) is a cryptographic hash function, standardised for use in commercial cryptography in China. It was published by the State Cryptography Administration (Chinese: 国家密码管理局) 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(3): 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 (2019). .

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

See also