← Portfolio

Distributed Cryptography with IoT Devices

5/4/2022

Read the paper

A research project exploring threshold-style key protection on embedded IoT hardware — distributing trust across a network of personal devices so that compromising a single private key is not sufficient to decrypt intercepted messages.

The Problem

In standard public-key cryptography, a compromised private key is a permanent, silent vulnerability. This project explored a scheme where each IoT device holds a required component of the recipient's effective private key, forcing an attacker to independently compromise every participating device.

The underlying cryptographic concepts are well-established. The engineering challenge — and the focus of this work — was whether they could be made to work within microcontroller constraints.

Implementation

The protocol was implemented in Python 3.9 using RSA-2048 and WebSockets, with a smart hub coordinating message chunking and reassembly across IoT devices. We benchmarked on real hardware: a Raspberry Pi 3B+ as the IoT device and a high-end PC as the control. Across 64 messages, the Pi averaged ~0.22s of added latency per chunk versus under 0.02s for the PC — an order of magnitude difference attributable to the absence of dedicated cryptographic hardware.

Conclusion

The protocol is not feasible as implemented. The latency overhead is too high for practical use, and the smart hub represents a residual point of failure. However, the benchmarking makes the root cause clear: the bottleneck is the absence of hardware crypto acceleration on the Pi. The concrete paths forward are selecting algorithms with native microcontroller hardware support, or offloading cryptographic operations to an FPGA — both of which I explored separately in coursework.

← Portfolio