This one’s for the Simplex aficionados… in fact, it’s not dissimilar in concept from those locks.
A guy built himself a prototype electronic combination lock. Not using a microcontroller, no… he used two breadboards’ worth of relays, logic gates, and discrete transistors!
The Hackaday comments are what make this one particularly worthwhile. Not only do the commenters come up with a quite solid explanation of how it works, but they figure out how to pick it.
In a nutshell: it’s a state machine with a race condition and a compromising side channel (acoustic emanations). You can derive information about whether a given keypress is correct by triggering the race condition and listening for a relay to actuate or not.
“This electronic circuit turns on a relay by pressing four keys in the correct order. The circuit works by a CD4017 and a combination of logic gates.
At the start condition the CD4017 turns on the first output, which is connected to the first gate of the CD4081. By pressing the correct key (P1) both inputs of that gate take the high level. Pin 3 of the CD4081, then pin 1 of the CD4072 turns on and activates the clock relay K1, which keeps on for about 0,5 seconds due to the capacitir (the key should not be pressed for a longer time).
Once the last key is pressed the relay K3 turns on. The counter backs to the start condition by pressing any key.
The CD4030 consists of 4 EXOR gates. Each of them has two inputs: the first one is connected to a key, the second one is connected to an output of the CD4081. If a wrong key is pressed the inputs of the related EXOR gate take a different level, so the output turns on and activates the reset relay K2 by pin 13 of the CD4072.”