|
SE050 Driver
API reference
|
Typedefs | |
| using | AesBlockFn = Error(*)(const std::uint8_t in[16], std::uint8_t out[16], void *ctx) |
| AES-ECB encrypt or decrypt of one 16-byte block (KEK size is the oracle's). | |
Functions | |
| std::uint64_t | LoadBe64 (const std::uint8_t *p) noexcept |
| void | StoreBe64 (std::uint8_t *p, std::uint64_t v) noexcept |
| Error | Unwrap (const std::uint8_t *wrapped, std::size_t wrapped_len, std::uint8_t *out, std::size_t out_cap, std::size_t *out_len, AesBlockFn decrypt, void *ctx) noexcept |
RFC 3394 unwrap. wrapped_len must be 8*(n+1) with n >= 2. | |
| Error | Wrap (const std::uint8_t *plain, std::size_t plain_len, std::uint8_t *out, std::size_t out_cap, std::size_t *out_len, AesBlockFn encrypt, void *ctx) noexcept |
RFC 3394 wrap. plain_len must be 8*n with n >= 2. | |
Variables | |
| constexpr std::uint64_t | kIntegrityIv = 0xA6A6A6A6A6A6A6A6ULL |
| constexpr std::size_t | kAes256CekLen = 32U |
| constexpr std::size_t | kAes256WrappedLen = 40U |
| using se050::rfc3394::AesBlockFn = typedef Error (*)(const std::uint8_t in[16], std::uint8_t out[16], void* ctx) |
AES-ECB encrypt or decrypt of one 16-byte block (KEK size is the oracle's).
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
RFC 3394 unwrap. wrapped_len must be 8*(n+1) with n >= 2.
| decrypt | AES-1 of the wrapping key (KEK). |
|
inlinenoexcept |
RFC 3394 wrap. plain_len must be 8*n with n >= 2.
| encrypt | AES of the wrapping key (KEK). |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |