This is an implementation of the KLEIN lightweight block cipher as described in this paper. It encrypts individual blocks of 64 bit length with either a 64, 80, or 96 bit key.
The key size to use is specified via an enum, which is passed
as generic parameter k
to the klein_top top level module.
The code is licensed under the terms of the MIT license. For more information, please see the LICENSE.md file.