Pypuf
Cryptanalysis of Physically Unclonable Functions
Install / Use
/learn @nils-wisiol/PypufREADME
pypuf: Cryptanalysis of Physically Unclonable Functions
pypuf is a toolbox for simulation, testing, and attacking Physically Unclonable Functions.
Getting Started
Please check out the pypuf hello world in the documentation.
Studies and Results
pypuf is used in a number of PUF-related research projects. If you would like to add your project to the list, please open an issue or send an email. In reverse chronological order:
- 2021, Wisiol: Towards Attack Resilient Arbiter PUF-Based Strong PUFs: Design proposal for the LP-PUF, claimed to mitigate known modeling attacks while having reliable responses.
- 2021, Wisiol et al.: Neural-Network-Based Modeling Attacks on XOR Arbiter PUFs Revisited
- 2020, Wisiol et al.: Splitting the Interpose PUF: A Novel Modeling Attack Strategy: Modeling attacks on the Interpose PUF using Logistic Regression in a Divide-and-Conquer strategy.
- 2020, Wisiol et al.: Short Paper: XOR Arbiter PUFs have Systematic Response Bias: Empirical and theoretical study of XOR Arbiter PUF response bias for unbiased arbiter chains.
- 2019, Wisiol et al.: Breaking the Lightweight Secure PUF: Understanding the Relation of Input Transformations and Machine Learning Resistance: An advanced machine learning attack on the Lightweight Secure PUF.
- 2019, Wisiol et al.: Why Attackers Lose: Design and Security Analysis of Arbitrarily Large XOR Arbiter PUFs: Simulation of the stabiltiy of Majority Vote XOR Arbiter PUFs.
Please check out the archived version of pypuf v1 to find the original code used some of the older projects.
Citation
To refer to pypuf, please use DOI 10.5281/zenodo.3901410.
pypuf is published via Zenodo.
Please cite this work as
Nils Wisiol, Christoph Gräbnitz, Christopher Mühl, Benjamin Zengin, Tudor Soroceanu, Niklas Pirnay, Khalid T. Mursi, & Adomas Baliuka. pypuf: Cryptanalysis of Physically Unclonable Functions (Version 2, June 2021). Zenodo. https://doi.org/10.5281/zenodo.3901410
or use the following BibTeX:
@software{pypuf,
author = {Nils Wisiol and
Christoph Gräbnitz and
Christopher Mühl and
Benjamin Zengin and
Tudor Soroceanu and
Niklas Pirnay and
Khalid T. Mursi and
Adomas Baliuka},
title = {{pypuf: Cryptanalysis of Physically Unclonable
Functions}},
year = 2021,
publisher = {Zenodo},
version = {v2},
doi = {10.5281/zenodo.3901410},
url = {https://doi.org/10.5281/zenodo.3901410}
}
Contribute
Testing, linting, licensing. When first contributing, make sure to update the author lists in README.md (2x), index.rst of the docs (2x), and CITATION.cff (1x).
Run Tests
- install
sphinx-build xdoctest xdoctest pypufcd docsmake cleanmake doctest && make htmlcdto project rootpython3 -m pytest test
Maintainer: Prepare New Release
- Make sure author lists are up-to-date.
- Make sure docs are testing and building without error (see above)
- Commit all changes
- Clean up
dist/folder - Set up new release version:
RELEASE=x.y.z - Update version to
x.y.zinsetup.pyanddocs/conf.py - Commit with message "Release Version vx.y.z":
git commit -p -m "Release Version v$RELEASE" - Tag commit using
git tag -as v$RELEASE -m "Release Version v$RELEASE" - If applicable, adjust
devand/orstabletags. - Push
- branch:
git push - tag:
git push origin v$RELEASE
- branch:
- Set environment variables
GITHUB_TOKENto a GitHub token,TWINE_USERNAMEandTWINE_PASSWORDto PyPi credentials. - Publish using
publish nils-wisiol pypuf - At zenodo.org, make sure the author list is up to date.
Related Skills
healthcheck
353.3kHost security hardening and risk-tolerance configuration for OpenClaw deployments
prose
353.3kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
Writing Hookify Rules
111.7kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
Agent Development
111.7kThis skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
