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
classic_mceliece
cmce_types.h
Go to the documentation of this file.
1
/*
2
* Classic McEliece Types
3
* (C) 2023 Jack Lloyd
4
* 2023,2024 Fabian Albert, Amos Treiber - Rohde & Schwarz Cybersecurity
5
*
6
* Botan is released under the Simplified BSD License (see license.txt)
7
**/
8
9
#ifndef BOTAN_CMCE_TYPES_H_
10
#define BOTAN_CMCE_TYPES_H_
11
12
#include <botan/secmem.h>
13
#include <botan/strong_type.h>
14
#include <botan/internal/bitvector.h>
15
16
namespace
Botan
{
17
18
/// Represents a GF(q) element
19
using
CmceGfElem
=
Strong<uint16_t, struct CmceGfElem_>
;
20
21
/// Represents a GF(q) modulus
22
using
CmceGfMod
=
Strong<uint16_t, struct CmceGfMod_>
;
23
24
/// Represents an element of a permuation (pi in spec). Used in field ordering creation.
25
using
CmcePermutationElement
=
Strong<uint16_t, struct CmcePermutationElement_>
;
26
27
/// Represents a permutation (pi in spec). Used in field ordering creation.
28
using
CmcePermutation
=
Strong<secure_vector<uint16_t>
,
struct
CmcePermutation_>;
29
30
/// Represents initial delta of keygen
31
using
CmceInitialSeed
=
Strong<secure_vector<uint8_t>
,
struct
CmceInitialSeed_>;
32
33
/// Represents a delta (can be altered; final value stored in private key)
34
using
CmceKeyGenSeed
=
Strong<secure_vector<uint8_t>
,
struct
CmceKeyGenSeed_>;
35
36
// Represents the sigma_2*q bits of E=PRG(delta) used by the field ordering algorithm (see CMCE ISO 8.3 Step 4)
37
using
CmceOrderingBits
=
Strong<secure_vector<uint8_t>
,
struct
CmceOrderingBits_>;
38
39
// Represents the sigma_1*t bits of E=PRG(delta) used by the irreducible algorithm (see CMCE ISO 8.3 Step 5)
40
using
CmceIrreducibleBits
=
Strong<secure_vector<uint8_t>
,
struct
CmceIrreducibleBits_>;
41
42
/// Represents s of private key
43
using
CmceRejectionSeed
=
Strong<secure_vector<uint8_t>
,
struct
CmceRejectionSeed_>;
44
45
/// Represents c of private key
46
using
CmceColumnSelection
=
Strong<secure_bitvector, struct CmceColumnSelection_>
;
47
48
/// Represents e of encapsulation
49
using
CmceErrorVector
=
Strong<secure_bitvector, struct CmceErrorVector_>
;
50
51
/// Represents C of decapsulation
52
using
CmceCodeWord
=
Strong<secure_bitvector, struct CmceCodeWord_>
;
53
54
}
// namespace Botan
55
#endif
// BOTAN_CMCE_TYPES_H_
Botan::Strong< uint16_t, struct CmceGfElem_ >
Botan
Definition
alg_id.cpp:13
Generated by
1.12.0