3 ms·
It's less of a private key and more a random per-remote prng seed that gets set both on the remote and the door controller when they are paired. When you press
by abcd_f 3y ago
It's less of a private key and more a random per-remote prng seed that gets set both on the remote and the door controller when they are paired. When you press the button, remote increments its sequence number and send this number, its ID and a hash of all that and the seed to the controller. Controller checks the hash, then checks that seq number is more than last seen for this remote and opens the door. This protects against replay attacks and fairly uncomplicated to implement.
- tkems 3y agoThis sounds a lot like the KeeLoq algorithm [0] (minus the hashing part). From my research into the rolling code space, I think most remotes don't quite have the CPU/featureset to support a real, secure crypto system with things like SHA, AES, and RSA/ECC. Would love to see one though! [0] https://en.wikipedia.org/wiki/KeeLoq https://en.wikipedia.org/wiki/KeeLoq