Commit Graph

11 Commits

Author SHA1 Message Date
454d1d6011
feat(aes): add AES-CBC mode implementation
Add AesCbc struct with:
    - CBC mode encryption with PKCS#7 padding
    - CBC mode decryption with padding validation
    - XOR chaining with IV for first block
    - Expose encrypt_block/decrypt_block as pub(crate)
2025-12-31 00:58:49 +02:00
dd691cfa18
feat(cipher-core): add PKCS#7 padding support
Add pkcs7_pad and pkcs7_unpad functions for block cipher modes:
    - Pad data to block size multiples with N bytes of value N
    - Validate and remove padding on decryption
    - Add InvalidPadding variant to CipherError
2025-12-31 00:48:49 +02:00
f4480ba218
feat(aes): add IV (Initialization Vector) type for CBC mode
Add 128-bit IV type using secret_block! macro with:
    - Parsing from hex/binary/ASCII strings
    - Conversions to/from Block128 for XOR operations
    - Big-endian byte array conversions
2025-12-31 00:45:26 +02:00
dd07a1d29b
docs(aes,des): add crate documentation and improve re-exports
Add crate-level doc comments with usage examples. Export additional
types for library users:
    - aes: Block32 (32-bit word type)
    - des: LR (Feistel round state)
2025-12-31 00:18:24 +02:00
656e112d9f
chore(aes): remove unused function 2025-12-30 23:48:38 +02:00
37f8a97a11
refactor(aes): move to operations module 2025-11-24 08:50:22 +02:00
b2c5209214
feat(aes): add substitute bytes 2025-11-24 08:50:22 +02:00
bf6ae712a7
feat(aes): generate subkeys 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