The PUF_RKESystem project implements a secure Remote Keyless Entry (RKE) System using Physically Unclonable Functions (PUFs). This approach aims to enhance the security of wireless communication systems by exploiting the unique, unclonable nature of PUFs.
- Implementation of a PUF-based system for RKE.
- Scripts for simulation and analysis of the system.
- Demonstrates enhanced security in wireless communications.
These instructions will help you get the project up and running on your local machine for development and testing.
We run HackRF One on PC with Windows and Raspberry Pi. You can follow the instruction to complete the installation: HackRf One Installation Guide
- We recommend any developers to use Virtual Environment for the convinience of managing and installing packages whithin various versions: Anaconda Installation on Linux
- Tensorflow users should follow the installtion below: Tensorflow Installation on Linux
- Developers who use Nvidia Graphic Cards should install the Cuda and cudnn toolkit first: Cuda , cudnn
- Developers who use Mac with M series need differnet way to install metal and tensorflow packages
In addition to the Raspberry Pi OS installation, to run LoRa Transceiver on Raspberry Pi, you should follow the instruction below: Blinka, LoRa-Transceiver
Clone the repository:
git clone https://github.com/Augustine156/PUF_RKESystem.git
Navigate to the project directory:
cd PUF_RKESystem
Install the required Python libraries:
pip install -r requirements.txt
- OS: Ubuntu 23.04 LTS
- CPU: Intel-7700
- Motherboard: Asus Z270 Prime AR
- Memory: 50GB
- GPU: MSI RTX 4090 SUPRIMX 24G
- Power Supply: NZXT C1200W
Run both 'key(Registration).py' and 'car(Register).py' before running the authentication simulation!!
1.Connect both Raspberry pi4 using SSH in IDE that you like.
2.Run the 'car(Authentication).ipynb' in any IDE that you like and it support jupyter notebook format.
3.Run the 'Key.ipynb' in any IDE that you like and it support jupyter notebook format.
Contributions are welcome! Please read CONTRIBUTING.md for details on submitting pull requests.
This project uses insights from:
- 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
This project is licensed under LICENSE.md.