|
Network System 0.1.1
High-performance modular networking library for scalable client-server applications
|
QUIC encryption keys for a single encryption level (RFC 9001 Section 5) More...
#include <keys.h>

Public Member Functions | |
| auto | is_valid () const noexcept -> bool |
| Check if keys are initialized (non-zero) | |
| void | clear () noexcept |
| Clear all key material securely. | |
| auto | operator== (const quic_keys &other) const noexcept -> bool |
| Equality comparison. | |
| auto | operator!= (const quic_keys &other) const noexcept -> bool |
| Inequality comparison. | |
Public Attributes | |
| std::array< uint8_t, secret_size > | secret {} |
| Traffic secret (used for key updates) | |
| std::array< uint8_t, aes_128_key_size > | key {} |
| AEAD encryption key (AES-128-GCM by default) | |
| std::array< uint8_t, aead_iv_size > | iv {} |
| AEAD initialization vector. | |
| std::array< uint8_t, hp_key_size > | hp_key {} |
| Header protection key. | |
QUIC encryption keys for a single encryption level (RFC 9001 Section 5)
Contains all the cryptographic material needed for packet protection:
|
noexcept |
Clear all key material securely.
Definition at line 36 of file keys.cpp.
References hp_key, iv, key, and secret.
Referenced by kcenon::network::protocols::quic::key_pair::clear().

|
nodiscardnoexcept |
Check if keys are initialized (non-zero)
Definition at line 30 of file keys.cpp.
References key.
Referenced by kcenon::network::protocols::quic::key_pair::is_valid().

|
nodiscardnoexcept |
|
nodiscardnoexcept |
| std::array<uint8_t, hp_key_size> kcenon::network::protocols::quic::quic_keys::hp_key {} |
Header protection key.
Definition at line 103 of file keys.h.
Referenced by clear(), and kcenon::network::protocols::quic::initial_keys::derive_keys().
| std::array<uint8_t, aead_iv_size> kcenon::network::protocols::quic::quic_keys::iv {} |
AEAD initialization vector.
Definition at line 100 of file keys.h.
Referenced by clear(), and kcenon::network::protocols::quic::initial_keys::derive_keys().
| std::array<uint8_t, aes_128_key_size> kcenon::network::protocols::quic::quic_keys::key {} |
AEAD encryption key (AES-128-GCM by default)
Definition at line 97 of file keys.h.
Referenced by clear(), kcenon::network::protocols::quic::initial_keys::derive_keys(), and is_valid().
| std::array<uint8_t, secret_size> kcenon::network::protocols::quic::quic_keys::secret {} |