-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* made is_X_in_netlist accept const pointers * create netlist traversal decorator * added RST file for pydoc * added new doxy group for decorators * added get_next_sequential_gates (untested) * fixed pybinds for get_next_sequential_gates * made forbidden_pins mandatory * fixed inf loop when using caching * added function to compute map from all sequential gates to their respective sequential successors * get next gates up to max depth * deprecated some netlist utils functions * function to get next combinational gates until other gates hit * API changes; let user specify whether to stop on a match/mismatch * fixed missing exit pin check * started writing some tests (yay) * added forbidden pins for combinational logic and fixed caching bugs * testing get_next_sequential_gates_map and get_next_combinational_gates * added get_next_matching_gates tests * added get_next_matching_gates_until_depth tests * get_next_matching_gates_until tests * initial HAWKEYE commit * added S-box database * started updating candidate search * removed cached versions * added caching to get_next_matching_gates * bindings for detection config * bindings for candidate * changed getter API * re-implemented candidate search * updated gate lib * added new GateTypeProperties and PinTypes * fixed igraph dependency * some fixes in unisim library * made GateType hashable in Python * removed cache due to the headache it caused (and surprisingly the slowdown) * more minor fixes * removed cache from tests * added optional filter to Net::get_num_of_X * allow creation of a graph with no edges and only a subset of the gates in the netlist * get gates from vertices as set * added deep copy function * fixed naming * improved candidate search * SCC-based candidate detection * isolate state logic * changed architecture * added function to unify FF outputs * gather remaining inputs and create netlist graph * added example script for testing * untested s-box identification * Update README.md * added Gauss elimination top remove linear dependent outputs * made get_graph const * added versions accepting sets * sbox detection (wip, not tested) * almost completed sbox extraction * some renaming, documentation and PyBinds * fixed segfault on copied graph * fixed filling candidate inputs and outputs * fixed missing pybind * fixed wrong nets in state inputs and outputs * fixed missing state logic gates * smallset_t implementation based on regular not-hardware-specific code added * fixed set intersection not working with std::vector * fixed missing one step during sbox search * fixed mapping gates through graph rather than subgraph * fixed wrong check on number of control signals * cleanup + some logging * fixed empty truth table * speedup (need to test on all circuits) * cleaned up logs * minor fixes * disregard output gates that only depend on other output gates * fix creating way too many sbox candidates * fix functional sbox analysis * added SBoxCandidate constructor * fixed whitespaces * fixing CI * trying to make CI compile again * disable hawkeye by default * continue bruteforce on macos CI --------- Co-authored-by: joern274 <[email protected]>
- Loading branch information
Showing
44 changed files
with
11,647 additions
and
6,875 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.