A collection of cryptographic primitives and protocols written in pure Lua for cross-platform reference implementations.
Lua Lockbox is a library of cryptographic primitives and protocols implemented entirely in Lua. It provides reference implementations for various algorithms like AES, SHA-2, and HMAC, focusing on readability and cross-platform compatibility rather than performance. The project aims to offer a tested, easy-to-use toolkit for cryptographic operations in Lua environments.
Lua developers needing cryptographic functionality for research, education, or legacy systems, especially where portability and code clarity are prioritized over speed.
Developers choose Lua Lockbox for its pure Lua implementation ensuring wide compatibility, comprehensive algorithm coverage, and a design focused on understandability and correctness as a reference resource.
A collection of cryptographic primitives written in pure Lua
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements numerous primitives from MD5 to AES, including insecure ones with explicit warnings, making it a comprehensive reference for various cryptographic needs.
Written entirely in Lua, it runs on any platform with Lua installed, avoiding dependencies on external C libraries or system-specific bindings.
Uses a builder pattern with init, update, and finish methods, allowing easy chaining and reuse of cryptographic states, as demonstrated in the test files.
Code is designed for readability with clear structures and examples in test files, ideal for learning how cryptographic algorithms are implemented.
Prioritizes clarity over speed, so cryptographic operations are much slower than native alternatives, making it unsuitable for performance-sensitive applications.
The project is actively seeking maintainers, indicating it might be unmaintained, risking bugs, lack of updates, and security patches for new standards.
Requires manual modification of Lockbox.lua for module paths, which is cumbersome and error-prone compared to standard package management solutions.
Planned features like SHA3 and BLAKE2s are not implemented, limiting its usefulness for current cryptographic requirements beyond legacy systems.