Commit Graph

18 Commits

Author SHA1 Message Date
46a47102b9
feat(factory): add cipher/algorithm helper functions 2025-11-24 12:02:22 +02:00
051bba33a8
feat(cli): add AES to cli app 2025-11-24 11:23:37 +02:00
a8ccd3d294
refactor(aes): operate on custom values 2025-11-24 10:48:27 +02:00
37f8a97a11
refactor(aes): move to operations module 2025-11-24 08:50:22 +02:00
505cc8b08e
feat(aes): Add SubkeyChunks and SubkeyChunksRev iterators to Subkeys
- Implements `chunks()` returning iterator over 4-element subkey arrays.
- Implements `chunks_rev()` returning reverse iterator for decryption.
- Enables cipher rounds to iterate over round keys sequentially and in reverse.
2025-11-24 08:50:22 +02:00
dae5b69966
feat(aes): Add missing transformation methods to Block128 2025-11-24 08:50:22 +02:00
830c457b2a
feat(aes): Implement transform_impl with encryption and decryption rounds
- Implements core `transform_impl` handling both Encrypt and Decrypt actions.
- Implements 10-round AES encryption (standard rounds + final round).
- Implements 10-round AES decryption (inverse rounds + final inverse round).
- Adds `add_round_key` helper to XOR state with subkey block.
2025-11-24 08:50:22 +02:00
fc3eadcf3b
feat(aes): Implement InvShiftRows and InvMixColumns transformations
- Implements `inv_shift_rows` performing cyclic right shifts on state rows.
- Implements `inv_mix_columns` using inverse Galois Field matrix multiplication.
- Adds unit tests verifying inverse transformations are true inverses.
2025-11-24 08:50:22 +02:00
70a0e183b5
feat(aes): Implement ShiftRows and MixColumns transformations
- Implements `shift_rows` performing cyclic shifts on the state matrix rows.
- Implements `mix_columns` using Galois Field matrix multiplication.
- Adds `gmul` and `xtime` const helpers for GF(2^8) arithmetic.
- Adds unit tests verifying transformations against FIPS-197 vectors.
2025-11-24 08:50:22 +02:00
3de3440f16
feat(aes): add inverse SBox lookup 2025-11-24 08:50:22 +02:00
b2c5209214
feat(aes): add substitute bytes 2025-11-24 08:50:22 +02:00
7e5162fb44
feat(aes): add round key 2025-11-24 08:50:22 +02:00
4007a9a04d
fix: clippy warnings 2025-11-24 08:50:22 +02:00
bf6ae712a7
feat(aes): generate subkeys 2025-11-24 08:50:22 +02:00
88328256b3
feat(aes): add subkey blanket 2025-11-24 08:50:22 +02:00
8b80e17f82
feat(aes): add 128 bit key and block 2025-11-24 08:50:22 +02:00
27b31d1fcc
refactor: update error methods 2025-10-13 15:02:34 +03:00
cb8128addf
Initial commit 2025-10-13 12:49:49 +03:00