Botan
3.7.1
Crypto and TLS for C&
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Variables
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerations
a
c
d
e
f
g
h
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
c
d
f
i
m
n
r
s
t
Concepts
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
f
h
i
m
n
o
p
r
s
t
u
v
w
Enumerations
b
c
d
e
k
m
n
o
p
s
t
x
Enumerator
_
a
b
c
d
e
f
h
k
l
m
n
p
q
r
s
t
u
w
x
Related Symbols
b
c
d
e
f
k
o
p
s
t
x
Files
File List
File Members
All
_
a
b
c
d
e
f
i
k
m
n
o
p
q
s
t
u
w
x
y
z
Functions
b
c
Variables
Typedefs
b
c
e
p
t
Enumerations
Enumerator
b
c
d
e
k
n
Macros
_
a
b
c
f
m
n
q
s
t
w
src
lib
pubkey
frodokem
frodokem_common
frodo_types.h
Go to the documentation of this file.
1
/*
2
* FrodoKEM modes and constants
3
*
4
* The Fellowship of the FrodoKEM:
5
* (C) 2023 Jack Lloyd
6
* 2023 René Meusel, Amos Treiber - Rohde & Schwarz Cybersecurity
7
*
8
* Botan is released under the Simplified BSD License (see license.txt)
9
*/
10
11
#ifndef BOTAN_FRODOKEM_TYPES_H_
12
#define BOTAN_FRODOKEM_TYPES_H_
13
14
#include <botan/secmem.h>
15
#include <botan/strong_type.h>
16
17
#include <array>
18
#include <vector>
19
20
namespace
Botan
{
21
22
// Bytes of seed_a
23
using
FrodoSeedA
=
Strong<std::vector<uint8_t>
,
struct
FrodoSeedA_>;
24
25
// Bytes of s
26
using
FrodoSeedS
=
Strong<secure_vector<uint8_t>
,
struct
FrodoSeedS_>;
27
28
// Bytes of seed_se
29
using
FrodoSeedSE
=
Strong<secure_vector<uint8_t>
,
struct
FrodoSeedSE_>;
30
31
// Bytes of z
32
using
FrodoSeedZ
=
Strong<std::vector<uint8_t>
,
struct
FrodoSeedZ_>;
33
34
// Bytes of an r^(i)
35
using
FrodoSampleR
=
Strong<secure_vector<uint8_t>
,
struct
FrodoSampleR_>;
36
37
// Bytes of pkh
38
using
FrodoPublicKeyHash
=
Strong<std::vector<uint8_t>
,
struct
FrodoPublicKeyHash_>;
39
40
// Bytes of a packed Matrix
41
using
FrodoPackedMatrix
=
Strong<std::vector<uint8_t>
,
struct
FrodoPackedMatrix_>;
42
43
// Bytes of a serialized Matrix
44
using
FrodoSerializedMatrix
=
Strong<secure_vector<uint8_t>
,
struct
FrodoSerializedMatrix_>;
45
46
// Constant byte 0x5F/0x96 given to SHAKE for domain separation
47
using
FrodoDomainSeparator
=
Strong<std::array<uint8_t, 1>
,
struct
FrodoDoaminSeparator_>;
48
49
// Bytes of u/u'
50
using
FrodoPlaintext
=
Strong<secure_vector<uint8_t>
,
struct
FrodoPlaintext_>;
51
52
// Bytes of salt
53
using
FrodoSalt
=
Strong<std::vector<uint8_t>
,
struct
FrodoSalt_>;
54
55
// Bytes of k/k' aka intermediate shared secret in FO transform
56
using
FrodoIntermediateSharedSecret
=
Strong<secure_vector<uint8_t>
,
struct
FrodoIntermediateSharedSecret_>;
57
58
}
// namespace Botan
59
60
#endif
Botan::Strong< std::vector< uint8_t >, struct FrodoSeedA_ >
Botan
Definition
alg_id.cpp:13
Generated by
1.12.0