Commit Graph
120 Commits
Author SHA1 Message Date
hashlag 16385e93e0 Arc4Gen: store the lookup table in SeArray.
Chaos Ci / test (push) Successful in 3m5s
Chaos Ci / benchmark (push) Successful in 1m25s
2026-09-21 00:17:48 +03:00
hashlag eed5bb2649 Remove redundant IsInitialized_ state from Arc4Crypt.
Chaos Ci / test (push) Successful in 3m5s
Chaos Ci / benchmark (push) Successful in 1m29s
2026-09-20 22:44:10 +03:00
hashlag 11834e9e91 Arc4Gen: add IsInitialized() method. 2026-09-20 21:13:30 +03:00
hashlag 58718b3b0a Fix a logical bug where Arc4Crypt was left in invalid state after a
failed Rekey() call.
2026-09-20 20:40:55 +03:00
hashlag aefa68f118 Fix a logical bug where Arc4Gen was left in invalid state after a failed
Chaos Ci / test (push) Successful in 3m7s
Chaos Ci / benchmark (push) Successful in 1m26s
Rekey() call.
2026-09-20 01:36:19 +03:00
hashlag 894f41fa57 Rename concept Encryptor --> BlockEncryptor.
Chaos Ci / benchmark (push) Successful in 1m26s
Chaos Ci / test (push) Successful in 3m14s
2026-09-19 18:33:52 +03:00
hashlag d918e998d1 Rename concept Decryptor --> BlockDecryptor. 2026-09-19 18:01:13 +03:00
hashlag 0394c42238 Rename concept Key –> BlockKey. 2026-09-19 17:55:09 +03:00
hashlag 611ffa2222 Rename concept Cipher --> BlockCipher.
Chaos Ci / test (push) Successful in 3m12s
Chaos Ci / benchmark (push) Successful in 1m26s
2026-09-19 01:45:37 +03:00
hashlag d0b8cbe2ef Move Arc4 to the new Cipher/Stream subdirectory.
Chaos Ci / test (push) Successful in 3m8s
Chaos Ci / benchmark (push) Successful in 1m27s
2026-09-13 17:38:51 +03:00
hashlag c51a22646f EcbMode: require concept Cipher.
Chaos Ci / test (push) Successful in 3m1s
Chaos Ci / benchmark (push) Successful in 1m26s
2026-09-13 01:36:39 +03:00
hashlag cc7c8e1e55 Introduce concept Cipher. 2026-09-13 01:32:59 +03:00
hashlag c9e90e4d0d Introduce concept Key. 2026-09-13 01:14:41 +03:00
hashlag cb03a5db25 EcbMode: require concept Padder. 2026-09-13 00:59:43 +03:00
hashlag e328249a6d Rename Hasher::BlockSizeBytes –> BlockSize.
Chaos Ci / test (push) Successful in 2m57s
Chaos Ci / benchmark (push) Successful in 1m24s
2026-09-13 00:51:20 +03:00
hashlag 6efa81f315 Rename Hasher::BLOCK_SIZE_BYTES --> BlockSizeBytes. 2026-09-13 00:45:39 +03:00
hashlag a070a0c343 Update concept Hasher: require T::BLOCK_SIZE_BYTES to be a constant
Chaos Ci / test (push) Successful in 3m13s
Chaos Ci / benchmark (push) Successful in 1m29s
expression.
2026-09-12 03:11:05 +03:00
hashlag ba87a7d149 Update concept Decryptor: require T::BlockSize and T::KeySize to be
constant expressions.
2026-09-12 03:02:03 +03:00
hashlag 84e9068655 Adjust concept Encryptor formatting. 2026-09-12 02:59:45 +03:00
hashlag 4e28752614 Update concept Encryptor: require T::BlockSize and T::KeySize to be
constant expressions.
2026-09-12 02:58:05 +03:00
hashlag 97aeb229ad Update concept Hasher: require T::BLOCK_SIZE_BYTES. 2026-09-12 02:49:12 +03:00
hashlag cb8b6ceeb8 Update concept Hasher: require T::HashType inner type. 2026-09-12 02:39:44 +03:00
hashlag 0f41687ea6 Update concept Decryptor: require const methods. 2026-09-12 02:34:41 +03:00
hashlag a015fbe673 Update concept Encryptor: require const methods. 2026-09-12 02:34:00 +03:00
hashlag 134ef3dd4e Update concept Hash: require const methods. 2026-09-12 02:33:20 +03:00
hashlag 3dacd57fef Replace Decryptor CRTP base with a concept.
Chaos Ci / test (push) Successful in 3m4s
Chaos Ci / benchmark (push) Successful in 1m31s
2026-09-06 02:45:45 +03:00
hashlag 2c6a24197a Replace Encryptor CRTP base with a concept.
Chaos Ci / test (push) Successful in 5m6s
Chaos Ci / benchmark (push) Successful in 1m29s
2026-09-06 02:27:35 +03:00
hashlag f0228877b4 DesCrypt: Expose Block type in Encryptor and Decryptor. 2026-09-06 01:05:15 +03:00
hashlag 1c341c6888 Replace Padder CRTP base with a concept.
Chaos Ci / test (push) Successful in 3m1s
Chaos Ci / benchmark (push) Successful in 1m51s
2026-09-01 00:43:27 +03:00
hashlag 7d028cce66 SeArray: Replace enable_if with a concept.
Chaos Ci / test (push) Successful in 3m28s
Chaos Ci / benchmark (push) Successful in 1m52s
2026-08-31 01:32:52 +03:00
hashlag b03fddd40b Replace Hasher CRTP base with a concept.
Chaos Ci / test (push) Successful in 3m17s
Chaos Ci / benchmark (push) Successful in 1m54s
2026-08-31 01:22:07 +03:00
hashlag 2f1b5091cd Replace Hash CRTP base with a concept. 2026-08-31 00:05:18 +03:00
hashlag 7e82f3d01a Branchless: Introduce ToBool(). 2026-08-30 01:51:19 +03:00
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