#include <data_epoch.hpp>
Definition at line 102 of file data_epoch.hpp.
◆ EpochKey() [1/3]
openvpn::EpochKey::EpochKey |
( |
| ) |
|
|
default |
◆ EpochKey() [2/3]
openvpn::EpochKey::EpochKey |
( |
decltype(keydata) |
keydata, |
|
|
uint16_t |
epoch |
|
) |
| |
|
inline |
Constructs an epoch key with the given key material and epoch
Definition at line 117 of file data_epoch.hpp.
◆ EpochKey() [3/3]
Constructs an epoch key with the given OpenVPNStaticKey as epoch 1 key.
- Parameters
-
key | is assumed to be already prepared as the correct slice of the Data channel key using key.slice |
Definition at line 155 of file data_epoch.cpp.
◆ data_key()
Derives the data channel keys that are tied to the current epoch.
- Returns
- Key material for the encryption/decryption key and the implicit IV material
Definition at line 118 of file data_epoch.cpp.
◆ iterate()
void openvpn::EpochKey::iterate |
( |
| ) |
|
Iterates the epoch key to make it E_n+1, ie increase the epoch by one and derive the new key material accordingly
Definition at line 104 of file data_epoch.cpp.
◆ key_context()
Generate a context that can be used to encrypt or decrypt using this epoch
Definition at line 139 of file data_epoch.cpp.
◆ epoch
std::uint16_t openvpn::EpochKey::epoch = 0 |
◆ keydata
std::array<uint8_t, SECRET_SIZE> openvpn::EpochKey::keydata {} |
◆ SECRET_SIZE
constexpr int openvpn::EpochKey::SECRET_SIZE = 32 |
|
staticconstexpr |
The documentation for this class was generated from the following files: