Skip to content

Cryptography Analysis

Security Algorithms

A framework for measuring and comparing the computational performance and memory footprint of various cryptographic schemes, including Elliptic Curve Cryptography (ECC), Key Encapsulation Mechanisms (KEM), and RSA.

The project provides tools to benchmark several categories of cryptographic algorithms:

ECC

Elliptic Curve Cryptography performance metrics across different curves (e.g., secp224r1).

KEM

Key Encapsulation Mechanisms evaluation for secure key exchange.

RSA

Comparison of classic RSA performance with modern alternatives.

Signatures

Efficiency analysis of digital signature schemes.

For each algorithm, the framework tracks two primary categories of data:

  • Virtual Memory (VmSize): Total virtual memory allocated by the process.
  • Resident Set Size (RSS): Actual physical memory occupied by the process.
  • Measurements are taken at key stages: initialization, key generation, operation (encryption/signing), and verification.
  • Precise timing of core cryptographic operations.
  • Multiple runs are conducted to ensure statistical significance and identify outliers.
  • C-based Tooling: The core measurement logic is implemented in C for low-level access to system metrics.
  • System Calls: Uses Linux-specific process information to extract memory statistics accurately.
  • measure_performance.c: Core logic for tracking time and memory.
  • utils.c: Helper functions for cryptographic setup and data management.
  1. Build the analyzer

    Terminal window
    cmake .
    make
  2. Run Benchmarks Execute the generated benchmark tools for specific algorithms to generate performance reports.