Heartbeat Key Generation Demonstration
You may have used fingerprint authentication or face recognition with your smartphone. But do you know that you can use your heartbeat signals to encrypt your wireless communications?
In this demonstration, we will present a heartbeat-based key generation technique developed at Advanced Networks Research Group, University of Liverpool.
This demonstration uses PPG sensors to collect heartbeat signals and extract cryptographic keys from the collected signals. A full key generation protocol has been implemented by the Python.
Key Generation Protocol
Any sensor that can measure heartbeat signals will work, e.g., ECG and PPG sensors. This demonstration uses PPG sensors as example. PPG sensors are very easy to use.
- Peak Detection: Detect the peaks of the heartbeat signals. Multiple level wavelet transform is used to denoise the heartbeat signals.
- IPI Alignment: Calculate the interpulse interval (IPI) between any adjacent peaks. Align the common IPIs between Alice and Bob.
- Quantization: IPI trend-based quantization
- Information Reconciliation: BCH-based secure sketch
- Privacy amplification: hash function SHA256
- Randomness test: NIST randomness test suite
Please refer to this link for the hardware and software setup.
- Pulse Sensorx2
- Arduino board for AD conversion x2
- Raspberry Pi with touchscreen x2
- GUI and signal processing: Python
We would like to thank Mr Yushi Zheng for his hard work on completing this excellent demo.