This project is a cryptographic library implementing various Message Authentication Code (MAC) algorithms. It provides secure and efficient ways to verify data integrity and authenticity. It includes the implementation of various cryptographic algorithms, including Poly1305, SipHash, ASCON, BLAKE3, Chaskey, and AES-CMAC for performance and security benchmarking.
The goal is to evaluate the security, energy efficiency, memory usage, and throughput of these algorithms in embedded platforms as potential cryptographic solutions for modern vehicles' Electronic Control Units (ECUs).
- Poly1305 – Authenticated encryption.
- SipHash – Optimized for short messages.
- ASCON – Lightweight cryptographic algorithm (NIST candidate).
- BLAKE3 – High-speed cryptographic hash function.
- Chaskey – Lightweight MAC algorithm.
- AES-CMAC – AES-based MAC leveraging existing hardware acceleration.
- KMAC – MAC function based on the Keccak family.
- CMake: Ensure CMake is installed for building the project.
- GCC/Clang: Ensure you have a C compiler (GCC or Clang).
- Libsodium: Used for some cryptographic operations
- OpenSSL: Used for some cryptographic operations
To start, clone the repository:
git clone https://github.com/FrancescaCapra/mac_algorithms.git
cd mac_algorithms- ASCON: For the cryptographic algorithm and its implementation.
- Libsodium: For cryptographic primitives used in reference.
- Raspberry Pi: For the embedded platform where benchmarking is performed.