Code
- Constraint programming to search for PLL-TRNG parameters This program uses constraint programming to find the M, N and C coefficients of the two PLLs used in a PLL-TRNG (true random number generator based on phase-locked loops).
- Fast and incremental Correlation Power Analysis Python script performing a first or second-order CPA. Intermediate correlation values can be obtained to plot the successive rank values for the correct key hypothesis.
- Pre-processing of side-channel traces Set of scripts that maniulate/process traces obtained by side-channel measurements. The Numpy .npy format is used.
- AIS-31 statistical tests Python implementation of AIS-31 statistical tests T0 to T8. These tests are used for offline evaluation of true random number generators.
- Logic masking with centrality indicators Implementation of a method based on centrality indicators to select the nodes to modify by logic masking. Logic masking inserts XOR/XNOR gates to controllably alter the outputs of an IP core.
- CASCADE key reconciliation protocol Python implementation of the CASCADE key reconciliation protocol.
- Combinational netlists parsing Parse a combinational netlist into an igraph object. It handles the bench, BLIF, SLIF, EDIF, VHDL, Verilog and Xilinx EDIF netlist formats.
- Combinational logic locking Implementation of the logic locking method which inserts AND/OR gates to controllably lock the outputs of an IP core.