4 ms·
Usually, the complaint with OTP is how to move a copy of the pad in a way that is both secure and still useful/practical. I think there is a simple solution to
by pdkl95 12y ago
Usually, the complaint with OTP is how to move a copy of the pad in a way that is both secure and still useful/practical. I think there is a simple solution to this (at least some of the time) if you limit the scope to "friends that meet occasionally".
What I want to make[1] is a pair of basically any embedded micro, in a "thumbdrive-ish" (or whatever for the prototype) size that has some amount of flash on it to store the pad, a USB interface, and a hardware-RNG[2]. Additionally, there is some sort of serial interface that will be used to null-modem two of these devices together.
When connected, the devices generate public keys (for authentication, etc), and generate noise. They send the noise to each other, and save the XOR of the noise to flash, so no device has total control of the generation.
The idea is that the "user experience" would be this: go over to a friends house, and plug your devices together for some period of time (hours, probably, but it can be cut off early). Then when you go home, plug it in to your computer and you can chat securely, slowly burning the pad from flash automatically. This is done over USB, so the pad never leaves the device. The firmware can handle the destruction of the pad as it is used and other details.
This doesn't solve everything, and the pad would run out fast if you wanted to send non-text data. What it should do is make it trivial for two parties to chat/email securely. Details like refilling the pad (visit friend for dinner, plug devices together while you eat) shouldn't be hard for most people, as long as they can see how much pad is remaining.
[1] I plan to implement a prototype of this as soon as I have spare time & cash for some hardware to experiment on.
[2] probably using something like the reverse-biased transistor method discussed in TFC