Skip to content

Computational Energy Usage Testing Tool

crt26 edited this page Oct 19, 2026 · 2 revisions

Tool Developer Overview

The computational energy usage testing tool provides a means of evaluating the energy usage of the cryptographic operations of the various PQC algorithms supported by the PQC-LEO framework. It utilises the PQC implementations available within the Liboqs library and the controller API functions included within the energy usage collector tool to perform the energy usage testing.

The tool consists of the following source files:

  • comp_energy_tester.h
  • comp_energy_tester.c

To be compiled it relies on the following libraries:

  • liboqs
  • libcontroller_api.a
  • libmeter_api.a
  • OpenSSL
  • libserialport

The libcontroller_api.a and libmeter_api.a libraries are produced by the energy usage collector tool. Both energy tools use the OpenSSL installation selected during setup; see OpenSSL Compatibility for Energy Tools for compatibility and linking requirements.

Detailed usage instructions for the computational energy usage testing tool can be found in the wiki page:

Computational Energy Usage Testing Guide

comp_energy_tester.h

This header file contains the function declarations for the computational energy usage testing tool, as well as the necessary includes and definitions required for the implementation of the tool. The functions declared are only used within the comp_energy_tester.c source file, and are not intended to be used outside of the context of the computational energy usage testing tool.

comp_energy_tester.c

This program implements the PQC-LEO computational energy usage benchmarking tool. It configures the control channel to the energy collector, gathers test run options from the user, performs a baseline measurement, and executes KEM and signature benchmarking loops across the available liboqs algorithms. During execution, it coordinates GETREADY, START, and STOP control messaging for each test phase and manages Liboqs initialisation and shutdown.

The program accepts the following command line arguments:

Argument Shorthand Argument Longhand Functionality
-c --use-custom-net-control-ports Use custom network control ports for energy testing control signalling
-b <TIME> --energy-baseline-duration=<TIME> Set the energy baseline measurement duration in positive whole seconds (default: 60 seconds)
-s --skip-welcome-message Skip the welcome message on startup (useful for automated calling of the script)
-h --help Display the help message

Wiki Contents

General Information

Installation Guides

Automated Testing Guides

Result Parsing Guides

Supported Cryptographic Algorithms

Project Tools Usage Guides

Developer Information

Clone this wiki locally