No project description provided
Project description
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 pypuf
cd docs
make clean
make doctest && make html
cd
to 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.z
insetup.py
anddocs/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
dev
and/orstable
tags. - Push
- branch:
git push
- tag:
git push origin v$RELEASE
- branch:
- Set environment variables
GITHUB_TOKEN
to a GitHub token,TWINE_USERNAME
andTWINE_PASSWORD
to PyPi credentials. - Publish using
publish nils-wisiol pypuf
- At zenodo.org, make sure the author list is up to date.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pypuf-3.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f65beb13de69f375b705ca11369469bcbc88859fc45db9af6a884e1843e6712d |
|
MD5 | bce8ab3af61e2d60025dd18217c4e01e |
|
BLAKE2b-256 | 3b5320de7912ab162a8e7a0e73cb3a14e449f6840e690057feed5dc5b3286e21 |