File containing all constants used throughout the source.
More...
Go to the source code of this file.
|
#define | AES_KEY_BITS 128 |
|
#define | AES_KEY_BYTES 16 |
|
#define | AES_BITS 128 |
|
#define | AES_BYTES 16 |
|
#define | LOG2_AES_BITS ceil_log2(AES_BITS) |
|
#define | GARBLED_TABLE_WINDOW 100000000 |
| Window size of Yao's garbled circuits in pipelined execution.
|
|
|
enum | field_type { P_FIELD,
ECC_FIELD
} |
|
enum | e_circuit { C_BOOLEAN = 0,
C_ARITHMETIC = 1,
C_LAST = 2
} |
|
enum | e_mt_gen_alg { MT_OT = 0,
MT_PAILLIER = 1,
MT_DGK = 2,
MT_LAST = 3
} |
| Enumeration which defines the method that is used for arithmetic multiplication triple generation. More...
|
|
enum | e_gatetype {
G_LIN = 0x00,
G_NON_LIN = 0x01,
G_NON_LIN_VEC = 0x02,
G_IN = 0x03,
G_OUT = 0x04,
G_INV = 0x05,
G_CONSTANT = 0x06,
G_CONV = 0x07,
G_CALLBACK = 0x08,
G_COMBINE = 0x80,
G_SPLIT = 0x81,
G_REPEAT = 0x82,
G_PERM = 0x83,
G_COMBINEPOS = 0x84,
G_SUBSET = 0x85
} |
| Enumeration which defines the type of the gate in the circuit. More...
|
|
enum | e_operation {
OP_XOR = 0,
OP_AND = 1,
OP_ADD = 2,
OP_MUL = 3,
OP_CMP = 4,
OP_EQ = 5,
OP_MUX = 6,
OP_SUB = 7,
OP_AND_VEC = 8,
OP_MUL_VEC = 9,
OP_IN,
OP_OUT,
OP_INV,
OP_CONSTANT,
OP_CONV,
OP_A2Y,
OP_B2A,
OP_B2Y,
OP_Y2B,
OP_IO,
OP_COMBINE = 0x80,
OP_SPLIT = 0x81,
OP_REPEAT = 0x82,
OP_PERM = 0x83,
OP_COMBINEPOS = 0x84
} |
| Enumeration which defines all the operations which are there in the framework. More...
|
|
enum | e_sharing {
S_BOOL = 0,
S_YAO = 1,
S_ARITH = 2,
S_LAST = 3,
S_YAO_PIPE = 4
} |
| Enumeration which defines the different sharing which are there in the framework. More...
|
|
enum | e_role { SERVER,
CLIENT,
ALL
} |
| Defines the role of the party or the source / target for certain operations (e.g., input/output)
|
|
|
const uint8_t | g_TruthTable [4] = { 0, 0, 0, 1 } |
| A truth-table for an AND gate.
|
|
const uint8_t | m_vFixedKeyAESSeed [AES_KEY_BYTES] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF } |
| The seed from which the key is generated.
|
|
const uint8_t | m_vSeed [AES_KEY_BYTES] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF } |
| Static seed for various testing functionalities.
|
|
File containing all constants used throughout the source.
- Author
- micha.nosp@m.el.z.nosp@m.ohner.nosp@m.@ec-.nosp@m.sprid.nosp@m.e.de
- Copyright
- ABY - A Framework for Efficient Mixed-protocol Secure Two-party Computation Copyright (C) 2015 Engineering Cryptographic Protocols Group, TU Darmstadt This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Enumerator |
---|
C_BOOLEAN |
Enum for BOOLEAN circuit
|
C_ARITHMETIC |
Enum for ARITHMETIC circuit
|
C_LAST |
Dummy enum that is used to indicate the number of enums. DO NOT PUT ANOTHER ENUM AFTER THIS ONE!
|
Enumeration which defines the type of the gate in the circuit.
Enumerator |
---|
G_LIN |
Enum for LINEAR gates (XOR in Boolean circuits, ADD in Arithmetic circuits)
|
G_NON_LIN |
Enum for NON-LINEAR gates (AND in Boolean circuits, MUL in Arithmetic circuits)
|
G_NON_LIN_VEC |
Enum for VECTOR-NON-LINEAR gates (AND-VEC in Boolsharing, MUL-VEC in Arithmeticsharing)
|
G_IN |
Enum for INPUT gates
|
G_OUT |
Enum for OUTPUT gates
|
G_INV |
Enum for INVERSION gates
|
G_CONSTANT |
Enum for CONSTANT gates
|
G_CONV |
Enum for CONVERSION gates (dst is used to specify the sharing to convert to)
|
G_CALLBACK |
Enum for Callback gates where the developer specifies a routine which is called upon gate evaluation
|
G_COMBINE |
Enum for COMBINER gates that combine multiple single-value gates to one multi-value gate
|
G_SPLIT |
Enum for SPLITTER gates that split a multi-value gate to multiple single-value gates
|
G_REPEAT |
Enum for REPEATER gates that repeat the value of a single-value gate to form a new multi-value gate
|
G_PERM |
Enum for PERMUTATION gates that permute the value of multi-value gates
|
G_COMBINEPOS |
Enum for COMBINE_AT_POSITION gates that form a new multi-value gate from specific positions of old multi-value gates
|
G_SUBSET |
Enum for SUBSET gates that form a new multi-value gate from multiple positions of one multi-value gate
|
Enumeration which defines the method that is used for arithmetic multiplication triple generation.
Enumerator |
---|
MT_OT |
Enum for using OT to generate arithmetic MTs
|
MT_PAILLIER |
Enum for using PAILLIER to generate arithmetic MTs
|
MT_DGK |
Enum for using DGK to generate arithmetic MTs
|
MT_LAST |
Dummy enum that is used to indicate the number of enums. DO NOT PUT ANOTHER ENUM AFTER THIS ONE!
|
Enumeration which defines all the operations which are there in the framework.
Enumerator |
---|
OP_XOR |
Enum for performing LOGICAL XOR
|
OP_AND |
Enum for performing LOGICAL AND
|
OP_ADD |
Enum for performing ADDITION
|
OP_MUL |
Enum for performing MULTIPLICATION
|
OP_CMP |
Enum for performing COMPARISON
|
OP_EQ |
Enum for performing EQUALITY
|
OP_MUX |
Enum for performing MULTIPLEXER
|
OP_SUB |
Enum for performing SUBTRACTION
|
OP_AND_VEC |
Enum for performing VECTORED AND
|
OP_MUL_VEC |
Enum for performing VECTORED MULTIPLICATION
|
OP_IN |
Enum for performing INPUT
|
OP_OUT |
Enum for performing OUTPUT
|
OP_INV |
Enum for performing INVERSION
|
OP_CONSTANT |
Enum for performing CONSTANT OPERATION
|
OP_CONV |
Enum for performing CONVERSION
|
OP_A2Y |
Enum for performing ARITHEMETIC TO YAO CONVERSION
|
OP_B2A |
Enum for performing BOOL TO ARITHEMETIC CONVERSION
|
OP_B2Y |
Enum for performing BOOL TO YAO CONVERSION
|
OP_Y2B |
Enum for performing YAO TO BOOL CONVERSION
|
OP_IO |
Enum for performing a SHARING followed by a RECONSTRUCT operation
|
OP_COMBINE |
Enum for COMBINING multiple single-value gates into one multi-gate
|
OP_SPLIT |
Enum for SPLITTING one multi-value gate into multiple single-value gates
|
OP_REPEAT |
Enum for REPEATING the value of a single-value gate to create a multi-value gate
|
OP_PERM |
Enum for PERMUTING the values in a multi-value gate to another multi-value gate
|
OP_COMBINEPOS |
Enum for COMBINING the values at specific positions in a multi-value gate
|
Enumeration which defines the different sharing which are there in the framework.
Enumerator |
---|
S_BOOL |
Enum for performing bool sharing
|
S_YAO |
Enum for performing yao sharing
|
S_ARITH |
Enum for performing arithemetic sharing
|
S_LAST |
Enum for indicating the last enum value. DO NOT PUT ANOTHER ENUM AFTER THIS ONE! !
|
S_YAO_PIPE |
TODO Enum for performing yao sharing in pipelined mode
|