Commit Graph

54 Commits

Author SHA1 Message Date
hashlag
b34fda75ef DesCryptTests: IteratorUsage tests: Add testcases with begin == end.
All checks were successful
Chaos Ci / test-and-benchmark (push) Successful in 1m57s
2026-02-04 23:37:05 +03:00
hashlag
15d841893c IteratorUsage tests: Add some canary nulled space before begin.
Hardening against write-before-begin.
2026-02-04 23:31:14 +03:00
hashlag
1bf91a90d0 Add Arc4CryptTests, DecryptOutIteratorUsageTest.
Harden against past-the-end write.
2026-02-04 01:01:54 +03:00
hashlag
2d64389d66 Add Arc4CryptTests, EncryptOutIteratorUsageTest.
Harden against past-the-end write.
2026-02-04 00:43:40 +03:00
hashlag
ccdf14d31a Add Arc4GenTests, GenerateOutIteratorUsageTest.
Harden against past-the-end write.
2026-02-04 00:25:15 +03:00
hashlag
3de69d3298 Fix assertion style.
It should be expectation-first...
2026-02-02 01:15:38 +03:00
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
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
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
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
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
e8d0b93c5e Overload DecryptBlock() for the whole block as UInt64
All checks were successful
ChaosTest CI / build-and-test (push) Successful in 34s
2026-01-24 23:24:44 +03:00
hashlag
5a2d802a25 Overload EncryptBlock() for the whole block as UInt64 2026-01-24 23:14:03 +03:00
hashlag
15dd7398d2 Implement DES decryption
All checks were successful
ChaosTest CI / build-and-test (push) Successful in 41s
2026-01-23 22:22:28 +03:00
hashlag
da5eaff182 Introduce stateful DesCrypt::Encryptor class, remove static DesCrypt::EncryptBlock() 2026-01-23 21:31:04 +03:00
hashlag
fa042e7abf Rename RawKeyArray --> RawKey since it's not an 'array of raw keys' 2026-01-21 23:36:15 +03:00
hashlag
9e67a7e4f4 Add DES main algorithm draft implementation
All checks were successful
ChaosTest CI / build-and-test (push) Successful in 38s
2026-01-19 02:30:06 +03:00
hashlag
5e35462667 Add DES key schedule pre-draft implementation 2026-01-14 01:31:26 +03:00
hashlag
7f9430e0e6 Update HmacTests: add Sha1HmacTest
All checks were successful
ChaosTest CI / build-and-test (pull_request) Successful in 30s
ChaosTest CI / build-and-test (push) Successful in 31s
2026-01-06 04:30:07 +03:00
hashlag
fc2f100f0c Add SHA1 draft implementation
All checks were successful
ChaosTest CI / build-and-test (push) Successful in 34s
2026-01-06 04:13:31 +03:00
hashlag
2d8fd283f6 Arc4CryptTests: Remove unused U8VecToStr helper function 2025-09-17 00:27:44 +03:00
hashlag
59ffa0e30b Arc4CryptTests: Add rekey test 2025-09-17 00:25:18 +03:00
hashlag
bcd4cfe51e Arc4CryptTests: Add uninitialized use test 2025-09-17 00:03:39 +03:00
hashlag
e21e36db87 Add Arc4 cipher class draft implementation 2025-09-16 23:46:24 +03:00
hashlag
79a3b85903 Add SeArray<> draft implementation 2025-09-13 15:52:05 +03:00
hashlag
8843589950 Make Hmac rekey-initializable (like Arc4Gen) 2025-08-26 00:37:13 +03:00
hashlag
b0f5367085 Rename Arc4 PRNG .hpp file appropriately 2025-08-26 00:01:37 +03:00
hashlag
1e6d964d26 Introduce Cipher/Arc4 subdir 2025-08-25 23:55:57 +03:00
hashlag
e884ae7cd4 Add the Arc4 PRNG draft implementation 2025-08-25 00:20:45 +03:00
hashlag
7bb7e32be8 Fix multiple tests naming (make follow PascalCase) 2025-08-25 00:20:45 +03:00
hashlag
ad10b33a70 Create basic file structure for Arc4 implementation 2025-08-23 00:36:39 +03:00
hashlag
41b50e66c7 Organize tests tree similarly to main code 2025-08-23 00:24:53 +03:00
hashlag
3caa9be3e5 Add LongKeyTest for HMAC 2025-08-21 23:50:53 +03:00
hashlag
be03a5314c Add HMAC as per RFC 2104 draft implementation 2025-08-21 02:09:30 +03:00
hashlag
6c2feef644 Extract sources list for the test binary into a CMake variable 2025-08-17 17:24:26 +03:00
hashlag
74202c9256 Fetch googletest as .tar.gz with hardcoded hash check 2025-08-17 17:20:33 +03:00
hashlag
8f40c4fc05 Add ResetTest for Md5Hasher 2025-08-16 00:00:07 +03:00
hashlag
b565c39c7c Add ResetTest for Md4Hasher 2025-08-15 23:58:02 +03:00
hashlag
e6703e13af Rename subdir Chaos/Hashing --> Chaos/Hash 2025-08-15 23:01:51 +03:00
hashlag
3841242bdb Introduce a base class for hashes 2025-08-09 17:28:53 +03:00
hashlag
f19ea0bc1c Introduce a distinct class name for the MD5 Hasher 2025-08-09 16:58:02 +03:00