Sign inSign up

leonfullxr/ecc-benchmarks

By leonfullxr

•Updated 11 months ago

Image for RSA and ECC benchmarks & comparisons in C++ https://github.com/leonfullxr/ECC-Thesis

Image
Languages & frameworks
Developer tools
0

10K+

leonfullxr/ecc-benchmarks repository overview

This Docker repository provides a reproducible, self-contained Ubuntu 22.04 environment pre-loaded with all the tools and libraries necessary for developing and experimenting with elliptic‐curve cryptography (ECC), as part of a Bachelor’s Final Thesis at the University of Granada.

⁠🔖 Description

  • Purpose: Study and implementation of elliptic curves in cryptography—covering theoretical foundations, practical comparisons (RSA, discrete logarithm), quantum-resistance analysis, and interactive coding/visualization tools.

  • Dockerized Environment:

    • Base Image: ubuntu:22.04

    • Development Tools: build-essential, wget, tar, m4, libtool, autoconf, automake, pkg-config, CA certificates, Python 3 & pip

    • Mathematics Libraries:

      • GMP 6.3.0 (GNU Multiple Precision Arithmetic Library)
      • NTL 11.5.1 (Number Theory Library, linked against GMP)
    • Workspace: /workspace (default working directory; automatically added to PATH)

  • Use Cases:

    • Compile and run ECC algorithms.
    • Benchmark ECC vs. RSA/discrete-log.
    • Develop visualization tools (e.g., Jupyter notebooks, custom scripts).
    • Experiment with quantum-vulnerability scenarios.

⁠🏷️ Supported Tags

TagDescription
latestUbuntu 22.04 + GMP 6.3.0 + NTL 11.5.1
22.04-gmp6.3.0-ntl11.5.1Same as latest

⁠🚀 Quick Start

  1. Pull the image

    docker pull yourdockerhubusername/ecc-crypto:latest
    
  2. Run a container Mount your local project into the container’s /workspace and get a shell:

    docker run --rm -it \
      -v "$(pwd)":/workspace \
      yourdockerhubusername/ecc-crypto:latest \
      bash
    
  3. Build from source (if you cloned this repo locally)

    docker build -t yourdockerhubusername/ecc-crypto:latest .
    

⁠📦 What’s Inside?

  • Environment Variables

    • LD_LIBRARY_PATH=/usr/local/lib
    • DEBIAN_FRONTEND=noninteractive
    • PATH=/workspace/bin:$PATH
  • Installed Libraries

    • GMP 6.3.0

      • Downloaded from GNU FTP, built with ./configure --prefix=/usr/local
    • NTL 11.5.1

      • Configured to use GMP headers & libraries.
      • Loader forced to look in /usr/local/lib via -Wl,-rpath.
  • Cleanup

    • All build dependencies and caches removed to minimize image size.

⁠🛠️ Usage Examples

  • Compile an ECC demo

    cd /workspace
    make ecc_demo
    ./ecc_demo
    

Tag summary

Content type

Image

Digest

sha256:48bdb760d…

Size

373.8 MB

Last updated

11 months ago

docker pull leonfullxr/ecc-benchmarks