[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: [ANN] Pure Lua Crypto (PLC)
- From: Phil Leblanc <philanc@...>
- Date: Mon, 28 Sep 2015 13:48:59 -0400
Hi all,
I have started to implement and collect cryptographic algorithms
written in pure Lua (5.3)
PLC is not a consistent and properly documented library - Just a
collection of code snippets, located at [1]
[1] https://github.com/philanc/plc
The rules are pretty simple: all the files are written in pure,
vanilla Lua 5.3. They use no external Lua or C library. There is no
complex tree of modules requiring other modules. Every file should be
usable standalone, with no strings attached (except where noted).
For the moment, PLC includes:
- RC4
- Chacha20 stream encryption and Poly1305 MAC as specified
in RFC 7539
- Elliptic curve scalar multiplication based on ec25519
(barely enough to implement ECDH key exchange)
- SHA2-256 (contributed on this list by Roberto [2])
- SHA3-256 and -512 (derived from the code contributed on
this list by Joseph Wallace [3])
some non-cryptographic utilities:
- Base64, Hex encoding/decoding
- Base58 encoding/decoding
- Some checksums: CRC-32, Adler-32
[2] http://lua-users.org/lists/lua-l/2014-03/msg00851.html
[3] http://lua-users.org/lists/lua-l/2014-03/msg00905.html
Some simplistic tests are provided for each module.
License: MIT (except where noted for third party implementations)
All suggestions, bug reports and contributions are welcome.
Regards,
Phil