Mini logo

lockey USB, I2C software protection dongles

lockey i2c for Raspberry Pi

Hardware based software protection created especially for Raspberry Pi B+/2/3/4.

lockey i2c is one of our products from lockey family of hardware protection devices. Beside offering standard encrypted memory based protection model it provides on-device encryption/decryption with AES (Advanced Encryption Standard) algorithm.

Correctly used encryption guarantees very high level of security for encrypted data and thus ties protected software use with correct hardware key presence.

lockey i2c contains (Real Time Clock) RTC. It is battery supported for continuous operation. Device is prepared to connect directly to Raspberry Pi GPIO header.

Supported systems

Raspberry Pi B+/2/3/4: Raspbian, Arch Linux operating systems





lockey features



lockey i2c


lockey features



  • lockey is compatible with I2C serial computer bus and is visible in operating system as a standard I2C device (I2C bus must be enabled in operating system by user, if it's not enabled by default).

  • programming library and API is designed to communicate with hardware keys on both I2C and USB buses (only one I2C key, multiple USB keys allowed at the same time), no difference using dongles on different buses from code

  • logging into and transmitting data back and forth from host (RPi) to lockey is done inside secure, encrypted session, strongly protected from eavesdropping

  • programmable password to log in to lockey - 32 byte array or open text password for convenience

  • non-volatile 4KB memory, accessible after logging in to lockey. Data is being securely stored in memory using AES encryption.

  • hardware based encryption. Available to use with up to 4 diferent secret AES encryption keys, that can be securely stored in lockey (128 bits long each).
    Example usage:
    • signing documents with secret key
    • encrypting files of protected application
    • encrypting data transmission, for example over the internet
    • users authorization
  • Real time clock RTC

  • hardware pseudo-random number generator

  • unique serial number of each lockey, assigned by the manufacturer

  • simple to implement in own projects API

  • for the moment libraries and examples are available for: C++, Lazarus/Free Pascal programming languages

  • configuration software helping configuring lockey

Example lockey i2c implementation diagram


lockeyi2c implementation


lockey Documentation and API