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.
Components¶
- Modular component
- Modsub component
- Not component
- Rotate component
- Variable rotate component
- Theta xoodoo component
- Shift component
- Mix column component
- Shift rows component
- And component
- Permutation component
- Theta keccak component
- Intermediate output component
- Xor component
- Sbox component
- Modadd component
- Sigma component
- Cipher output component
- Reverse component
- Word permutation component
- Or component
- Fsr component
- Multi input non linear logical operator component
- Linear layer component
- Constant component
- Concatenate component
- Variable shift component
Ciphers¶
Toys¶
Hash functions¶
Permutations¶
- Gaston sbox permutation
- Xoodoo permutation
- Salsa permutation
- Xoodoo invertible permutation
- Xoodoo sbox permutation
- Keccak invertible permutation
- Tinyjambu 32bits word permutation
- Sparkle permutation
- Grain core permutation
- Chacha permutation
- Tinyjambu permutation
- Spongent pi permutation
- Keccak permutation
- Ascon sbox sigma permutation
- Spongent pi precomputation permutation
- Photon permutation
- Gimli permutation
- Gimli sbox permutation
- Tinyjambu fsr 32bits word permutation
- Gaston permutation
- Gift permutation
- Util
- Ascon sbox sigma no matrix permutation
- Ascon permutation
- Gift sbox permutation
- Spongent pi fsr permutation
- Keccak sbox permutation
Stream ciphers¶
Block ciphers¶
- Speedy block cipher
- Raiden block cipher
- Midori block cipher
- Fancy block cipher
- Simon block cipher
- Qarmav2 block cipher
- Twofish block cipher
- Bea1 block cipher
- Lea block cipher
- Aes block cipher
- Tea block cipher
- Xtea block cipher
- Sparx block cipher
- Present block cipher
- Threefish block cipher
- Hight block cipher
- Scarf block cipher
- Lowmc generate matrices
- Qarmav2 with mixcolumn block cipher
- Constant block cipher
- Lowmc block cipher
- Rc5 block cipher
- Des block cipher
- Lblock block cipher
- Kasumi block cipher
- Identity block cipher
- Speck block cipher
- Skinny block cipher
- Des exact key length block cipher
Cipher modules¶
- Generic functions
- Generic word based c functions
- Inverse cipher
- Component analysis tests
- Report
- Graph generator
- Tester
- Evaluator
- Generic bit based c functions
- Generic functions vectorized bit
- Code generator
- Generic word based c functions
- Generic functions continuous diffusion analysis
- Continuous diffusion analysis
- Generic functions vectorized byte
- Neural network tests
- Avalanche tests
- Algebraic tests
- Generic bit based c functions
Statistical tests¶
Models¶
Minizinc¶
Minizinc models¶
Utils¶
Smt¶
Smt models¶
Utils¶
Cp¶
Minizinc utils¶
Cp models¶
Sat¶
Cms models¶
Sat models¶
Utils¶
Sat models¶
Milp models¶
Tmp¶
Utils¶
- Dictionary that contains inequalities for small sboxes
- Generate inequalities for wordwise truncated xor with n input bits
- Generate undisturbed bits inequalities for sboxes
- Generate inequalities for and operation 2 input bits
- Dictionary containing xor inequalities between n input bits
- Generate inequalities for xor with n input bits
- Utils
- Milp name mappings
- Dictionary that contains inequalities for large sboxes xor linear
- Dictionary containing truncated input pattern inequalities
- Milp truncated utils
- Dictionary that contains inequalities for small sboxes xor linear
- Dictionary that contains inequalities for sboxes with undisturbed bits
- Dictionary containing truncated xor inequalities between n input bits
- Dictionary that contains inequalities for large sboxes
- Dictionary containing truncated mds inequalities
- Generate sbox inequalities for trail search
- Generate inequalities for wordwise truncated mds matrices
- Mzn predicates
- Generate inequalities for large sboxes