hashlag
|
72e4803939
|
Branchless: Introduce TrueMask and FalseMask constants.
|
2026-08-30 01:48:58 +03:00 |
|
hashlag
|
1386caba9f
|
Branchless: Rename Msb() --> MsbMask().
Chaos Ci / test (push) Successful in 3m33s
Chaos Ci / benchmark (push) Successful in 1m54s
|
2026-08-17 03:13:55 +03:00 |
|
hashlag
|
8adc867a2e
|
PadderIso7816: Do not allow to pad empty ranges.
Chaos Ci / test (push) Successful in 2m39s
Chaos Ci / benchmark (push) Successful in 1m50s
|
2026-08-13 01:22:14 +03:00 |
|
hashlag
|
ac122f0f9f
|
Implement unpad for ISO 7816 padding.
Chaos Ci / test (push) Successful in 3m11s
Chaos Ci / benchmark (push) Successful in 1m52s
|
2026-08-13 00:31:40 +03:00 |
|
hashlag
|
a44d537779
|
Replace sprintf with snprintf.
Chaos Ci / test (push) Successful in 2m57s
Chaos Ci / benchmark (push) Successful in 1m47s
|
2026-08-04 00:40:53 +03:00 |
|
hashlag
|
d894cffa04
|
Fix sprintf arguments formatting.
|
2026-08-04 00:28:12 +03:00 |
|
hashlag
|
8ff1e4b369
|
PadderPkcs7: Do not allow to pad empty ranges.
Chaos Ci / test (push) Successful in 3m2s
Chaos Ci / benchmark (push) Successful in 1m50s
|
2026-08-03 02:39:44 +03:00 |
|
hashlag
|
d2c5cf891d
|
Move branchless functions to a dedicated file.
|
2026-08-03 02:18:31 +03:00 |
|
hashlag
|
8b9b67aa0c
|
Merge branch 'dm-reorder'
Chaos Ci / test (push) Successful in 3m18s
Chaos Ci / benchmark (push) Successful in 2m0s
Reorder data members of some entities to mitigate performance issues on
ARM.
|
2026-07-31 02:07:51 +03:00 |
|
hashlag
|
9af2249547
|
EcbMode: Rename PreviousBlock_ --> LastBlock_.
Chaos Ci / test (push) Successful in 2m54s
Chaos Ci / benchmark (push) Successful in 1m56s
|
2026-07-30 01:21:41 +03:00 |
|
hashlag
|
192cd67deb
|
EcbMode: Optimize data management on decryption hotpath.
|
2026-07-30 01:17:47 +03:00 |
|
hashlag
|
c9a262bac4
|
EcbMode: Inline the DelayedFlush() method.
|
2026-07-30 01:06:21 +03:00 |
|
hashlag
|
6ae4df4bfc
|
Add ECB-mode decryptor draft implementation.
Chaos Ci / test (push) Successful in 2m59s
Chaos Ci / benchmark (push) Successful in 1m31s
|
2026-07-29 02:25:51 +03:00 |
|
hashlag
|
78ab3a8c27
|
Add copy assignment operator for SeArray.
Chaos Ci / test (push) Successful in 3m2s
Chaos Ci / benchmark (push) Successful in 1m53s
|
2026-07-26 19:03:54 +03:00 |
|
hashlag
|
242a35bd96
|
Implement unpad for PKCS#7 padding.
Chaos Ci / test (push) Successful in 3m4s
Chaos Ci / benchmark (push) Successful in 1m54s
|
2026-07-20 03:08:21 +03:00 |
|
hashlag
|
34b19434a1
|
Fix missing includes.
|
2026-07-20 03:08:21 +03:00 |
|
hashlag
|
809d243d38
|
Remove trailing whitespace.
|
2026-07-06 04:18:50 +03:00 |
|
hashlag
|
bea8a84a4f
|
Add ECB-mode encryptor draft implementation.
Chaos Ci / test-and-benchmark (push) Successful in 4m16s
|
2026-07-05 21:34:36 +03:00 |
|
hashlag
|
6c5a12f339
|
Standartize block cipher's inner encryptor/decryptor class names.
Chaos Ci / test-and-benchmark (push) Successful in 2m43s
|
2026-06-22 02:02:44 +03:00 |
|
hashlag
|
eb3da5ff75
|
Add ISO/IEC 7816-4 padding implementation.
Chaos Ci / test-and-benchmark (push) Successful in 2m8s
|
2026-06-18 01:28:38 +03:00 |
|
hashlag
|
47b8248586
|
Fix exception message. Mentioned class was renamed.
Chaos Ci / test-and-benchmark (push) Successful in 2m7s
|
2026-03-23 00:14:04 +03:00 |
|
hashlag
|
6998d81e98
|
Fix compilation with apple clang.
Chaos Ci / test-and-benchmark (push) Successful in 2m17s
Provide the template parameter for std::min<> explicitly. :)
|
2026-03-23 00:00:59 +03:00 |
|
hashlag
|
797a5428cc
|
Add Padder<>. A CRTP base for padding algorithms.
Chaos Ci / test-and-benchmark (push) Successful in 1m59s
|
2026-02-08 23:44:51 +03:00 |
|
hashlag
|
5baede0a1d
|
Rename PadPkcs7 --> PadderPkcs7.
|
2026-02-08 23:31:24 +03:00 |
|
hashlag
|
2a3185406b
|
Add PKCS#7 padding implementation.
Chaos Ci / test-and-benchmark (push) Successful in 1m58s
|
2026-02-08 23:05:57 +03:00 |
|
hashlag
|
0647a7c3dc
|
DesEncryptor/DesDecryptor: expose key type.
Chaos Ci / test-and-benchmark (push) Successful in 1m57s
|
2026-02-08 02:57:00 +03:00 |
|
hashlag
|
151c93560c
|
Expose DES key size through DesCrypt, DesCrypt::Encryptor, DesCrypt::Decryptor.
|
2026-02-07 18:02:27 +03:00 |
|
hashlag
|
3059bd4c66
|
Make SeArray::Size() static.
|
2026-02-07 17:54:37 +03:00 |
|
hashlag
|
65eb51c133
|
Remove unused CrunchUInt64() overload.
Chaos Ci / test-and-benchmark (push) Successful in 1m57s
|
2026-02-04 23:47:45 +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.
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.
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.
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.
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
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
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
|
0ca97cc336
|
Use DesCrypt::Block type alias in EncryptBlock()/DecryptBlock() signatures
ChaosTest CI / build-and-test (push) Successful in 35s
|
2026-01-24 23:53:04 +03:00 |
|
hashlag
|
e8d0b93c5e
|
Overload DecryptBlock() for the whole block as UInt64
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
ChaosTest CI / build-and-test (push) Successful in 41s
|
2026-01-23 22:22:28 +03:00 |
|
hashlag
|
5fd92e0c9d
|
Fix long statement formatting
|
2026-01-23 21:32:57 +03:00 |
|
hashlag
|
da5eaff182
|
Introduce stateful DesCrypt::Encryptor class, remove static DesCrypt::EncryptBlock()
|
2026-01-23 21:31:04 +03:00 |
|
hashlag
|
3a2a665031
|
Fix a layering issue: private EncryptBlock() should use a private key representation
|
2026-01-22 22:36:14 +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
ChaosTest CI / build-and-test (push) Successful in 38s
|
2026-01-19 02:30:06 +03:00 |
|
hashlag
|
d63855a505
|
Add Bitwise::PackUInt64(<...>) utility function
|
2026-01-15 03:14:45 +03:00 |
|
hashlag
|
51c2da1e48
|
Explicitly #include <utility> in DesCrypt.hpp (std::pair<> used)
|
2026-01-14 01:33:35 +03:00 |
|