sboxU.scripts.apnDB package

Submodules

sboxU.scripts.apnDB.eightBitAPN module

Contains many 8-bit APN functions

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

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

sboxU.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.

sboxU.scripts.apnDB.eightBitAPN.all_non_quadratics()[source]
sboxU.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

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

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

sboxU.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

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

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

sboxU.scripts.apnDB.generate module

sboxU.scripts.apnDB.generate.generate_apn_ccz_classes_database(ccz_class_representatives, db_path)[source]

Generates a compact TinyDB database containing one representative per CCZ-class of quadratic APN functions.

Only quadratic functions from the input list are inserted; non-quadratic functions are discarded. This produces a smaller database than generate_apn_ea_classes_database, since only CCZ-class representatives (rather than full EA-class expansions) are stored.

Parameters:
  • ccz_class_representatives – A list of S-boxable objects, each being a representative of a distinct CCZ-equivalence class of APN functions.

  • db_path (str) – Path to the TinyDB file to create. If it already exists, it is deleted and recreated.

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

Generates a TinyDB database containing one representative per EA-class of APN functions.

For each CCZ-class representative, the full CCZ-equivalence class is enumerated and inserted into the database, so that the database ultimately holds one entry per EA-class. Quadratic and non-quadratic functions are processed separately.

Parameters:
  • ccz_class_representatives – A list of S-boxable objects, each being a representative of a distinct CCZ-equivalence class of APN functions.

  • db_path (str) – Path to the TinyDB file to create. If it already exists, it is deleted and recreated.

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

sboxU.scripts.apnDB.reprs6 module

sboxU.scripts.apnDB.reprs7 module

sboxU.scripts.apnDB.reprs8 module

sboxU.scripts.apnDB.reprs8.all_BLP22()[source]

All the functions found in BLP22

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

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

sboxU.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.

sboxU.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

sboxU.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

sboxU.scripts.apnDB.reprs8.g = a

Contains many 8-bit APN functions

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

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