Paranoid_crypto is a library that detects well-known and unknown weaknesses in cryptographic artifacts such as keys, signatures, and random numbers.
Paranoid's library contains implementations of checks for well known weaknesses on cryptographic artifacts.
This tool is used to analyze cryptographic artifacts to identify vulnerabilities, especially those generated by third-party or black-box hardware and software where source code is unavailable. Security researchers, cryptographers, and organizations aiming to validate the strength of cryptographic material would use this library to increase confidence in cryptographic implementations.
Requires Python 3.11 or newer and several system dependencies including pybind11, fpylll, and gmpy2. Primarily designed for use on Debian stable (bookworm) but should work on similar Linux distributions. The project is actively evolving and encourages community feedback to improve detection of weak cryptographic implementations.
git clone https://github.com/google/paranoid_crypto.git && cd paranoid_crypto
sudo apt update && sudo apt install python3 python3-full python3-pip python3-pybind11 python3-fpylll python3-gmpy2 protobuf-compiler
python3 -m venv --system-site-packages ~/paranoid-venv
source ~/paranoid-venv/bin/activate
pip install -r requirements.txt (implied from typical Python projects, not explicitly stated but likely needed)
python3 examples/example_test.py
Run example scripts demonstrating how to test different cryptographic artifacts
pytest *test.py
Run unit tests to verify implemented checks and functionality