https://github.com/jkmnt/tiny_eax_mode
Tiny EAX mode (auth + encryption), 128 and 64 bits
https://github.com/jkmnt/tiny_eax_mode
aead aes eax embedded encryption xtea
Last synced: 2 months ago
JSON representation
Tiny EAX mode (auth + encryption), 128 and 64 bits
- Host: GitHub
- URL: https://github.com/jkmnt/tiny_eax_mode
- Owner: jkmnt
- License: unlicense
- Created: 2021-11-24T11:53:00.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-12-08T15:21:32.000Z (almost 4 years ago)
- Last Synced: 2025-04-07T21:44:49.722Z (6 months ago)
- Topics: aead, aes, eax, embedded, encryption, xtea
- Language: C
- Homepage:
- Size: 2.52 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tiny EAX mode
This is the C-implementation of the EAX encryption and authentication mode.
Sometimes the standart way of AES + SHA1 HMAC is overkill and EAX mode may be a better option.
It uses the single encryption primitive and single key for both the privacy and authentication.
It's online, the message may be processed without knowing the lengh beforehand.
Additional aux data (message header) may be authenticated too.
(https://en.wikipedia.org/wiki/EAX_mode)This implementation is small, simple and targets 32-bit platforms.
The basic code is for the 128-bit block cipher, but the 64-bit variant is included too for the
specific cases there the simple oldschool 64-bit Feistel cipher would be good enough.Python encoder/decoder, C-decoder and test vectors inside.
The 128-bit demo (eax_aes_test.c) uses the AES-128.
The 64-bit demo (eax_xtea_test.c) uses the XTEA.