2023-12-14 09:42:54 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
#pragma pack(push, 1)
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief A private key for asymmetric cryptography
|
|
|
|
*/
|
2024-02-09 20:50:17 +01:00
|
|
|
struct PrivateKey {
|
2023-12-14 09:42:54 +01:00
|
|
|
|
|
|
|
/// @brief The size of a private key
|
|
|
|
static const int size = 32;
|
|
|
|
|
|
|
|
uint8_t bytes[size];
|
|
|
|
|
2024-02-09 20:50:17 +01:00
|
|
|
};
|
2023-12-14 09:42:54 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief A public key for asymmetric cryptography
|
|
|
|
*/
|
2024-02-09 20:50:17 +01:00
|
|
|
struct PublicKey {
|
2023-12-14 09:42:54 +01:00
|
|
|
|
|
|
|
/// @brief The size of a public key
|
|
|
|
static const int size = 32;
|
|
|
|
|
|
|
|
uint8_t bytes[size];
|
|
|
|
|
2024-02-09 20:50:17 +01:00
|
|
|
};
|
2023-12-14 09:42:54 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief A signature of some data using a private key
|
|
|
|
*/
|
2024-02-09 20:50:17 +01:00
|
|
|
struct Signature {
|
2023-12-14 09:42:54 +01:00
|
|
|
|
|
|
|
/// @brief The size of a message signature
|
|
|
|
static const int size = 64;
|
|
|
|
|
|
|
|
uint8_t bytes[size];
|
|
|
|
|
2024-02-09 20:50:17 +01:00
|
|
|
};
|
2023-12-14 09:42:54 +01:00
|
|
|
|
|
|
|
#pragma pack(pop)
|