Generate inequalities for large sboxes¶
The logic minimizer espresso is required for this module. It is already installed in the docker.
- delete_dictionary_that_contains_inequalities_for_large_sboxes(analysis='differential')¶
- generate_espresso_input(input_size, output_size, value, valid_transformations_matrix)¶
- generate_product_of_sum_from_espresso(sbox, analysis='differential')¶
- get_dictionary_that_contains_inequalities_for_large_sboxes(analysis='differential')¶
Require Espresso to be installed.
It returns a dictionary containing the minimized set of inequalities representing the DDT of a Sbox, using the method described in https://tosc.iacr.org/index.php/ToSC/article/view/805/759:
first, the DDT is separated into multiple tables so that each pb-DDT table only contains entries with the same probability pb
then Espresso is used to compute the minimum product-of-sum representation of each pb-DDT, seen as a boolean function
- update_dictionary_that_contains_inequalities_for_large_sboxes(sbox, analysis='differential')¶