boolcrypt.se_pmodadd.find_affine_se module

Find affine self-equivalences (ASE) of the permuted modular addition.

boolcrypt.se_pmodadd.find_affine_se.shape(wordsize, prefix_symbolic_anf, verbose, filename)[source]

Symbolic shape of the CCZ ASE of the “H” quadratic CCZ of the permuted modular addition.

boolcrypt.se_pmodadd.find_affine_se.graph_ase_coeffs2modadd_ase_anf(coeff2expr, wordsize, verbose, debug, filename, equations=None)[source]

Given the symbolic coefficients of the CCZ ASE of the “H” quadratic CCZ, return the symbolic anf ASE of the permuted modular addition.

boolcrypt.se_pmodadd.find_affine_se.find_ase_pmodadd_slow(wordsize, check, threads, verbose, debug, filename)[source]

Find all affine self-equivalences of the permuted modular addition for a fixed wordsize

boolcrypt.se_pmodadd.find_affine_se.find_ase_pmodadd_with_shape(wordsize, check, threads, save_coeffs_eqs, verbose, debug, filename, lse=False)[source]

Find all affine self-equivalences of the permuted modular addition for a fixed wordsize using a predefined shape.

boolcrypt.se_pmodadd.find_affine_se.get_zero_constant_terms_equations(c_anf, wordsize, verbose, debug, filename)[source]

Get the equations to reduce the ASE of pmodadd to LSE.