Criteria for Inclusion in MySuiteA

To prevent scope creep, the following criteria is established for determining whether an algorithm is to be implemented in MySuiteA. An algorithm must meet all conditions of at least 1 criteria for inclusion, otherwise, the algorithm will not be implemented.

Algorithms

Algorithms are listed first in the order of functionality (block cipher, permutation, then hash function, message authentication code, encryption, PRNG, and then public-key encryption / key exchange, and digital signature), then in the order of inclusion criteria.

References are listed similarly, with informative references (if any) following normative references (if any).

Name (/ Academic Name) Function Construction
AES / Rijndael Block Cipher Substitution-Permutation Network
SM4 Block Cipher Feistel Network
Camellia Block Cipher Feistel Network
SEED Block Cipher Feistel Network
ARIA Block Cipher Substitution-Permutation Network
Gimli Permutation Binary Polynomial
SHA-1, SHA-256, etc. Hash Function Merkle-Damgaard
SHA3 / Keccak Hash Function Sponge Mode of Operation of Permutation
SM3 Hash Function Merkle-Damgaard
BLAKE2 Hash Function HAIFA
BLAKE3 Hash Function Tree Hashing
SHAKE / cSHAKE Extendable-Output Functions (XOF) Sponge Mode of Operation of Permutation
CMAC MAC Mode of Operation of Block Cipher
HMAC MAC Specialized Construction
KMAC MAC Sponge Mode of Operation of Permutation
GCM - Galois Counter Mode AEAD Composition of Mode of Operation of Block Cipher with Universal MAC Based on Binary Polynomial
ChaCha20-Poly1305 AEAD Composition of Stream Cipher Based on ARX with Universal MAC Based on Integer Arithmetic
HMAC-DRBG Pseudo-Random Number Generator Mode of Operation of PRF
CTR-DRBG Pseudo-Random Number Generator Mode of Operation of Block Cipher
RSA (RSAES-OAEP, RSASSA-PSS, PKCS#1 v1.5 RSA Encryptions) Public-Key Cryptography (Public-Key Encryption / Key Encapsulation Mechanism, Digital Signature Scheme) Trapdoor Permutation with Padding
ECDH(-KEM), ECDSA Public-Key Cryptography (Public-Key Encryption / Key Encapsulation Mechanism, Digital Signature Scheme) Construction based on Elliptic-Curve Discrete Logarithm
SM2 Public-Key Cryptography (With only digital signature implemented in the suite) Construction based on Elliptic-Curve Discrete Logarithm
Curve25519, Curve448, X25519, X448 Key Exchange (Implemented as Key Encapsulation Mechanism) Construction based on Elliptic-Curve Discrete Logarithm
EdDSA, Ed25519, Ed448 Digital Signature Schemes Construction based on Elliptic-Curve Discrete Logarithm

References

Algorithm Normativeness Title Authors Date URL
AES / Rijndael Normative [FIPS-197] Announcing the Advanced Encryption Standard (AES) 2001-11-26 [1],
AES / Rijndael Informative AES Proposal: Rijndael Joan Daemen, Vincent Rijmen [1],
SM4 Normative [GB/T 32907-2016] Information security technology -- SM4 block cipher algorithm 2016-08 [1]
SM4 Informative The SM4 Blockcipher Algorithm And Its Modes Of Operations draft-ribose-cfrg-sm4-10 2018-04 [1],
Camellia Normative [RFC-3713] Specification of Camellia - a 128-bit Block Cipher Kazumaro Aoki, Tetsuya Ichikawa, Masayuki Kanda, Mitsuru Matsui, Shiho Moriai, Junko Nakajima, Toshio Tokita 2001-09-26 [1],
Camellia Informative A Description of the Camellia Encryption Algorithm M. Matsui, J. Nakajima, S. Moriai 2004-04 [1],
SEED Normative [TTAS.KO-12.004/R1] 128-bit Block Cipher SEED 2005-12-21 [1],
SEED Informative [RFC-4269] The SEED Encryption Algorithm H.J. Lee, S.J. Lee, J.H. Yoon, D.H. Cheon, J.I. Lee 2005-12 [1],
ARIA Normative [KS X 1213:2004] 128-bit block encryption algorithm ARIA Korean Agency for Technology and Standards (KATS) 2004-12
ARIA Informative [RFC-5794] A Description of the ARIA Encryption Algorithm J.K. Lee, J.Y. Lee, J.H. Kim, D.S. Kwon, C.S. Kim 2005-12 [1],
Gimli Informative Gimli: a cross-platform permutation Daniel J. Bernstein, Stefan Kolbl, Stefan Lucks, Pedro Maat Costa Massolino, Florian Mendel, Kashif Nawaz, Tobias Schneider, Peter Schwabe, Francois-Xavier Standaert, Yosuke Todo, Benoit Viguier 2017-06-27 [1],
SHA-1, SHA-256, etc. Normative [FIPS-180-4] Secure Hash Standard (SHS) 2015-08 [1],
SHA3 / SHAKE / Keccak Normative [FIPS-202] SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions 2015-08 [1],
SHA3 / etc. / Keccak Informative The Keccak Reference Guido Bertoni, Joan Daemen, Michael Peeters, Gilles Van Assche 2011-01-14 [1],
SM3 Normative [GB/T 32905-2016] Information security techniques—SM3 cryptographic hash algorithm 2016-08 [1]
SM3 Informative The SM3 Cryptographic Hash Function draft-sca-cfrg-sm3 2018-07 [1],
BLAKE2 Normative [RFC-7693] The BLAKE2 Cryptographic Hash and Message Authentication Code (MAC) M-J. Saarinen, J-P.Aumasson 2015-11 [1],
BLAKE2 Informative BLAKE2: simpler, smaller, fast as MD5 Jean-Phillppe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn, Christian Winnerlein 2013-01-29 [1],
BLAKE3 Normative BLAKE3 - one function, fast everywhere Jack O'Connor Jean-Phillppe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn 2020-01 [1],
CMAC Normative [NIST-SP-800-38B] Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication 2005-05 [1]
HMAC Normative [RFC-2104] HMAC: Keyed-Hashing for Message Authentication Hugo Krawczyk, Mihir Bellare, Ran Canetti 1997-02 [1]
HMAC Normative [FIPS-198 / FIPS-198-1] The Keyed-Hash Message Authentication Code (HMAC) 2002-03 / 2008-07 [1]
HMAC Informative Keying Hash Functions for Message Authentication Hugo Krawczyk, Mihir Bellare, Ran Canetti 1996-06 [1]
KMAC Normative [NIST-SP-800-185] SHA-3 Derived Functions: cSHAKE, KMAC, TupleHash and ParallelHash 2016-12 [1]
CCM - CTR with CBC-MAC Normative [NIST-SP-800-38C] Recommendation for Block Cipher Modes of Operation: The CCM Mode for authentication and Confidentiality 2004-05 [1],
GCM - Galois Counter Mode Normative [NIST-SP-800-38D] Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC 2007-11 [1],
GCM - Galois Counter Mode Informative The Galois/Counter Mode of Operation (GCM) David A. McGrew, John Viega [dead], [archive],
ChaCha20-Poly1305 Normative [RFC-8439] ChaCha20 and Poly1305 for IETF Protocols Y. Nir, A.Langley 2015-05 [1],
ChaCha20-Poly1305 Informative ChaCha, a variant of Salsa20 Daniel J. Bernstein 2008-01 [1],
ChaCha20-Poly1305 Informative The Poly1305-AES message-authentication code Daniel J. Bernstein 2005-03 [1],
HMAC-DRBG, CTR-DRBG Normative [NIST-SP-800-90Ar1] Recommendation for Random Number Generation Using Deterministic Random Bit Generators 2015-06 [1]
RSA Normative [RFC-8017] PKCS #1: RSA Cryptography Specifications Version 2.2 K. Moriarty, B. Kaliski, J. Jonsson, A.Rusch 2016-11 [1],
RSA Informative A Method for Obtaining Digital Signatures and Public-Key Cryptosystems Ronald Rivest, Adi Shamir, Leonard Adleman 1978-02 [1], [2],
ECDH(-KEM), ECDSA Normative Standards for Efficient Cryptography SEC #1: Elliptic Curve Cryptography 2009-05-21 [1]
ECDH(-KEM), ECDSA Normative Standards for Efficient Cryptography SEC #2: Recommended Elliptic Curve Domain Parameters 2010-01-27 [1]
ECDH(-KEM), ECDSA Informative [RFC-6090] Fundamental Elliptic Curve Cryptography Algorithms D. McGrew, K. Igoe, M. Salter 2011-02 [1]
SM2 Normative [GB/T 32918.*] Link is the Search Result of a 5-Part Standard 2016~2017 [1]
Curve25519, Curve448, X25519, X448 Normative [RFC-7748] Elliptic Curves for Security A. Langley, K. Hamburg, S. Turner 2016-01 [1]
EdDSA, Ed25519, Ed448 Normative [RFC-8032] Edwards-Curve Digital signature Algorithm (EdDSA) S. Josefsson, I. Liusvaara 2017-01 [1]
Curve25519 Informative Curve25519: new Diffie-Hellman speed records Daniel J. Bernstein 2006 [1] [2]
EdDSA, Ed25519 Informative High-speed high-security signatures Daniel J. Bernstein 2011-09 [1]
Curve448, Ed448 Informative Ed448-Goldilocks, a New Elliptic Curve M. Hamburg 2015-06 [1]