Here's libraries and topics related to cryptography in Lua.
Libraries:
- [lmd5] (5.0/5.1) - an MD2/MD4/MD5/SHA1/SHA2/RIPEMD160 digest library for Lua. Binds to crypto part of [OpenSSL]. (LuizHenriqueDeFigueiredo)
- [md5] ([doc]) (5.0/5.1/5.2) - a MD5 hash (digest) function, a crypt/decrypt pair based on MD5 and CFB, and a crypt/decrypt pair based on DES 56. It uses its own MD5 and DES implementations in C. (Maintained by Kepler but based on [md5] by RobertoIerusalimschy.)
- [LuaMHash] (5.0) - [mhash] (LGPL) library binding.
- [LuaCrypto] (5.0/5.1) - a Lua frontend to the crypto part of [OpenSSL] library. Provides digests (MD5, SHA-1, HMAC, etc) and crypto-grade random number generators. [This fork] also provides encryption/decryption and signing/verification.
- lua-openssl [zhaozg/lua-openssl] [efelix/lua-openssl] - a Lua frontend to [OpenSSL] (without TSL/SSL). [differences from luacrypto]
- [lua-digest-crc32lua] (5.1) - crc32 implemented in Lua; used by ModuleCompressDeflateLua (DavidManura)
- [SHA-1 and HMAC] (5.1) - SHA1 and HMAC-SHA1 implementated in Lua.
- SecureHashAlgorithm (5.2) - SHA224/SHA256 implemented in Lua.
- SecureHashAlgorithmBw (5.3) - SHA224/SHA256 implemented in Lua 5.3, with bitwise operators.
- [sha2] - Lua binding for the SHA-256/384/512 BSD-licensed C implementation by Aaron Gifford plus HMAC (CosminApreutesei)
- [lua-crypt] (5.0) - An one-function library that provides the POSIX crypt() function for Lua (AlexandreErwinIttner)
- [LuaSec] (5.1) - a Lua frontend to the SSL part of [OpenSSL] library. Provides secure TLS/SSL communication; depends on Lua
Socket for TCP connection.
- [ratchet] - provides generic socket control mechanism for large numbers of sockets without using OS-level threads or losing the ease of synchronous socket programming. Supports TLS sockets with [OpenSSL]. [announce]
- LuaApr (5.1) - Lua binding to the Apache Portable Runtime which provides MD5 and SHA1 digest functions (PeterOdding)
- [slncrypto] small C library and binding for SHA-1 and blowfish LuaList:2005-02/msg00744.html [LuaDist]
- [LuaPolarSSL] (5.1) - [PolarSSL] interface to Lua.
- [lua-nacl] - Pure Lua implementation of [NaCl]: Networking and Cryptography library. Supports *salsa and poly1305. Uses "bit" (Lua
Bit
Op) library. "work in progress"
- [lcrypt] C implementation binding to libTomCrypt and libTomMath. Many hashes (MD2, MD4, MD5, RMD128, rmd160, RMD256, RMD320, SHA1, SHA224, SHA256, SHA384, SHA512, TIGER, WHIRLPOOL) and ciphers (AES, ANUBIS, BLOWFISH, CAST5, DES, DES3, KASUMI, KHAZAD, KSEED, NOEKEON, RC2, RC5, RC6, SAFERP, SKIPJACK, TWOFISH, XTEA) plus other capabilities (e.g. zlib, base64, and bigint). Includes [rsa.lua] (RSA) using this library. "It was written to provide the basis for ssh capabilities for Lua."
- [leetreveil/lmd5] MD5 with bindings to openssl, Win32
Wincrypt.h
, and OSX CommonCrypto/CommonDigest.h
.
- [luaxyssl] - Lua binding to [xyssl] (cryptographic library for embedded systems) (replaced by [polarssl]). Includes digests (md5, sh, sh1, sh2, sha256, hmac), crypto (aes, rc4, rsa, dh), SSL (using luasocket).
- [luahash] - includes own C implementations of sha1/sha2/md5 (rjek)
- [AesFileEncrypt](5.1/5.2) - Lua binding to [FileEncrypt]. Has no external dependences.
- [luaossl](5.1/5.2/5.3) - Comprehensive binding to OpenSSL, including X.509 certificate (with 1:1 ancillary bindings to sub-objects like names, chains, stores, extensions, etc), HMAC, digest, cipher, public-private key, PKCS12, and bignum APIs. Includes SSL and SSL_CONTEXT bindings, but doesn't do yet do SSL/TLS I/O (see cqueues project for asynchronous TLS I/O). Developed and maintained on Linux, OS X, Solaris, AIX, FreeBSD, NetBSD, and OpenBSD.
Sub-topics:
- SSL / OpenSSL SSL/TLS sockets
- Lua
Sec (synchronous) (OpenSSL)
- ratchet (coroutine asynchronous). (OpenSSL)
- luaxyssl (xyssl)
- luaossl (bindings to manipulate SSL and SSL_CONTEXT objects, but not yet SSL_read or SSL_write)
- [luadtls] (binding to [tinydtls] a lightweight implementation of DTLS)
- OpenSSL crypto
- Lua
Crypto (crypto binding)
- lua-openssl (without TLS/SSL)
- lmd5 (small MDx/SHAx digest binding)
- luaossl
- MD5
- lmd5 (small OpenSSL MDx/SHAx digest binding)
- md5 (C reimplementation; digest, encryption, decryption)
- LuaMHash (mhash LGPL binding; large number of hash algorithms)
- Lua
Crypto (OpenSSL crypto binding)
- lua-openssl (OpenSSL binding without TLS/SSL)
- Lua/APR [1]
- lcrypt binding to libTomCrypt and libTomMath
- leetreveil/lmd5 - bindings to openssl, Win32 Wincrypt.h, and OSX CommonCrypto?/CommonDigest?.h.
- luaxyssl (xyssl)
- luahash (C re-implementation)
- SHA
- lmd5 (small OpenSSL MDx/SHAx digest binding)
- LuaMHash (mhash LGPL binding; large number of hash algorithms)
- Lua
Crypto (OpenSSL crypto binding)
- lua-openssl (OpenSSL binding without TLS/SSL)
- SecureHashAlgorithm (SHA224/SHA256 Lua implementation)
- SHA-1 and HMAC (SHA1 and HMAC-SHA1 Lua implementation)
- sha2 (Lua binding to SHA-256/384/512 BSD-licensed C plus HMAC)
- Lua/APR [1]
- slncrypto (small C impl)
- lcrypt binding to libTomCrypt and libTomMath
- luaxyssl (xyssl)
- luahash (C re-implementation)
- CRC
- LuaMHash (mhash LGPL binding; large number of hash algorithms)
- lua-digest-crc32lua (Lua implementation)
- [Do other OpenSSL bindings support CRC calculations too?]
- DES
- md5 (C reimplementation; encryption, decryption)
- lcrypt binding to libTomCrypt and libTomMath
RecentChanges · preferences
edit · history
Last edited August 18, 2014 2:03 pm GMT (diff)