Botan
3.10.0
Crypto and TLS for C&
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 permutation (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