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 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 |
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] |