liboqs
Loading...
Searching...
No Matches
aes_ops.h
Go to the documentation of this file.
1
8#ifndef OQS_AES_OPS_H
9#define OQS_AES_OPS_H
10
11#include <stdint.h>
12#include <stdlib.h>
13
14#include <oqs/common.h>
15
16#if defined(__cplusplus)
17extern "C" {
18#endif
19
26 void (*AES128_ECB_load_schedule)(const uint8_t *key, void **ctx);
27
31 void (*AES128_CTR_inc_init)(const uint8_t *key, void **ctx);
32
36 void (*AES128_CTR_inc_iv)(const uint8_t *iv, size_t iv_len, void *ctx);
37
41 void (*AES128_CTR_inc_ivu64)(uint64_t iv, void *ctx);
42
46 void (*AES128_free_schedule)(void *ctx);
47
51 void (*AES128_ECB_enc)(const uint8_t *plaintext, const size_t plaintext_len, const uint8_t *key, uint8_t *ciphertext);
52
56 void (*AES128_ECB_enc_sch)(const uint8_t *plaintext, const size_t plaintext_len, const void *schedule, uint8_t *ciphertext);
57
61 void (*AES128_CTR_inc_stream_iv)(const uint8_t *iv, size_t iv_len, const void *ctx, uint8_t *out, size_t out_len);
62
66 void (*AES256_ECB_load_schedule)(const uint8_t *key, void **ctx);
67
71 void (*AES256_CTR_inc_init)(const uint8_t *key, void **ctx);
72
76 void (*AES256_CTR_inc_iv)(const uint8_t *iv, size_t iv_len, void *ctx);
77
81 void (*AES256_CTR_inc_ivu64)(uint64_t iv, void *ctx);
82
86 void (*AES256_free_schedule)(void *ctx);
87
91 void (*AES256_ECB_enc)(const uint8_t *plaintext, const size_t plaintext_len, const uint8_t *key, uint8_t *ciphertext);
92
96 void (*AES256_ECB_enc_sch)(const uint8_t *plaintext, const size_t plaintext_len, const void *schedule, uint8_t *ciphertext);
97
101 void (*AES256_CTR_inc_stream_iv)(const uint8_t *iv, size_t iv_len, const void *ctx, uint8_t *out, size_t out_len);
102
106 void (*AES256_CTR_inc_stream_blks)(void *ctx, uint8_t *out, size_t out_blks);
107};
108
119
120#if defined(__cplusplus)
121} // extern "C"
122#endif
123
124#endif // OQS_AES_OPS_H
OQS_API void OQS_AES_set_callbacks(struct OQS_AES_callbacks *new_callbacks)
#define OQS_API
Definition common.h:92
Definition aes_ops.h:22
void(* AES256_CTR_inc_stream_blks)(void *ctx, uint8_t *out, size_t out_blks)
Definition aes_ops.h:106
void(* AES256_free_schedule)(void *ctx)
Definition aes_ops.h:86
void(* AES128_free_schedule)(void *ctx)
Definition aes_ops.h:46
void(* AES256_CTR_inc_stream_iv)(const uint8_t *iv, size_t iv_len, const void *ctx, uint8_t *out, size_t out_len)
Definition aes_ops.h:101
void(* AES256_ECB_load_schedule)(const uint8_t *key, void **ctx)
Definition aes_ops.h:66
void(* AES256_CTR_inc_init)(const uint8_t *key, void **ctx)
Definition aes_ops.h:71
void(* AES256_ECB_enc)(const uint8_t *plaintext, const size_t plaintext_len, const uint8_t *key, uint8_t *ciphertext)
Definition aes_ops.h:91
void(* AES128_CTR_inc_stream_iv)(const uint8_t *iv, size_t iv_len, const void *ctx, uint8_t *out, size_t out_len)
Definition aes_ops.h:61
void(* AES128_CTR_inc_ivu64)(uint64_t iv, void *ctx)
Definition aes_ops.h:41
void(* AES256_CTR_inc_ivu64)(uint64_t iv, void *ctx)
Definition aes_ops.h:81
void(* AES128_ECB_enc_sch)(const uint8_t *plaintext, const size_t plaintext_len, const void *schedule, uint8_t *ciphertext)
Definition aes_ops.h:56
void(* AES128_CTR_inc_iv)(const uint8_t *iv, size_t iv_len, void *ctx)
Definition aes_ops.h:36
void(* AES128_CTR_inc_init)(const uint8_t *key, void **ctx)
Definition aes_ops.h:31
void(* AES256_ECB_enc_sch)(const uint8_t *plaintext, const size_t plaintext_len, const void *schedule, uint8_t *ciphertext)
Definition aes_ops.h:96
void(* AES128_ECB_enc)(const uint8_t *plaintext, const size_t plaintext_len, const uint8_t *key, uint8_t *ciphertext)
Definition aes_ops.h:51
void(* AES128_ECB_load_schedule)(const uint8_t *key, void **ctx)
Definition aes_ops.h:26
void(* AES256_CTR_inc_iv)(const uint8_t *iv, size_t iv_len, void *ctx)
Definition aes_ops.h:76