Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
212 commits
Select commit Hold shift + click to select a range
4e37aab
FEATURE/Add: create bitwise impossible XOR differential trail search …
ale-depi Jan 30, 2024
2aacb6d
Fix SAT find one bitwise impossible trail
ale-depi Feb 5, 2024
a515bab
Merge branch develop
ale-depi Feb 5, 2024
7e271f4
Add module to automatic test impossible search
ale-depi Feb 5, 2024
03e0ef1
Fix pytests
ale-depi Feb 6, 2024
5b884a3
Merge branch 'fix/docker-environment' into feat/sat-impossible-xor-di…
francesca-valtorta May 22, 2025
1b67f3c
Adding pytest isolate plugin
juaninf May 27, 2025
48d7285
Reduce memory usage in bivium pytest
shrawant May 27, 2025
740d63a
Reduce memory usage in trivium pytest
shrawant May 27, 2025
f582b88
Reduce memory usage in e0 pytest
shrawant May 27, 2025
6339f6f
Reduce memory usage in A51 and A52 pytests by removing evaluate funct…
shrawant May 27, 2025
9ed1622
Reduce memory usage inspongent_pi_fsr_permutation pytest
shrawant May 27, 2025
5f58538
Reduce memory usage in spongent_pi_precomputation_permutation pytest
shrawant May 27, 2025
7ea6d91
Reduce memory usage in spongent_pi_permutation pytest
shrawant May 27, 2025
70f5f8b
Add test for state_bit_size =176 in spongent_pi_precomputation_permut…
shrawant May 27, 2025
13bdac7
Implementation of find_one_bitwise_impossible_xor_differential_trail_…
francesca-valtorta May 27, 2025
cded8fa
Adding pytest isolate plugin
juaninf May 27, 2025
096c484
Fix typos in A51 and A52 documentation and add some commented code in…
shrawant May 27, 2025
4595c0c
Comment two evaluate calls in keccak_invertible_permutation pytest
shrawant May 27, 2025
8a5d707
Fix a typo in spongent_pi_permutation pytest
shrawant May 27, 2025
e005eb4
Merge branch 'fix/reduce_memory_usage_in_pytests' into add_pytest_iso…
juaninf May 28, 2025
13985df
FIX/Fix uptrend memory consumption in pytest
juaninf May 28, 2025
84c7ae3
FIX/Fix uptrend memory consumption in pytest
juaninf May 28, 2025
83db6e0
Merge branch 'fix/nn_test_optimisations' into add_pytest_isolate_plugin
juaninf Jun 1, 2025
950b2e5
Merge branch 'fix/optimize_fsr_component_eval_memory_usage' into add_…
juaninf Jun 1, 2025
707fd69
Fixing conflicts
juaninf Jun 1, 2025
6e93870
Removing CP pytests
juaninf Jun 1, 2025
676663e
Changing PARKISSAT_EXT by KISSAT_EXT
juaninf Jun 1, 2025
634d440
Updating Makefile
juaninf Jun 1, 2025
9f065c2
Updating Makefile
juaninf Jun 1, 2025
0c0ffe3
Updating Makefile
juaninf Jun 1, 2025
48d94cb
Updating Makefile
juaninf Jun 1, 2025
9e6d28d
Updating Makefile
juaninf Jun 1, 2025
6dc06ab
Updating Makefile
juaninf Jun 2, 2025
94e7e09
Updating Makefile
juaninf Jun 2, 2025
675ae93
adding clean reports to report_test.py
Jun 2, 2025
f7fb108
skipping report_test.py::save_as_image
Jun 2, 2025
e8a851d
skipping report_test.py::save_as_image
Jun 2, 2025
a7f7bb2
Fix report test
Jun 18, 2025
44e0cf1
Fix report test
Jun 18, 2025
1bc9dbf
implement precomputed results in report test
Jun 18, 2025
bbb246a
FIX/Fix: confilcting files in CP testing
SimoPez Jun 30, 2025
8a68c47
Fixed doctests
SimoPez Jun 30, 2025
8d146c6
Adding block cipher Kalyna
smalj Jul 2, 2025
21f0eb0
Added find_one_impossible_xor_differential_trail_with_fully_automatic…
SimoPez Jul 11, 2025
12a2aa8
Fixed parsing
SimoPez Jul 14, 2025
685c0ca
Merged develop
SimoPez Jul 15, 2025
4a9c081
remove precomputed results
Jul 16, 2025
deaa701
Code coverage
SimoPez Jul 16, 2025
6b9c64c
removing testing files
SimoPez Jul 22, 2025
9a857eb
Fixed doctest
SimoPez Jul 22, 2025
60a59c4
fix test_show
Jul 23, 2025
2cd5084
code coverage
SimoPez Jul 23, 2025
5a0a496
Fixed model reusing
SimoPez Jul 25, 2025
aa6b718
FEATURE/Refactor: SAT utils implementation
ale-depi Jul 28, 2025
0d8710d
Refactor: redefine solvers strings
ale-depi Jul 28, 2025
2185c01
Substitute remaining harcoded SAT solvers strings
ale-depi Jul 28, 2025
274048a
Refactor variables names for consistency
ale-depi Jul 28, 2025
28dee32
Reformat SAT model
ale-depi Jul 28, 2025
506d65f
reinsert cp tests
Jul 29, 2025
be49f18
FIX: fix output in _parse_solver_output
francesca-valtorta Jul 29, 2025
faf7621
FIX/Fix: add docstring to incompatibility helper
francesca-valtorta Jul 29, 2025
6bd28d0
Merge branch 'develop' into fix/test_report_fix
Jul 30, 2025
5100818
Fix tests for SAT models and code coverage
ale-depi Jul 31, 2025
f3bf06f
Refactor pytest
ale-depi Jul 31, 2025
68cee51
Merge branch develop into feature/refactor-sat-utils
ale-depi Jul 31, 2025
2f1d547
Merge branch 'develop' into fix/test_report_fix
Aug 1, 2025
0e5e2a6
update unit tests that were not synced up with develop
Aug 1, 2025
f3a5fc8
fix a51 and a52 unit tests
Aug 1, 2025
f5c8e09
remove comments and unused imports
Aug 1, 2025
1d9e198
Merge pull request #350 from Crypto-TII/feature/refactor-sat-utils
peacker Aug 1, 2025
f651196
Merge pull request #351 from Crypto-TII/fix/test_report_fix
peacker Aug 1, 2025
d011184
merge main into develop
Aug 1, 2025
02c5b0e
FEATURE/Refactor: reorganise Dockerfile
ale-depi Aug 1, 2025
20ae335
Finished Kalyna block cipher 128/128
smalj Aug 4, 2025
af08775
removing not needed files
smalj Aug 4, 2025
50194e2
Merge branch 'develop' into feat/add_kalyna
smalj Aug 4, 2025
3ba1eb6
adding unit test
smalj Aug 4, 2025
1c3a882
removing commented parts
smalj Aug 4, 2025
0470ce4
Merge branch 'develop' into fix/cp-conflicting-files
SimoPez Aug 4, 2025
b301906
Reduced duplications
SimoPez Aug 4, 2025
5def13b
Merge branch 'develop' into feat/add-cp-impossible-fully-automatic-model
SimoPez Aug 4, 2025
6996b19
Code reliability
SimoPez Aug 4, 2025
2400c9e
fixed float to int
smalj Aug 4, 2025
5200e7b
duplications
SimoPez Aug 4, 2025
1fecb89
Code duplications
SimoPez Aug 4, 2025
95c6129
Reliability
SimoPez Aug 5, 2025
3980adc
Merge pull request #346 from Crypto-TII/fix/cp-conflicting-files
peacker Aug 5, 2025
0214b55
Merge pull request #349 from Crypto-TII/feat/add-cp-impossible-fully-…
peacker Aug 5, 2025
13b432b
Merge branch develop into feature/implementing-minizinc-cli-only
ale-depi Aug 5, 2025
fc6a57b
Fix CP pytest
ale-depi Aug 5, 2025
e239996
Merge pull request #352 from Crypto-TII/feature/implementing-minizinc…
peacker Aug 5, 2025
0219d20
Merge branch 'develop' into feat/add_kalyna
ale-depi Aug 5, 2025
390c0e7
Remove useless comment and add reference
ale-depi Aug 6, 2025
0f20f59
Revert Makefile to develop branch
ale-depi Aug 6, 2025
40dd227
Reformat and reduce complexity Kalyna
ale-depi Aug 6, 2025
cc579ad
Merge pull request #353 from Crypto-TII/feat/add_kalyna
peacker Aug 8, 2025
6707682
merge main into develop
Aug 8, 2025
5538faa
FEATURE/Refactor: change the generation of SAT bit ids
ale-depi Aug 13, 2025
23d7d67
Fix ModAdd after var refactoring
ale-depi Aug 13, 2025
8fe8145
FEATURE/Refactor: Lint the code
ale-depi Aug 14, 2025
ef9d1c5
Merge pull request #354 from Crypto-TII/feature/refactor-sat-creation…
peacker Aug 19, 2025
2ca4f09
Merge pull request #356 from Crypto-TII/feature/clean-code
peacker Aug 19, 2025
821ff6b
FEATURE/Add: fully-automatic function
francesca-valtorta Aug 19, 2025
5ebb8a1
Fix multi-platform Docker build pipeline
juaninf Aug 21, 2025
f487f46
FEATURE/Refactor: reformat and lint Python files
ale-depi Aug 21, 2025
f89cc88
FEATURE/Add: support options for SAT solvers
ale-depi Aug 21, 2025
bb9f361
Merge branch 'develop' into feat/sat-impossible-xor-differential
ale-depi Aug 22, 2025
e1446b8
Add options to find methods
ale-depi Aug 22, 2025
769a5f9
Fix CP Mix Column constraints
ale-depi Aug 25, 2025
5eda6c2
Merge pull request #358 from Crypto-TII/feature/options-for-sat-solvers
peacker Aug 26, 2025
e5a2825
Merge pull request #359 from Crypto-TII/feature/reformat-and-lint
peacker Aug 26, 2025
5b5435b
Merge pull request #357 from Crypto-TII/fix/fix_ci_pipeline
peacker Aug 26, 2025
5bf5a3e
Reformat and refactor MZN models
ale-depi Aug 26, 2025
87d6bf1
Reformat and lint tests for MZN models
ale-depi Aug 26, 2025
ff2a213
Reformat and lint SAT models and tests
ale-depi Aug 26, 2025
885c9b3
Reformat and lint SMT framework
ale-depi Aug 27, 2025
d473227
Reformat and lint MILP models and tests
ale-depi Aug 27, 2025
f124e8d
Reformat and lint compound_xor_differential_model
ale-depi Aug 27, 2025
5a817ad
Move test coumpound_xor_differential_cipher test
ale-depi Aug 27, 2025
406d85d
Fix cipher id generation
ale-depi Aug 28, 2025
b340f3a
Fix tests after refactoring make_cipher_id
ale-depi Aug 28, 2025
52ba116
Fix Blake2 test
ale-depi Aug 28, 2025
ba50026
FEATURE/Refactor: port MiniZinc models to stdin input
ale-depi Aug 28, 2025
d8f8391
Merge branch 'feature/reformat-and-lint' into feature/minizinc-input-…
ale-depi Aug 28, 2025
8e71572
Use mappings for the Xor CP solver in tests
ale-depi Aug 28, 2025
c20372a
Fix doctests after MiniZinc handling refactoring
ale-depi Aug 28, 2025
f0e9005
Adress some SonarQube issues
ale-depi Aug 28, 2025
4bb0d10
Moved call to sort_cipher() inside ChachaStreamCipher init
p-huynh Sep 2, 2025
e419025
FEATURE/Add: LED block cipher
Eleriga Sep 8, 2025
c3020fe
Merge pull request #360 from Crypto-TII/feature/reformat-and-lint
peacker Sep 9, 2025
c3e5cd2
Merge pull request #361 from Crypto-TII/feature/minizinc-input-from-s…
peacker Sep 9, 2025
9eb5fbe
Merge pull request #363 from Crypto-TII/fix/sort_chacha_sc_in_constru…
peacker Sep 9, 2025
8f8f4b1
Add SM4 block cipher and tests; update Kalyna block cipher
smalj Sep 10, 2025
ae612c9
FIX/Fix: parser and incompatible_components function
francesca-valtorta Sep 10, 2025
bebf3a4
added SM4 and modified kalyna
smalj Sep 11, 2025
e464ffa
Reformat LED cipher and tests
ale-depi Sep 11, 2025
e8fa377
FEAT/Add: option for fixing equality between variables in CP, MILP an…
SimoPez Sep 16, 2025
65547aa
Testing added
SimoPez Sep 22, 2025
5bce7e6
Merge pull request #365 from Crypto-TII/feature/add-led-block-cipher
peacker Sep 23, 2025
36d7805
Merge branch develop into feat/sat-impossible-xor-differential
ale-depi Sep 23, 2025
b49cc7a
handled review
smalj Sep 30, 2025
8622317
update division trail search module and trivium stream cipher
SiMohamedRachidi Oct 1, 2025
0c3fd5c
all the tests in division_trail_search_test.py are passing.
SiMohamedRachidi Oct 1, 2025
b8a3fd4
change import random by import secrets
SiMohamedRachidi Oct 2, 2025
db37fa7
Merge pull request #366 from Crypto-TII/add_sm4_block_cipher
peacker Oct 3, 2025
090a9e2
Removed excessive prints from training
Oct 8, 2025
8b66fce
Fixed network saving issue
Oct 8, 2025
44b4cc9
Sanitized sage integers from nn functions
Oct 8, 2025
ff9f443
Fixed error when input size is not specified in get_neural_network
Oct 8, 2025
889d842
Fixed error when word size is not specified in get_neural_network
Oct 8, 2025
a0ee7a9
Code cleanup and added external solver in pytest
p-huynh Oct 8, 2025
b4a1a14
Merge branch develop into feat/fix_variable_to_variable_constraint
ale-depi Oct 8, 2025
60d6a4d
Refactor SAT model to extend uniformity
ale-depi Oct 8, 2025
f0942aa
Merge pull request #369 from Crypto-TII/feat/fix_variable_to_variable…
peacker Oct 9, 2025
c20d057
Merge pull request #370 from Crypto-TII/fix/improve-nd-pipeline
peacker Oct 9, 2025
21ba09d
FEATURE/Feat: add SAT bitwise XOR impossible differential trail search
francesca-valtorta Oct 9, 2025
3f8f525
Fix doctest
francesca-valtorta Oct 9, 2025
76a15b9
change name from division_trail_search.py to monomial_prediction.py. …
SiMohamedRachidi Oct 14, 2025
7b77ee1
fix small issue with build_generic_model_for_specific_output_bit()
SiMohamedRachidi Oct 14, 2025
fc6816d
adapt the convention of Claasp for the docstrings
SiMohamedRachidi Oct 14, 2025
9394dd8
Merge branch 'develop' into update_division_trail_search_module
SiMohamedRachidi Oct 14, 2025
a85c419
fix docstring tests
SiMohamedRachidi Oct 14, 2025
06a36a1
improve verbosity
SiMohamedRachidi Oct 16, 2025
0477b17
improve verbosity again
SiMohamedRachidi Oct 16, 2025
ff77103
Set verbosity to False
SiMohamedRachidi Oct 17, 2025
4f7e644
fix issue with verbosity
SiMohamedRachidi Oct 17, 2025
8564841
change upper bound degree to exact degree for superpolies
SiMohamedRachidi Oct 17, 2025
97372d8
add test_find_exact_degree_of_superpoly_of_all_output_bits()
SiMohamedRachidi Oct 17, 2025
747365d
fix coverage above 80
SiMohamedRachidi Oct 18, 2025
19348ad
import Env was missing
SiMohamedRachidi Oct 18, 2025
5a9563b
Merge pull request #368 from Crypto-TII/update_division_trail_search_…
peacker Oct 22, 2025
85dd2f9
Fix missing MODSUB in SAT-impossible
francesca-valtorta Oct 23, 2025
ee9f76c
Fix pytest SAT-impossible
francesca-valtorta Oct 23, 2025
dbecebf
FEATURE/Add: add all parameters conf of LED cipher
ale-depi Oct 24, 2025
509f75b
Merge pull request #373 from Crypto-TII/feature/implement-all-led-ver…
peacker Oct 27, 2025
80a6b7b
reduce the size of the models of the monomial_prediction_test.py
SiMohamedRachidi Oct 27, 2025
49356f6
Merge branch 'develop' into reduce_tests_sizes_monomial_prediction
SiMohamedRachidi Oct 27, 2025
ac6e631
correcting the anf of gimli in monomial_prediction_test.py
SiMohamedRachidi Oct 27, 2025
a085b55
add find_degree_of_specific_output_bit_wrt_cube_vars, find_cube_keyco…
shrawant Oct 28, 2025
d491b29
Add doc examples for find_degree_of_specific_output_bit_wrt_cube_vars…
shrawant Oct 28, 2025
d6b960b
Merge pull request #371 from Crypto-TII/feat/sat-impossible-xor-diffe…
peacker Oct 28, 2025
59c7ef4
Merge pull request #374 from Crypto-TII/reduce_tests_sizes_monomial_p…
peacker Oct 28, 2025
dd88f46
Add MANTIS block cipher implementation and test
davidGG271 Oct 29, 2025
393c7c9
Merge branch 'develop' into feat/mp_cube_keycoef_degree_verifier
SiMohamedRachidi Oct 29, 2025
7d28652
adding 3 new methods
SiMohamedRachidi Oct 29, 2025
2d01315
Merge pull request #376 from Crypto-TII/mantis-cipher-addition
peacker Oct 29, 2025
dbc6352
Add SKIPJACK block cipher implementation and test
rodyuzuriaga Oct 29, 2025
d53df9d
fix duplications
SiMohamedRachidi Oct 31, 2025
88be640
Merge branch 'develop' into feat/mp_cube_keycoef_degree_verifier
SiMohamedRachidi Oct 31, 2025
99bcb8b
Merge pull request #377 from Crypto-TII/feat/mp_cube_keycoef_degree_v…
peacker Oct 31, 2025
69350c4
Merge pull request #378 from Crypto-TII/FEATURE/add-skipjack-block-ci…
peacker Nov 3, 2025
0a31c86
Update CryptoMiniSat version
ale-depi Nov 14, 2025
47f42f4
Upgraing minizinc to version 2.9.4
juaninf Nov 18, 2025
603e80c
Upgrading minizinc to version 2.9.4
juaninf Nov 26, 2025
9d80f71
Skipping division trail search tests due Gurobi license
juaninf Dec 3, 2025
4ce04d2
Installing chromium-browser driver
juaninf Dec 3, 2025
3cc3757
Updating Dockerfile
juaninf Dec 3, 2025
0a8bcae
Fix CryptoMiniSat and related tools version
ale-depi Dec 3, 2025
93d38cb
Speed up report_test.py
juaninf Dec 5, 2025
a55e640
Use cached fixtures in report tests to avoid Kaleido/Sage setup
juaninf Dec 5, 2025
6870297
Monkeypatch Plotly in report and CDA tests to reuse cached fixtures w…
juaninf Dec 5, 2025
0fa7eea
Merging with develop
juaninf Dec 5, 2025
de071c1
Updating doctests to use new version of MiniZinc
juaninf Dec 5, 2025
128953e
Adding missing pytest import
juaninf Dec 5, 2025
2b60d8e
Removing tests/unit/cipher_modules/division_trail_search_test.py
juaninf Dec 5, 2025
781c611
Add Sonar coverage exclusion for Gurobi monomial_prediction
juaninf Dec 5, 2025
a28c875
Merge pull request #381 from Crypto-TII/fix/upgrade_minizinc
peacker Dec 5, 2025
89fe7f1
Merge branch develop into 379-bug-outdated-cryptominisat5
ale-depi Dec 8, 2025
287575d
Merge pull request #380 from Crypto-TII/379-bug-outdated-cryptominisat5
peacker Dec 9, 2025
7a43f96
Temp change
juaninf Dec 18, 2025
e426fa5
Temporary commit for cache
juaninf Dec 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 17 additions & 18 deletions .github/workflows/build-claasp-base-image.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ name: Build and push Intel and M1 images for testing
on:
push:
branches:
- main
- test_merging_main_to_develop

jobs:
build-image:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
os: [ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
Expand All @@ -20,14 +20,6 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-

- name: Login Docker Hub
uses: docker/login-action@v3
with:
Expand All @@ -41,12 +33,19 @@ jobs:
context: .
file: ./docker/Dockerfile
push: true
tags: ${{ matrix.os == 'ubuntu-latest' && 'tiicrc/claasp-base:latest' || 'tiicrc/claasp-m1-base:latest' }}
tags: tiicrc/claasp-base:latest1
target: claasp-base
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max

- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
cache-from: type=gha,scope=claasp-base
cache-to: type=gha,scope=claasp-base,mode=max

- name: Build & Push (m1)
uses: docker/build-push-action@v4
id: built-image-m1
with:
context: .
file: ./docker/Dockerfile
push: true
tags: tiicrc/claasp-m1-base:latest1
target: claasp-base
cache-from: type=gha,scope=claasp-base-m1
cache-to: type=gha,scope=claasp-base-m1,mode=max
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,9 @@ local/
upstream/

SAGE_BIN_PATH

# experiments codes
diff_ca_kalyna.py
diff_ca_sm4.py
diff_ca_sm4_2.py
output_kalyna.txt
7 changes: 3 additions & 4 deletions claasp/DTOs/component_state.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# ****************************************************************************
# Copyright 2023 Technology Innovation Institute
#
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# ****************************************************************************
Expand Down
8 changes: 3 additions & 5 deletions claasp/DTOs/power_of_2_word_based_dto.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@

# ****************************************************************************
# Copyright 2023 Technology Innovation Institute
#
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# ****************************************************************************


class PowerOf2WordBasedDTO:

def __init__(self, word_size=None, fixed=False):
self._word_size = word_size
self._fixed = fixed
Expand Down
Loading
Loading