Skip to content

Releases: Crypto-TII/claasp

Release v3.1.0

30 Jul 08:20
7b6925d

Choose a tag to compare

Added

  • Pytest isolate plugin.
  • Create baksheesh block cipher.
  • Gaston permutation with theta layer.
  • Shareddifferencepairedinputdifferentiallinearmodel.
  • Shareddifferencepairedinputdifferentialmodel.
  • Satpnbhighorderxordifferentialmodel.
  • Adding semi-deterministic truncated model.
  • Adding algebraic_polynomails function in fsr component.

Changed

  • Unify docker images.
  • Discard model dependency for building sat constraints of components.
  • Refactoring semideterministic model.
  • Move fsr polynomials and conversion functions to top level in generic_functions.py for reuse in fsr_component.py to avoid duplication.

Fixed

  • Borken dockerfile fixed.
  • Adapt pytest to the new hex value representation.
  • Add 0x to the solution values.
  • Output parsing for cp.
  • Raise exception according to s5632.
  • Code generator module.
  • Fix skinny cipher for all configurations.
  • Update dockerfile for the new mathsat.
  • Skinny block cipher.
  • 6 reliability issues by sonarcloud.

Release v3.0.0

14 Mar 10:12
9ac39ef

Choose a tag to compare

Added

  • Adding seed and number_of_processors parameters on cda.
  • Support for differential-linear trails on report module.
  • Optional probabilistic propagations for key schedule in the hybrid impossible model.
  • Hybrid model for xor impossible differential trail search.
  • Sat model for differential-linear distinguishers.
  • Differential-linear checker.
  • Add differential-linear search.
  • Add commands to use gurobi in github server.
  • Add a way to choose a component as cipher_output.
  • New representation for aradi block cipher.
  • Create ublock cipher.
  • Create twine block cipher object.
  • Build_generic_sat_model.
  • Add support for heterogeneous model creation.
  • Standard docstring head for sat and smt components.
  • Build_generic_sat_model_from_dictionary.
  • Clearer docstrings for sat and smt components.
  • Merging models.
  • Add automatic publish on pypi workflow.
  • Fix typo in docker image name.
  • Add m1 build workflow.
  • Run docker image without pre-building.
  • New interface of nist statistical tests.

Changed

  • Differential-linear cryptanalysis model.
  • More compact lowmc sbox and linear layers.
  • Refactor two methods in satxorlinearmodel.
  • Fix_variables_value_constraints.
  • Speed improvement on the division trail search module.
  • Moving window_size_weight_pr_vars.
  • Unified solve method for new unique minizinc model; defined internal solvers.

Fixed

  • Cp id bitwise model.
  • Cp id bitwise model and align hybrid model.
  • Addressing sonarqube issue.
  • Adding seed to differential_linear tests.
  • Addressing sonar reliability issue.
  • Fixing differential-linear trail model.
  • Mzn hybrid model for permutations.
  • Sbox deterministic truncated constraints.
  • Calculate_component_weight.
  • Doctest.
  • Xor linear model output issue.
  • Minor errors.
  • Mzn and not cp in testing.
  • Update actions/download-artifact version.
  • Update actions/upload-artifact version.
  • Correct parameters for the nist statistical tests and dieharder.

Release v2.6.0

23 Aug 08:13
7573ec4

Choose a tag to compare

Added

  • Added prince cipher.
  • Implement s-box version of simeck cipher.
  • Implement simeck cipher.
  • Testing.
  • Working model for impossible xor differential trail extension for key recovery.
  • Find lowest varied deterministic truncated xor differential trail search for cp.
  • Cp impossible wordwise model and impossible trails extension.
  • Allow sat s-boxes to handle rectangular case.
  • Create new version of simon cipher.

Changed

  • Rename hash input from key to message.
  • Improved incompatibility search in intermediate components.
  • Window_size heuristic.

Fixed

  • Correct the incorrect show_graph paramter settings.
  • Continuous diffusion analysis.
  • Manipulate correctly rectangular s-boxes in smt.
  • Doctests.
  • Window_size heuristic. adding check for window -1.
  • Codes duplications.
  • Adressed slow pytests for lowmc cipher and milp xor differential trail search.
  • Code smells.
  • Removed the empty input_id_link that could occur in some cases of the partial inversion.
  • 'plaintext' key error when using vectorized evaluation on a partially inverted cipher.
  • Update sphinx version.
  • Impossible attack extension model for cp.

Release v2.5.0

22 May 14:06
339c976

Choose a tag to compare

Added

  • Non rectangular s-boxes support for milp models.
  • Solvers options and modularity.
  • Cp solvers names and method.

Changed

  • Processing of intermediate outputs fixed for partial cipher creation method.
  • Rearrange smt solver specifications.
  • Rearrange sat solver specifications.
  • Window size feature.

Fixed

  • Fix create_bash_script.py for local installation after distribution change.
  • Fix platform and gurobi version for m1.
  • Or component cp linear propagation declarations.
  • Remove concatenate component in kasumi.

Release v2.4.0

06 Apr 08:48
b9d886a

Choose a tag to compare

Added

  • Added method to get milp solvers.
  • Coinbc backend for milp module.

Fixed

  • Added date time to report folders and statistical tests folders. fixed neural network error message fixed trails output format to include hex words.
  • Fixed trail search output format.

Release v2.1.0

31 Jan 11:15
e016b14

Choose a tag to compare

Added

  • Sat deterministic truncated xor differential trail search.
  • Fully automatic milp search of xor differential impossible trails at component level.
  • Implement sat constraints for or operation.
  • Add action to build claasp-lib image every time a new version is deployed to main.
  • Create multi-stage build to generate docker image of claasp.
  • Add sat deterministic truncated trail search.

Changed

  • Qarmav2 creator optimized, permutations removed and complexity reduced.

Fixed

  • Inversion for primitives using subkeys as inputs.
  • Fixing networkx and numpy versions.
  • Adapted tests.
  • Move sat constraints for and in correct module.

Release v2.0.0

05 Dec 08:16
1a06855

Choose a tag to compare

Added

  • Create report class Change: refactor statistical test functions and trail search functions outputs Change: refactor old pytest files for statistical test functions and trail search functions. Remove: remove old functions to create dataframes and heatmaps for statistical test functions

  • External solver support for MILP truncated/impossible modules

  • Implement scarf block cipher

  • Window heuristic per modular addition

Fixed

  • Fix versioning

Release v1.1.0

27 Nov 13:43

Choose a tag to compare

Added

  • Unifying SAT xor diff and checker models
  • create new a51 stream cipher with fsr component.
  • create new tinyjambu permutation with fsr component.
  • create new spongent pi permutation with fsr component.
  • component_values to Minizinc output model
  • Adding graph generator based on cipher component IDs
  • create new BEA-1 cipher
  • Adding max number of carries
  • vectorized implementation of neural_network distinguishers and support for training round selection
  • possibility to check differential trails automatically
  • Compounded Xor Differential Cipher
  • Salsa Permutation

Changed

  • Moved get_key_schedule_component_ids
  • replaced BEA1 concatenate component for CP compatibility
  • update cipher documentation with BEA-1
  • window_size heuristic
  • Latin Dances Ciphers
  • Extracting init method from Salsa/Chacha
  • Extracting methods from Salsa/ChaCha Extracting common methods from Salsa/ChaCha to util latin dances
  • removing duplicate code

Fixed

  • Add ciphers folder to SonarCloud exclusion.
  • xor-diff-mzn-model
  • upgrade Tensorflow to work with m1 architecture
  • compactification of cipher in SAT
  • fix the bug of the nist_statistical_tests_test.py when the experiments folder existed, then the nist sts tools will stopped. fix the bug that some nist test files generated during runtime has incorrect read write permission.
  • MILP external file paths are now absolute
  • solver name added to input files names for testing cp models
  • find_one_xor_differential_trail in cp two steps model
  • test_find_all_xor_differential_trails_with_fixed_weight in two steps version
  • number of active sboxes constraint generation
  • updated instructions to set up Sagemath Python interpreter into PyCharm
  • Kissat parsing

Release v1.0.0

28 Apr 14:59

Choose a tag to compare

Added

  • Everything! First public release.