/leekoq

This project is an open source pure `Rust` implementation of Microchip's KeeLoq proprietary

Primary LanguageRustMIT LicenseMIT

KeeLoq

This project is an open source pure Rust implementation of Microchip's KeeLoq proprietary encryption algorithm, used in their series of KeeLoq remote key entry (RKE) devices.

Amongst others, these devices include:

Usage example

This project literally has two methods, so using it is pretty straightforward:

Encrypt

use leekoq::LeeKoq;

let plain: u32 = 0x12345678;
let key: u64 = 0xCAFED00D;
assert_eq!(LeeKoq::encrypt(plain, key), 0xD0FB287C);

Decrypt

use leekoq::LeeKoq;

let cipher: u32 = 0xD0FB287C;
let key: u64 = 0xCAFED00D;
assert_eq!(LeeKoq::decrypt(cipher, key), 0x12345678);

Keys are 64-bit integers, and cipher- and plaintexts are 32-bit integers.

License

KeeLoq is a registered trademark of Microchip Technologies Inc.

Please note that neither the author is not affiliated with, nor this project is endorsed by Microchip Technologies, Inc.