Skip to content

a15600712/PUF_RKESystem

Repository files navigation

PUF_RKESystem

Project Overview

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.

Features

  • Implementation of a PUF-based system for RKE.
  • Scripts for simulation and analysis of the system.
  • Demonstrates enhanced security in wireless communications.

Getting Started

These instructions will help you get the project up and running on your local machine for development and testing.

Prerequisites

  • HackRF One Environment Build

We run HackRF One on PC with Windows and Raspberry Pi. You can follow the instruction to complete the installation: HackRf One Installation Guide

  • Machine Learning Environment Build

  1. We recommend any developers to use Virtual Environment for the convinience of managing and installing packages whithin various versions: Anaconda Installation on Linux
  2. Tensorflow users should follow the installtion below: Tensorflow Installation on Linux
  3. Developers who use Nvidia Graphic Cards should install the Cuda and cudnn toolkit first: Cuda , cudnn
  4. Developers who use Mac with M series need differnet way to install metal and tensorflow packages
  • Raspberry Pi Environment Build

In addition to the Raspberry Pi OS installation, to run LoRa Transceiver on Raspberry Pi, you should follow the instruction below: Blinka, LoRa-Transceiver

Installation

Please do above step before doing this!

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

Machine Learning Hardware Environment

  • 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

Usage

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.

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for details on submitting pull requests.

References

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

License

This project is licensed under LICENSE.md.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5