Skip to content

FrancescaCapra/mac-algorithms-benchmark

Repository files navigation

Mac Algorithms Implementation for Embedded Systems

Project Overview

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).

Algorithms Implemented

  • 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.

Setup and Installation

Prerequisites

  1. CMake: Ensure CMake is installed for building the project.
  2. GCC/Clang: Ensure you have a C compiler (GCC or Clang).
  3. Libsodium: Used for some cryptographic operations
  4. OpenSSL: Used for some cryptographic operations

Clone the Repository

To start, clone the repository:

git clone https://github.com/FrancescaCapra/mac_algorithms.git
cd mac_algorithms

Acknowledgements

  • 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.

About

mac algorithms benchmarking

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors