CLAASP: Cryptographic Library for Automated Analysis of Symmetric Primitives¶
This is a sample reference manual for CLAASP.
To use this module, you need to import it:
from claasp import *
This reference shows a minimal example of documentation of CLAASP following SageMath guidelines.
Utils¶
Cipher modules¶
- Tester
- Component analysis tests
- Code generator
- Neural network tests
- Generic bit based c functions
- Algebraic tests
- Avalanche tests
- Generic functions vectorized byte
- Division trail search
- Report
- Generic word based c functions
- Generic functions
- Evaluator
- Generic functions continuous diffusion analysis
- Graph generator
- Generic bit based c functions
- Inverse cipher
- Generic word based c functions
- Continuous diffusion analysis
- Generic functions vectorized bit
Models¶
Cp¶
Minizinc utils¶
Mzn models¶
- Mzn deterministic truncated xor differential model
- Mzn deterministic truncated xor differential model arx optimized
- Mzn xor differential number of active sboxes model
- Mzn hybrid impossible xor differential model
- Mzn xor differential model arx optimized
- Mzn boomerang model arx optimized
- Mzn wordwise deterministic truncated xor differential model
- Mzn impossible xor differential model
- Mzn xor differential trail search fixing number of active sboxes model
- Mzn cipher model
- Mzn xor linear model
- Mzn xor differential model
- Mzn cipher model arx optimized
Sat¶
Cms models¶
Utils¶
Sat models¶
- Sat cipher model
- Sat differential linear model
- Sat probabilistic xor truncated differential model
- Sat semi deterministic truncated xor differential model
- Sat shared difference paired input differential model
- Sat bitwise deterministic truncated xor differential model
- Sat xor linear model
- Sat truncated xor differential model
- Sat shared difference paired input differential linear model
- Sat xor differential model
Milp¶
Utils¶
- Generate inequalities for xor with n input bits
- Generate undisturbed bits inequalities for sboxes
- Dictionary that contains inequalities for large sboxes xor linear
- Generate inequalities for wordwise truncated xor with n input bits
- Dictionary containing truncated mds inequalities
- Milp truncated utils
- Dictionary that contains inequalities for small sboxes
- Generate sbox inequalities for trail search
- Dictionary containing truncated xor inequalities between n input bits
- Milp name mappings
- Dictionary containing xor inequalities between n input bits
- Dictionary that contains inequalities for sboxes with undisturbed bits
- Generate inequalities for large sboxes
- Generate inequalities for and operation 2 input bits
- Dictionary that contains inequalities for large sboxes
- Dictionary that contains inequalities for small sboxes xor linear
- Mzn predicates
- Generate inequalities for wordwise truncated mds matrices
- Dictionary containing truncated input pattern inequalities
- Utils
Tmp¶
Milp models¶
Algebraic¶
Smt¶
Smt models¶
Utils¶
Statistical tests¶
Components¶
- Mix column component
- Multi input non linear logical operator component
- Sbox component
- Or component
- Reverse component
- Theta keccak component
- Modular component
- Not component
- Shift component
- Intermediate output component
- Cipher output component
- Sigma component
- Rotate component
- Variable shift component
- Fsr component
- Word permutation component
- Theta gaston component
- Modsub component
- Xor component
- And component
- Shift rows component
- Variable rotate component
- Linear layer component
- Permutation component
- Modadd component
- Constant component
- Theta xoodoo component
- Concatenate component
Ciphers¶
Stream ciphers¶
Toys¶
Block ciphers¶
- Qarmav2 block cipher
- Simeck sbox block cipher
- Prince v2 block cipher
- Simon sbox block cipher
- Aradi block cipher sbox and compact linear map
- Prince block cipher
- Baksheesh block cipher
- Simeck block cipher
- Lowmc block cipher
- Midori block cipher
- Ballet block cipher
- Twofish block cipher
- Aradi block cipher sbox
- Lea block cipher
- Kasumi block cipher
- Lblock block cipher
- Bea1 block cipher
- Scarf block cipher
- Twine block cipher
- Des exact key length block cipher
- Present block cipher
- Aes block cipher
- Xtea block cipher
- Rc5 block cipher
- Skinny block cipher
- Aradi block cipher
- Simon block cipher
- Threefish block cipher
- Tea block cipher
- Speedy block cipher
- Speck block cipher
- Hight block cipher
- Sparx block cipher
- Qarmav2 with mixcolumn block cipher
- Lowmc generate matrices
- Des block cipher
- Raiden block cipher
- Ublock block cipher
Hash functions¶
Permutations¶
- Tinyjambu permutation
- Ascon permutation
- Tinyjambu fsr 32bits word permutation
- Grain core permutation
- Spongent pi permutation
- Spongent pi precomputation permutation
- Gift sbox permutation
- Sparkle permutation
- Util
- Ascon sbox sigma no matrix permutation
- Ascon sbox sigma permutation
- Gimli sbox permutation
- Xoodoo permutation
- Keccak invertible permutation
- Keccak permutation
- Photon permutation
- Xoodoo invertible permutation
- Salsa permutation
- Chacha permutation
- Gift permutation
- Gaston permutation
- Xoodoo sbox permutation
- Gaston sbox theta permutation
- Tinyjambu 32bits word permutation
- Gaston sbox permutation
- Spongent pi fsr permutation
- Gimli permutation
- Keccak sbox permutation