-
Notifications
You must be signed in to change notification settings - Fork 23
Supported Algorithms
Karel Donk edited this page Aug 4, 2018
·
12 revisions
The following algorithms are supported by QuantumGate. Please note that supported algorithms are not yet final and can change before the first major release.
Hashing algorithms can be specified using the QuantumGate::Algorithm::Hash
enum
definition.
enum class Hash : UInt16
{
Unknown = 0,
SHA256 = 100,
SHA512 = 200,
BLAKE2S256 = 300,
BLAKE2B512 = 400
};
Name | Description |
---|---|
Unknown |
Unspecified or unknown. |
SHA256 |
The 256-bit version of the SHA-2 algorithm. |
SHA512 |
The 512-bit version of the SHA-2 algorithm. |
BLAKE2S256 |
The 256-bit version of the BLAKE2 algorithm. |
BLAKE2B512 |
The 512-bit version of the BLAKE2b algorithm. |
Asymmetric algorithms can be specified using the QuantumGate::Algorithm::Asymmetric
enum
definition.
enum class Asymmetric : UInt16
{
Unknown = 0,
ECDH_SECP521R1 = 100,
ECDH_X25519 = 200,
ECDH_X448 = 300,
KEM_NTRUPRIME = 1000,
KEM_NEWHOPE = 1100,
KEM_MCELIECE = 1200,
EDDSA_ED25519 = 2000,
EDDSA_ED448 = 2100
};
Name | Description |
---|---|
Unknown |
Unspecified or unknown. |
ECDH_SECP521R1 |
Elliptic Curve Diffie Hellman key exchange based on the secp521r1 curve. |
ECDH_X25519 |
Elliptic Curve Diffie Hellman key exchange based on Curve25519. |
ECDH_X448 |
Elliptic Curve Diffie Hellman key exchange based on Curve448. |
KEM_NTRUPRIME |
Key Encapsulation Mechanism key exchange based on the NTRU Prime post-quantum algorithm. |
KEM_NEWHOPE |
Key Encapsulation Mechanism key exchange based on the New Hope post-quantum algorithm. |
KEM_CLASSIC_MCELIECE |
Key Encapsulation Mechanism key exchange based on the Classic McEliece post-quantum algorithm. |
EDDSA_ED25519 |
Edwards-curve Digital Signature Algorithm based on Curve25519. |
EDDSA_ED448 |
Edwards-curve Digital Signature Algorithm based on Curve448. |
Symmetric algorithms can be specified using the QuantumGate::Algorithm::Symmetric
enum
definition.
enum class Symmetric : UInt16
{
Unknown = 0,
AES256_GCM = 100,
CHACHA20_POLY1305 = 200
};
Name | Description |
---|---|
Unknown |
Unspecified or unknown. |
AES256_GCM |
AES stream cipher in 256 bit combined with GCM message authentication code. |
CHACHA20_POLY1305 |
ChaCha20 stream cipher combined with Poly1305 message authentication code. |
Compression algorithms can be specified using the QuantumGate::Algorithm::Compression
enum
definition.
enum class Compression : UInt16
{
Unknown = 0,
DEFLATE = 100,
ZSTANDARD = 200
};
Name | Description |
---|---|
Unknown |
Unspecified or unknown. |
DEFLATE |
Compression based on the Deflate algorithm. |
ZSTANDARD |
Compression based on the zstandard algorithm. |