International Association for Cryptologic Research

International Association
for Cryptologic Research

EUROCRYPT 2025

Committing Authenticated Encryption: Generic Transforms with Hash Functions


README

Artifact for EUROCRYPT'25 Paper "Committing Authenticated Encryption: Generic Transforms with Hash Functions"

This is the artifact for EUROCRYPT'25 Paper titled "Committing Authenticated Encryption: Generic Transforms with Hash Functions" (ePrint) by Shan Chen and Vukašin Karadžić. The artifact contains implementation of some generic transforms (some are original to our work, some are from previous work by other authors) in OpenSSL and wolfSSL libraries. In addition, it contains Dockerfiles used to build Docker images that have all dependencies and C executable installed. Finally, we also provide Python script that runs benchmark over our implementations to measure and compare the encryption speeds, and another Python script that builds two standalone TeX files (containing plot drawn in TiKZ) which can be compiled to PDFs containing figures that nicely visualize the speed comparison.

Building and running the artifact requires that the Docker tool, python3, as well as cpupower Linux command, are set up on the host machine. Installing those three (in case they are not already part of your Linux distribution) is plain and simple following instructions from the internet, we omit them for clarity of this artifact.

Structure

Setting Up and Running the Tests

To get more "precise" results (without the small overhead of running Docker container), one can follow the steps from Dockerfiles and install dependencies on host machine, as well as compiling the C executable and running Python scripts on the host machine.

Benchmarking OpenSSL Implementations

Benchmarking wolfSSL Implementations

Extracting the Results

Disclaimer

This code is provided for research and evaluation purposes only. As such, this code is provided "as is", without warranty of any kind. The code should not be used in production directly.