8000 GitHub - hplp/CryptoPUF
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

hplp/CryptoPUF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CryptoPUF: A Lightweight and ML-Resilient Strong PUF Based on a Weak PUF and Crypto Core

CryptoPUF is a lightweight, machine-learning-resilient Physically Unclonable Function (PUF) implementation designed for secure, efficient authentication/encryption. By combining a weak PUF (DD-PUF) with a cryptographic encryption core (TinyJAMBU), CryptoPUF provides improved resistance against machine learning attacks and is optimized for low-power IoT and edge devices.

Features

  • Lightweight Design: Combines a weak PUF (e.g. DD-PUF) with a crypto core (e.g. TinyJAMBU) to offer security in hardware-constrained environments.
  • Machine Learning Resilience: Integrates a cryptographic core to reduce vulnerability to ML-based attacks.
  • Configurable Challenge-Response Pairs (CRPs): Supports customizable CRP generation and testing.
  • Extensibility: Allows users to support new cryptographic algorithms by adding a subfolder under crypto with the defined encryption function. (TinyJAMBU can be used as a template example).

Installation

Prerequisites

  • Python 3.7+
  • Required packages: numpy, scikit-learn, matplotlib

Steps

  1. Clone the repository:

    git clone https://github.com/hplp/CryptoPUF
    cd CryptoPUF
  2. Run the example Jupyter notebooks

    You can explore the included notebooks to see how to model a CryptoPUF and evaluate its resilience to various ML attacks.

  3. Extensible Cryptographic Core

The CryptoPUF implementation is designed to allow easy integration of different cryptographic cores. The crypto_functions dictionary in crypto/cryptopuf.py maps each crypto core name to its corresponding encryption function, enabling you to add and configure new cryptographic algorithms simply by updating this dictionary. By default, it supports TinyJAMBU, but other cryptographic functions can be added as needed.

  1. Paper Results The code to reproduce results for the CryptoPUF paper is available at CryptoPUF Results Repository.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0