A WiFi-based key generation demonstration has been developed using WARP board. A full protocol of key generation has been implemented by the Python. This is completed by Mr. Yan Wang as his final year project during 2018 - 2019.
Key Generation Protocol
- Channel Probing:
- using the Data packet and its corresponding ACK packet to serve as the bidirectional probing packets, implemented based on 802.11 Reference Design: Experiments Framework . The sampling delay between the Data and ACK is in the order of 10 us therefore a high correlated channel measurements can be obtained.
- Packet Match: Because the demo is carried out in the office environment, there are many transmissions in the air from other wifi access points. The MAC address is used to filter out the useful packets.
- Quantization: Mean and standard deviation-based quantization
- Information Reconciliation: BCH-based secure sketch, BCH code implementation at https://github.com/jkent/python-bchlib used
- Privacy amplification: hash function SHA256 at https://docs.python.org/3/library/hashlib.html
- Randomness test: NIST randomness test suite is used. The implementation is based on https://github.com/stevenang/randomness_testsuite
- 802.11 Reference Design: Experiments Framework
- GUI and signal processing: Python