Commit Graph

151 Commits

Author SHA1 Message Date
hashlag
a0f17ea127 Decryptor: Require end of the output span to be indicated explicitly.
Usage becomes much less error-prone.
2026-02-02 01:10:22 +03:00
hashlag
67709e5361 Encryptor: Require end of the output span to be indicated explicitly.
Usage becomes much less error-prone.
2026-02-02 00:52:08 +03:00
hashlag
d194fef1af Mark all Block::Decryptor<> methods const.
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m42s
This allows for convenient usage of const Decryptor<Impl> &.
2026-02-01 00:24:50 +03:00
hashlag
cdcab2f4f7 Mark all Block::Encryptor<> methods const.
This allows for convenient usage of const Encryptor<Impl> &.
2026-01-31 23:56:25 +03:00
hashlag
a97826da88 Expose block sizes of block ciphers.
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m45s
Both via static data members and Encryptor/Decryptor interfaces.
Crucial for safe memory allocation routine.
2026-01-31 19:26:51 +03:00
hashlag
8897d7a910 Merge branch 'block-cipher'
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m43s
Introduce fixed CRTP interfaces for block cipher
encryption and decryption.
2026-01-31 18:50:10 +03:00
hashlag
73c455901b Introduce Block::Decryptor<> CRTP base class.
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m43s
Inherit DesDecryptor from it.
2026-01-31 18:35:23 +03:00
hashlag
4cf79b61ad Introduce Block::Encryptor<> CRTP base class.
Inherit DesEncryptor from it.
2026-01-31 18:12:43 +03:00
hashlag
ba70abd2af Rename DesCrypt::Encryptor --> DesEncryptor, DesCrypt::Decryptor --> DesDecryptor.
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m43s
Maintain naming consistency with Hash subproject.
2026-01-31 17:22:14 +03:00
hashlag
9a3b6edfc3 Rename DesCrypt::Encryptor --> DesEncryptor, DesCrypt::Decryptor --> DesDecryptor.
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m46s
Maintain naming consistency with Hash subproject.
2026-01-31 17:18:25 +03:00
hashlag
3c98b75986 Create dedicated Cipher/Block directory for block ciphers
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m41s
Move Des there.
2026-01-30 01:01:48 +03:00
hashlag
b5d1f9a6fc Make CRTP base classes ctors protected
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m39s
This forbids to create base class instances which direct usage could lead to UB.
2026-01-30 00:44:24 +03:00
hashlag
2c9200ab21 Merge branch 'mac-bench'
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m44s
Add benchmarks for MAC algorithms.
2026-01-29 23:43:28 +03:00
hashlag
6246bf4538 Add HmacSha1_PartialUpdate100Bench 2026-01-29 23:40:39 +03:00
hashlag
78c59dc668 Add HmacSha1_ReuseBench 2026-01-29 23:39:00 +03:00
hashlag
d4fa11795b Add HmacSha1_CreateComputeDeleteBench 2026-01-29 23:38:22 +03:00
hashlag
3780586e63 Add HmacMd5_PartialUpdate100Bench 2026-01-29 23:34:53 +03:00
hashlag
cc9963f1ca Add HmacMd5_ReuseBench 2026-01-29 23:34:20 +03:00
hashlag
05533e7c6b Add HmacMd5_CreateComputeDeleteBench 2026-01-29 23:33:45 +03:00
hashlag
961a521c57 Add HmacBenches.cpp to ChaosBenches_SOURCE 2026-01-29 23:31:15 +03:00
hashlag
029055f9a3 Add HmacMd4_PartialUpdate100Bench 2026-01-29 23:30:16 +03:00
hashlag
b5f86b5633 Add HmacMd4_ReuseBench 2026-01-29 23:29:33 +03:00
hashlag
0bc29c86e5 Add HmacMd4_CreateComputeDeleteBench 2026-01-29 23:16:07 +03:00
hashlag
11561c9379 ChaosCi.yaml: fix directory path style
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m32s
2026-01-29 01:29:52 +03:00
hashlag
b7a31b44df Configure retention policy for coverage reports
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m32s
2026-01-29 00:42:20 +03:00
hashlag
4ae55f93fc Sha1HasherTests: Add a longer than 56 (mod 64) byte message testcase
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m30s
2026-01-29 00:28:16 +03:00
hashlag
8eb0c6ab12 Md5HasherTests: Add an exactly 56 byte message testcase
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m34s
2026-01-29 00:18:26 +03:00
hashlag
90c44f5305 Md4HasherTests: Add an exactly 56 byte message testcase.
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m34s
2026-01-29 00:10:49 +03:00
hashlag
cd6014d8c0 Merge branch 'tgt-builds'
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m33s
Optimize CI by not building unused binaries.
2026-01-28 23:29:57 +03:00
hashlag
0a8b79cd09 Make CI not to build currently unused targets:
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m36s
ChaosTests in Release and ChaosBenches in Debug.
2026-01-28 23:24:12 +03:00
hashlag
0c3ce4af8d Merge branch 'lcov-report-ci'
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 2m24s
Add coverage report generation to the CI workflow.
2026-01-28 23:15:42 +03:00
hashlag
01d7d19ee6 Remove lcov --ignore-errors flag.
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 2m28s
2026-01-28 23:06:47 +03:00
hashlag
612b11b02f Run lcov with proper --exclude flags to eliminate unwanted coverage data generation
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 2m30s
2026-01-28 22:59:55 +03:00
hashlag
15bb663281 Revert "Run lcov with --no-external flag set"
Library headers are considered externals in this case.

This reverts commit 9a764c06db.
2026-01-28 22:51:38 +03:00
hashlag
9a764c06db Run lcov with --no-external flag set
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 2m32s
2026-01-28 22:45:09 +03:00
hashlag
b02685d29f Give the upload-artifact step a proper name
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 2m26s
2026-01-28 02:25:44 +03:00
hashlag
1a999a7dd3 Downgrade to actions/upload-artifact@v3
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 2m37s
2026-01-28 02:18:02 +03:00
hashlag
18bcd87f81 Ignore lcov mismatch errors
Some checks failed
Chaos Ci / test-and-benchmark (push) Failing after 2m23s
2026-01-28 02:11:07 +03:00
hashlag
07663decf9 ChaosCi: Report coverage via lcov + genhtml
Some checks failed
Chaos Ci / test-and-benchmark (push) Failing after 2m31s
2026-01-28 02:05:36 +03:00
hashlag
2a5a2c96b5 ChaosTests: Build with --coverage in Debug 2026-01-28 02:04:17 +03:00
hashlag
d0e7d2b0ec Use self-hosted copies of dependencies distros
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 2m22s
2026-01-28 00:38:01 +03:00
hashlag
4e89b2fb05 Run tests under valgrind's memcheck
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 2m20s
2026-01-26 00:28:43 +03:00
hashlag
1e593ef703 Merge branch 'sha1bench'
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 2m9s
2026-01-25 19:17:51 +03:00
hashlag
9eb2a6bcde Add Sha1Hasher benchmarks 2026-01-25 19:17:16 +03:00
hashlag
85fe3cfe88 Refine benchmark names: use _ to highlight scope 2026-01-25 19:11:31 +03:00
hashlag
89991c21f5 Merge branch 'md5bench' 2026-01-25 19:09:17 +03:00
hashlag
d8c8fd0ce3 Add Md5Hasher benchmarks 2026-01-25 19:08:57 +03:00
hashlag
5ec6fc2f20 Add Md4HasherPartialUpdate100Bench 2026-01-25 18:55:51 +03:00
hashlag
512338df33 Add Md4HasherReuseBench 2026-01-25 18:45:38 +03:00
hashlag
bdd43d8fa2 Rename ChaosCI.yaml --> ChaosCi.yaml to match the project's abbreviation style
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 2m1s
2026-01-25 18:33:06 +03:00