Coverage Report

Created: 2025-07-01 06:08

/src/liboqs/src/common/pqclean_shims/aes.h
Line
Count
Source (jump to first uncovered line)
1
// SPDX-License-Identifier: MIT
2
3
#ifndef AES_H
4
#define AES_H
5
6
#include <stdint.h>
7
#include <stdlib.h>
8
9
#include <oqs/aes.h>
10
11
#define AES256_KEYBYTES 32
12
#define AESCTR_NONCEBYTES 12
13
#define AES_BLOCKBYTES 16
14
15
typedef void *aes128ctx;
16
typedef void *aes256ctx;
17
18
#define aes256_ecb_keyexp(r, key) OQS_AES256_ECB_load_schedule((key), (r))
19
#define aes256_ecb(out, in, nblocks, ctx) OQS_AES256_ECB_enc_sch((in), (nblocks) * AES_BLOCKBYTES, *(ctx), (out))
20
#define aes256_ctr_keyexp(r, key) OQS_AES256_CTR_inc_init((key), (r))
21
#define aes256_ctr(out, outlen, iv, ctx) OQS_AES256_CTR_inc_stream_iv((iv), AESCTR_NONCEBYTES, *(ctx), (out), (outlen))
22
#define aes256_ctx_release(ctx) OQS_AES256_free_schedule(*(ctx))
23
24
#define aes256ctr_squeezeblocks(out, outlen, state) OQS_AES256_CTR_inc_stream_blks(*state, out, 4*outlen)
25
#define aes256ctr_squeezeblocks_u64(out, outlen, iv, ctx) OQS_AES256_CTR_inc_stream_ivu64_blks((iv), *(ctx), (out), (4*outlen))
26
#define aes256ctr_init_key(state, key) OQS_AES256_CTR_inc_init(key, state)
27
#define aes256ctr_init_iv(state, nonce) OQS_AES256_CTR_inc_iv(nonce, 12, *state)
28
#define aes256ctr_init_iv_u64(state, nonce) OQS_AES256_CTR_inc_ivu64(nonce, *state)
29
30
0
static inline void aes256ctr_init(void **_schedule, const uint8_t *key, const uint8_t *nonce) {
31
0
  OQS_AES256_CTR_inc_init(key, _schedule);
32
0
  OQS_AES256_CTR_inc_iv(nonce, 12, *_schedule);
33
0
}
Unexecuted instantiation: mayo.c:aes256ctr_init
Unexecuted instantiation: snova_aes.c:aes256ctr_init
34
35
0
static inline void aes256ctr_init_u64(void **_schedule, const uint8_t *key, uint64_t nonce) {
36
0
  OQS_AES256_CTR_inc_init(key, _schedule);
37
0
  OQS_AES256_CTR_inc_ivu64(nonce, *_schedule);
38
0
}
Unexecuted instantiation: mayo.c:aes256ctr_init_u64
Unexecuted instantiation: snova_aes.c:aes256ctr_init_u64
39
40
0
static inline void aes256ctr_prf(uint8_t *out, size_t outlen, const uint8_t key[32], uint8_t nonce[12]) {
41
0
  aes256ctx state;
42
0
  OQS_AES256_CTR_inc_init(key, &state);
43
0
  OQS_AES256_CTR_inc_stream_iv(nonce, 12, state, out, outlen);
44
0
  OQS_AES256_free_schedule(state);
45
0
}
Unexecuted instantiation: mayo.c:aes256ctr_prf
Unexecuted instantiation: snova_aes.c:aes256ctr_prf
46
47
24
static inline void aes128ctr_prf(uint8_t *out, size_t outlen, const uint8_t key[16], uint8_t nonce[12]) {
48
24
  aes128ctx state;
49
24
  OQS_AES128_CTR_inc_init(key, &state);
50
24
  OQS_AES128_CTR_inc_stream_iv(nonce, 12, state, out, outlen);
51
24
  OQS_AES128_free_schedule(state);
52
24
}
mayo.c:aes128ctr_prf
Line
Count
Source
47
24
static inline void aes128ctr_prf(uint8_t *out, size_t outlen, const uint8_t key[16], uint8_t nonce[12]) {
48
24
  aes128ctx state;
49
24
  OQS_AES128_CTR_inc_init(key, &state);
50
24
  OQS_AES128_CTR_inc_stream_iv(nonce, 12, state, out, outlen);
51
24
  OQS_AES128_free_schedule(state);
52
24
}
Unexecuted instantiation: snova_aes.c:aes128ctr_prf
53
54
55
#endif