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 the following projects:
- 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 in these 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. pypuf: Cryptanalysis of Physically Unclonable Functions (Version v2, March 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},
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.
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 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-2.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c493ee111f1551d30542d2587cfabaae24e64d3682f6228faae313fb73587135 |
|
MD5 | 50456001530701eeda6bba6f9ef08090 |
|
BLAKE2b-256 | 0e8935514ce5440f67143d080c27eb777497f93d5510d42aa89cf90aad640025 |