BitPunch McEliece  v0.0.4
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
config.h
Go to the documentation of this file.
1 /*
2 This file is part of BitPunch
3 Copyright (C) 2015 Frantisek Uhrecky <frantisek.uhrecky[what here]gmail.com>
4 
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9 
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 #ifndef CONFIG_H
19 #define CONFIG_H
20 
21 // constraints
22 #ifdef BPU_CONF_FULL
23  #ifndef BPU_CONF_ASN1
24  #define BPU_CONF_ASN1
25  #endif
26  #ifndef BPU_CONF_MECS_CCA2_POINTCHEVAL_GOPPA
27  #define BPU_CONF_MECS_CCA2_POINTCHEVAL_GOPPA
28  #endif
29  #ifndef BPU_CONF_MECS_CCA2_POINTCHEVAL_QCMDPC
30  #define BPU_CONF_MECS_CCA2_POINTCHEVAL_QCMDPC
31  #endif
32  #ifndef BPU_CONF_SHA_512
33  #define BPU_CONF_SHA_512
34  #endif
35  #ifndef BPU_CONF_FULL_MECS
36  #define BPU_CONF_FULL_MECS
37  #endif
38  #if !defined(BPU_CONF_NO_PRINT) && !defined(BPU_CONF_PRINT)
39  #define BPU_CONF_PRINT
40  #endif
41 #endif
42 
43 #ifdef BPU_CONF_FULL_MECS
44  #ifndef BPU_CONF_ENCRYPTION
45  #define BPU_CONF_ENCRYPTION
46  #endif
47  #ifndef BPU_CONF_DECRYPTION
48  #define BPU_CONF_DECRYPTION
49  #endif
50  #ifndef BPU_CONF_KEY_GEN
51  #define BPU_CONF_KEY_GEN
52  #endif
53 #endif
54 
55 #if defined(BPU_CONF_MECS_CCA2_POINTCHEVAL_GOPPA) || defined(BPU_CONF_MECS_CCA2_POINTCHEVAL_QCMDPC)
56  #ifndef BPU_CONF_SHA_512
57  #define BPU_CONF_SHA_512
58  #endif
59 #endif
60 
61 #endif // CONFIG_H
62