libsodium
mbedTLS
Our great sponsors
libsodium | mbedTLS | |
---|---|---|
30 | 9 | |
11,895 | 4,885 | |
- | 2.0% | |
8.7 | 10.0 | |
5 days ago | 6 days ago | |
C | C | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libsodium
-
Libsodium: A modern, portable, easy to use crypto library
Libsodium has been around for a while, so probably the reason it was posted is that version 1.0.19 was just released: https://github.com/jedisct1/libsodium/releases/tag/1.0.19-RE...
Updated NuGet and Swift packages are going to be uploaded soon.
AEGIS-128X and 256X are not there yet, but if you need them, they are available in libaegis: https://github.com/jedisct1/libaegis
All the code from libaegis will eventually be merged into libsodium, including the incremental update API which is especially useful for TLS.
- FLaNK Stack Weekly for 20 June 2023
-
I created an encrypted command line jounal
To address both of these vulnerabilities, you should instead use a library that handles these sharp edges for you. A well received library in the security and cryptography communities is libsodium. It has high level functions that handle password hashing and data encryption for you, reducing the risk that you introduce vulnerabilities in your code, such as you have here.
-
Librandombytes – a public domain library for generating randomness
Can anyone recommend between Librandombytes and libsodium ramdombytes?
https://github.com/jedisct1/libsodium/tree/master/src/libsod...
-
Initial impact report about this week's EdDSA Double-PubKey Oracle attack in 40 affected crypto libs
Feature request submitted to libsodium: https://github.com/jedisct1/libsodium/issues/1191
-
Dangerous toys: Anything to ed25519 (SSH Keys)
This article [0] has a good explanation of why clamping is necessary. But the process is very simple, you just generate 256 random bits, clear the three lowest order to avoid small subgroup attacks, then clear the highest order and set the second highest order to avoid side-channel attacks which may occur if an implementation isn’t constant-time. The Libsodium source shows this pretty clearly: [1], lines 18-23.
0: https://www.jcraige.com/an-explainer-on-ed25519-clamping
1: https://github.com/jedisct1/libsodium/blob/master/src/libsod...
- Information and learning resources for cryptography newcomers
-
monero-python 0.99 is released, testers welcome!
Finally I managed to replace the slow pure-Python reference implementation of Ed25519 cryptography with pynacl which is a binding to libsodium, the industry standard lightning-fast C library.
mbedTLS
-
redbean: a single-file actually portable web server with Lua, HTTPS and SQLite
Rebean is a single executable written in ANSI C that embeds Lua 5.4, MbedTLS and SQLite. The crazy thing about this is that it is a C binary that runs on six operating systems without any cross compiling thanks to leveraging Justine Tunney's cosmopolitan.
-
Install mbedTLS on Linux
it looks like the commands are all built under https://github.com/Mbed-TLS/mbedtls/tree/development/programs and the arch mbedtls package does some extra work to rename them and copy them into /usr/local/bin: https://github.com/archlinux/svntogit-community/blob/packages/mbedtls/trunk/PKGBUILD#L55
-
Elliptic Curve Cryptography Explained
If you want to see a real implemention of arbitrary sized integer math, mbedTLS is a great example:
https://github.com/ARMmbed/mbedtls/blob/development/library/...
All of the ECC code in that library relies on this code, which can be accelerated by dedicated hardware.
-
C Deep
mbed TLS - Another crypto implementation. Apache-2.0
What are some alternatives?
OpenSSL - TLS/SSL and crypto library
wolfssl - The wolfSSL library is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3!
Crypto++ - free C++ class library of cryptographic schemes
GnuTLS - GnuTLS
libhydrogen - A lightweight, secure, easy-to-use crypto library suitable for constrained environments.
LibTomCrypt - LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit that provides developers with a vast array of well known published block ciphers, one-way hash functions, chaining modes, pseudo-random number generators, public key cryptography and a plethora of other routines.
LibreSSL - LibreSSL Portable itself. This includes the build scaffold and compatibility layer that builds portable LibreSSL from the OpenBSD source code. Pull requests or patches sent to [email protected] are welcome.
Botan - Cryptography Toolkit
Bcrypt - Modern(-ish) password hashing for your software and your servers
mbedcrypto - a portable, small, easy to use and fast c++14 library for cryptography.