sboxUv2.scripts.apnDB package

Submodules

sboxUv2.scripts.apnDB.BeierleLeander module

sboxUv2.scripts.apnDB.eightBitAPN module

Contains many 8-bit APN functions

sboxUv2.scripts.apnDB.eightBitAPN.all()[source]
sboxUv2.scripts.apnDB.eightBitAPN.all_BeiLea()[source]

All the functions found by Beierle and Leander in 2020, availabe online at: https://zenodo.org/record/4030734

sboxUv2.scripts.apnDB.eightBitAPN.all_WenTanGon()[source]

All 10 quadratic APN functions found in:

Weng, G., Tan, Y., & Gong, G. (2013). On quadratic almost perfect nonlinear functions and their related algebraic object. In Workshop on Coding and Cryptography, WCC.

sboxUv2.scripts.apnDB.eightBitAPN.all_non_quadratics()[source]
sboxUv2.scripts.apnDB.eightBitAPN.all_quadratic_polynomials()[source]

All the functions in Table 9 of http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.215.5432&rep=rep1&type=pdf

sboxUv2.scripts.apnDB.eightBitAPN.all_quadratics()[source]

Returns all known quadratic APN functions operating on 8 bits. They are all in distinct CCZ-classes.

sboxUv2.scripts.apnDB.eightBitAPN.first_QAMs()[source]

All the functions found using the QAM method before 2020, see https://link.springer.com/article/10.1007/s10623-014-9955-3

sboxUv2.scripts.apnDB.eightBitAPN.poly_to_lut(p)[source]
sboxUv2.scripts.apnDB.eightBitAPN.second_QAMs()[source]

All the functions found using the QAM method after 2021 (paper to appear)

sboxUv2.scripts.apnDB.firstQAM module

sboxUv2.scripts.apnDB.firstQAM.all_quadratics()[source]

sboxUv2.scripts.apnDB.generate module

class sboxUv2.scripts.apnDB.generate.APNQuadraticFunctions_ccz_only(db_file)[source]

Bases: FunctionsDB

This class is expected to be bundled with a literal TinySQL database file called “apn_functions.db”, and allows an easy interaction with it.

It builds upon the FunctionDB class, and contains additional logic to handle the specifics of APN functions, and in particular of their CCZ-equivalence class. Here, “functions” should be thought of much more as “extended affine equivalence class representative” rather than function.

This class is a compact version of APNFunctions to use when there are too many functions when we include EA-classes.

insert_quadratic_ccz_representative(s)[source]

In this version, we only insert a ccz representative

is_new(s, mug=None)[source]

# !TODO! docstring

parse_function_from_row(row)[source]
sboxUv2.scripts.apnDB.generate.are_ea_equivalent_from_vq(f, g)[source]
sboxUv2.scripts.apnDB.generate.generate_apn_ccz_classes_database(ccz_class_representatives, db_path)[source]

!TODO! write docstring

sboxUv2.scripts.apnDB.generate.generate_apn_ea_classes_database(ccz_class_representatives, db_path)[source]

!TODO! write docstring

sboxUv2.scripts.apnDB.generate.main_cli()[source]
sboxUv2.scripts.apnDB.generate.process_arguments()[source]

sboxUv2.scripts.apnDB.reprs6 module

sboxUv2.scripts.apnDB.reprs7 module

sboxUv2.scripts.apnDB.reprs8 module

sboxUv2.scripts.apnDB.reprs8.all_BeiLea()[source]

All the functions found by Beierle and Leander in 2020, availabe online at: https://zenodo.org/record/4030734

sboxUv2.scripts.apnDB.reprs8.all_WenTanGon()[source]

All 10 quadratic APN functions found in:

Weng, G., Tan, Y., & Gong, G. (2013). On quadratic almost perfect nonlinear functions and their related algebraic object. In Workshop on Coding and Cryptography, WCC.

sboxUv2.scripts.apnDB.reprs8.all_quadratic_polynomials()[source]

All the functions in Table 9 of http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.215.5432&rep=rep1&type=pdf

sboxUv2.scripts.apnDB.reprs8.first_QAMs()[source]

All the functions found using the QAM method before 2020, see https://link.springer.com/article/10.1007/s10623-014-9955-3

sboxUv2.scripts.apnDB.reprs8.g = a

Contains many 8-bit APN functions

sboxUv2.scripts.apnDB.reprs8.second_QAMs()[source]

All the functions found using the QAM method after 2021 (paper to appear)

sboxUv2.scripts.apnDB.secondQAM module