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 ```rust use leekoq::LeeKoq;

let plain: u32 = 0x12345678; let key: u64 = 0xCAFED00D; assert_eq!(LeeKoq::encrypt(plain, key), 0xD0FB287C); **Decrypt** rust 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.