24 #define AES_KEY_BITS 128
25 #define AES_KEY_BYTES 16
28 #define LOG2_AES_BITS ceil_log2(AES_BITS)
34 static const seclvl ST = { 40, 80, 1024, 160, 163 };
35 static const seclvl MT = { 40, 112, 2048, 192, 233 };
36 static const seclvl LT = { 40, 128, 3072, 256, 283 };
37 static const seclvl XLT = { 40, 192, 7680, 384, 409 };
38 static const seclvl XXLT = { 40, 256, 15360, 512, 571 };
143 static string get_role_name(
e_role r) {
156 static string get_sharing_name(
e_sharing s) {
170 static string get_gate_type_name(
e_gatetype g) {
172 case G_LIN:
return "Linear";
175 case G_IN:
return "Input";
176 case G_OUT:
return "Output";
177 case G_INV:
return "Inversion";
179 case G_CONV:
return "Conversion";
181 case G_SPLIT:
return "Splitter";
183 case G_PERM:
return "Permutation";
185 default:
return "NN";
249 #define GARBLED_TABLE_WINDOW 100000000 //1048575 //=0xFFFFF for faster modulo operation
258 const uint8_t
m_vFixedKeyAESSeed[AES_KEY_BYTES] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF };
262 const uint8_t
m_vSeed[AES_KEY_BYTES] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF };
Definition: constants.h:109
Definition: constants.h:82
e_gatetype
Enumeration which defines the type of the gate in the circuit.
Definition: constants.h:67
Definition: constants.h:100
Definition: constants.h:71
const uint8_t g_TruthTable[4]
A truth-table for an AND gate.
Definition: constants.h:254
Definition: constants.h:70
Definition: constants.h:99
Definition: constants.h:98
Definition: constants.h:111
Definition: constants.h:127
Definition: constants.h:126
Definition: constants.h:110
Definition: constants.h:59
const uint8_t m_vSeed[AES_KEY_BYTES]
Static seed for various testing functionalities.
Definition: constants.h:262
Definition: constants.h:94
e_mt_gen_alg
Enumeration which defines the method that is used for arithmetic multiplication triple generation...
Definition: constants.h:55
Definition: constants.h:106
Definition: constants.h:115
Definition: constants.h:130
Definition: constants.h:76
Definition: constants.h:95
Definition: constants.h:129
Definition: constants.h:74
Definition: constants.h:116
Definition: constants.h:75
Definition: constants.h:107
Definition: constants.h:77
Definition: constants.h:83
Definition: constants.h:58
Definition: constants.h:48
Definition: constants.h:80
Definition: constants.h:78
Definition: constants.h:104
Definition: constants.h:96
Definition: constants.h:102
Definition: constants.h:112
Definition: constants.h:57
Definition: constants.h:69
e_role
Defines the role of the party or the source / target for certain operations (e.g., input/output)
Definition: constants.h:139
Definition: constants.h:46
Definition: constants.h:72
Definition: constants.h:113
Definition: constants.h:60
Definition: typedefs.h:79
Definition: constants.h:97
e_circuit
Definition: constants.h:44
Definition: constants.h:103
Definition: constants.h:108
Definition: constants.h:105
Definition: constants.h:114
Definition: constants.h:93
Definition: constants.h:79
e_sharing
Enumeration which defines the different sharing which are there in the framework. ...
Definition: constants.h:124
Definition: constants.h:101
Definition: constants.h:73
Definition: constants.h:117
Definition: constants.h:128
const uint8_t m_vFixedKeyAESSeed[AES_KEY_BYTES]
The seed from which the key is generated.
Definition: constants.h:258
Definition: constants.h:47
Definition: constants.h:81
e_operation
Enumeration which defines all the operations which are there in the framework.
Definition: constants.h:91