SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 C Cryptography Projects
-
Slow adoption of QUIC is the result of OpenSSL refusing to expose the primitives needed by QUIC implementations that already existed in the wild. Instead, they decided to build their own NIH QUIC stack, which after all these years is still not complete.
They recently caved in, and OpenSSL 3.5 will finally provide an API for third party QUIC stacks: https://github.com/openssl/openssl/pull/26683
Naturally, it works differently than all the other existing implementations, as it's push-based instead of pull-based. It remains to be seen what it means for the ecosystem.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
-
mbedTLS
An open source, portable, easy to use, readable and flexible TLS library, and reference implementation of the PSA Cryptography API. Releases are on a varying cadence, typically around 3 - 6 months between releases.
Project mention: 13 Github Projects that Will Supercharge Your Development Journey in 2025 🚀 | dev.to | 2025-03-02Stars: 5727 Author: Mbed-TLS Star the mbedtls repository⭐
-
cjdns
An encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for routing.
-
Project mention: OpenSSL bug exposed up to 255 bytes of server heap and existed since 2011 | news.ycombinator.com | 2024-07-30
I started writing s2n the day after Heartbleed and the first lines of code were for the stuffer interface. A stuffer is a buffer for stuff, and it's like Java buffered I/O for C. You can get a flavor from reading the header: https://github.com/aws/s2n-tls/blob/main/stuffer/s2n_stuffer...
The implementation is incredibly simple. Treat all blocks of memory as blob with a known size and then read/write into those blobs with a cursor to track progress and bounds checks on every access. Fence all serialization/deserialization through a safe low level interface. Not only do you get memory safety (which we later proved using formal reasoning) ... but when you're parsing message formats it lends itself to a declarative coding style that makes it very clear what the structure is. You can also do lifecycle things, like erasing sensitive memory with zeroes when you're done with it, making sure things don't show up in core dumps, etc. BoringSSL introduced a Crypto_bytes API that also did some of this plus bounds checking, and retrofit it into OpenSSL.
OpenSSL on the other hand is a horrific mash up of raw pointer arithmetic, ad-hoc parsers interleaved with business logic and control flow. I could never keep it straight, and it always scared me to review.
-
-
I wonder how this will affect ssh. OpenSSH recently restricted more characters for valid usernames: https://github.com/openssh/openssh-portable/commit/7ef3787c8...
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
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 and DTLS 1.3!
Project mention: Embedded TLS Library for Applications, Devices, and the Cloud | news.ycombinator.com | 2024-12-29 -
I would create a mesh wifi. (similar https://reticulum.network/, tox https://github.com/TokTok/c-toxcore etc)
-
-
-
Themis
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
-
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.
-
Trezor | Software Engineer (Embedded, Firmware, React) | Prague, CZ | Remote | https://satoshilabs.com/careers
Description copied from the Firmware Developer role, have a look at the careers page for many more details!
We’re Trezor (https://trezor.io/), a leading company in crypto security, that has pioneered the hardware wallet industry. As a Firmware Developer, you’ll help us develop firmware that runs on thousands of Trezor devices all over the world. Basically, our products put people at ease knowing their digital assets are safe. Your job here will consist of providing new features, fixing bugs, and solving difficult technical problems. Along the way, you'll gain valuable insights into the practical application of cryptography.
We picture you as a skilled developer who has a background in Python programming and has completed at least some side projects in Rust. A solid understanding of C will also be necessary.
Together, we will bring new hardware wallets to life, including a flagship Trezor product with Bluetooth connectivity. Sounds exciting, right?
Keyword: Bitcoin
PS: You can apply directly using the Satoshi Labs careers page or email me at [email protected] and I will make sure to forward your application to the relevant people in our HR department.
-
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.
-
-
brainflayer
A proof-of-concept cracker for cryptocurrency brainwallets and other low entropy key algorithms.
-
bitcracker
BitCracker is the first open source password cracking tool for memory units encrypted with BitLocker
-
-
libhydrogen
A lightweight, secure, easy-to-use crypto library suitable for constrained environments.
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C Cryptography discussion
C Cryptography related posts
-
Okta Bcrypt incident lessons for designing better APIs
-
The QUIC API OpenSSL will not provide
-
Embedded TLS Library for Applications, Devices, and the Cloud
-
Encryption: ciphers, digests, salt, IV
-
Where Is HTTP/3?
-
Open Quantum Safe Project
-
Rustls Outperforms OpenSSL and BoringSSL
-
A note from our sponsor - SaaSHub
www.saashub.com | 19 Mar 2025
Index
What are some of the best open-source Cryptography projects in C? This list will help you:
# | Project | Stars |
---|---|---|
1 | OpenSSL | 26,933 |
2 | libsodium | 12,568 |
3 | mbedTLS | 5,736 |
4 | cjdns | 5,231 |
5 | s2n | 4,579 |
6 | Tiny AES128 in C | 4,442 |
7 | openssh-portable | 3,257 |
8 | pycryptodome | 2,972 |
9 | wolfssl | 2,457 |
10 | c-toxcore | 2,365 |
11 | minisign | 2,322 |
12 | liboqs | 2,122 |
13 | Themis | 1,903 |
14 | LibTomCrypt | 1,628 |
15 | trezor-firmware | 1,445 |
16 | LibreSSL | 1,388 |
17 | PyNacl | 1,118 |
18 | brainflayer | 935 |
19 | kyber | 916 |
20 | bitcracker | 863 |
21 | SipHash | 689 |
22 | libhydrogen | 671 |
23 | CTFs | 639 |