C Cryptography

Open-source C projects categorized as Cryptography | Edit details

Top 23 C Cryptography Projects

  • GitHub repo OpenSSL

    TLS/SSL and crypto library

    Project mention: OpenSSL Is Implementing QUIC | news.ycombinator.com | 2021-10-14
  • GitHub repo libsodium

    A modern, portable, easy to use crypto library.

    Project mention: Rust Ephemeral Encrypted Containers/FS (maybe) | dev.to | 2021-10-17

    website - https://libsodium.org/

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo cjdns

    An encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for routing.

    Project mention: Remote code execution in cdnjs of Cloudflare | news.ycombinator.com | 2021-07-16

    I was really excited for a moment, because I thought this was cjdns https://github.com/cjdelisle/cjdns.

  • GitHub repo s2n

    s2n : an implementation of the TLS/SSL protocols

    Project mention: LibreSSL Languishes on Linux | news.ycombinator.com | 2021-01-04

    I would be interested in the other SSL implementations:

    - https://github.com/awslabs/s2n

    - https://boringssl.googlesource.com/boringssl

    - https://bearssl.org/

    Are these subpar implementations or there are other reasons not to use these?

  • GitHub repo mbedTLS

    An open source, portable, easy to use, readable and flexible SSL library

    Project mention: Elliptic Curve Cryptography Explained | news.ycombinator.com | 2021-05-28

    If you want to see a real implemention of arbitrary sized integer math, mbedTLS is a great example:


    All of the ECC code in that library relies on this code, which can be accelerated by dedicated hardware.

  • GitHub repo Tiny AES128 in C

    Small portable AES128/192/256 in C

    Project mention: Casting 2D array onto 1D array | reddit.com/r/C_Programming | 2021-10-12

    On a side note in case anyone was curious I came across that code reading through someone's AES in C implementation on github found here: https://github.com/kokke/tiny-AES-c

  • GitHub repo openssh-portable

    Portable OpenSSH

    Project mention: 'include' statement directive keyword is missing from OpenSSL_8.1p1 | reddit.com/r/MacOS | 2021-09-26

    That feature seems to have been added in 8.2 https://github.com/openssh/openssh-portable/commit/c2bd7f74b0e0f3a3ee9d19ac549e6ba89013abaf

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo c-toxcore

    The future of online communications.

    Project mention: Tox: Decentralized and Encrypted Instant Messaging | news.ycombinator.com | 2021-10-05

    It links to a bug report discussion where one of the developers states that they don't understand the security properties of tox very well[1].

    I find that worrying.

    [1] https://github.com/TokTok/c-toxcore/issues/426

  • GitHub repo Themis

    Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

    Project mention: Backstage: cryptographic R&D internship at Cossack Labs | dev.to | 2021-05-12

    Now, the real world work starts. We introduce interns to the world of popular cryptographic libraries, help them to make their first OSS contributions, and let them practice with our cryptographic library Themis which provides a high-level crypto API on 14 languages.

  • GitHub repo 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!

    Project mention: 5 horrific techniques that will make your co-developers really hate your code | reddit.com/r/programming | 2021-07-01

    Ugh. No kidding.

  • GitHub repo minisign

    A dead simple tool to sign files and verify digital signatures.

    Project mention: Still true? How true? | reddit.com/r/ProgrammerHumor | 2021-10-17

    Thankfully, you can just use minisign instead (and age for encryption). Don't use gpg.

  • GitHub repo 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.

    Project mention: What is the difference between sha512 and sha512_256? | reddit.com/r/cryptography | 2021-04-24

    The open source library libtomcrypto has two separate implementations of sha512. What is the difference between these implementations? Which is the version that would be most typically used?

  • GitHub repo swift-crypto

    Open-source implementation of a substantial portion of the API of Apple CryptoKit suitable for use on Linux platforms.

    Project mention: [HELP WANTED] Big number computation in Swift for RSA implementation | reddit.com/r/swift | 2021-08-22

    This doesn’t exactly answer your question, but you could always use swift-crypto for RSA.

  • GitHub repo 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.

    Project mention: [gentoo-dev] [News review] LibreSSL support discontinued | reddit.com/r/Gentoo | 2021-01-03

    On the plus side they have Ed25519, on the negative side we don't have BLAKE2 or X25519, etc.

  • GitHub repo PyNacl

    Python binding to the Networking and Cryptography (NaCl) library

    Project mention: Look-up tables for bcrypt, scrypt and Argon2? | reddit.com/r/crypto | 2021-02-21

    PyNaCl Argon2i

  • GitHub repo Bcrypt

    Modern(-ish) password hashing for your software and your servers

    Project mention: Secure Password Handling in Python | dev.to | 2021-10-18

    bcrypt is a library and algorithm which we used above. This is the same code which is used by passlib and there's not really a reason to use this low-level library.

  • GitHub repo brainflayer

    A proof-of-concept cracker for cryptocurrency brainwallets and other low entropy key alogrithms.

    Project mention: Completely custom seed phrase | reddit.com/r/BitcoinBeginners | 2021-09-23

    For fun, read about brainflayer https://github.com/ryancdotorg/brainflayer

  • GitHub repo firo

    The privacy-focused cryptocurrency

    Project mention: Problem: Can't verify Firo wallet keys. 'keys.gnupg.net' appears down | reddit.com/r/FiroProject | 2021-10-10

    From the (I believe official) firo.org site on the download page (https://firo.org/get-firo/download/) the link to the public key (http://keys.gnupg.net/pks/lookup?op=vindex&fingerprint=on&search=0x1290A1D0FA7EE109) is not working and in fact all of "keys.gnupg.net" appears down.

  • GitHub repo bitcracker

    BitCracker is the first open source password cracking tool for memory units encrypted with BitLocker

    Project mention: Who is behind "Thegrideon Software" (specializing in brute-force tools)? | reddit.com/r/sysadmin | 2021-10-15

    So I decided to buy it, since I think 30 bucks is a fair price, even though it might just be a fancy wrapper for the open source bitcracker (I can't be bothered to create my own dictionary files and BitLocker Password is really easy with this).

  • GitHub repo Swift-Sodium

    Safe and easy to use crypto for iOS and macOS

  • GitHub repo SipHash

    High-speed secure pseudorandom function for short messages

    Project mention: Implementing Hash Tables in C | news.ycombinator.com | 2021-10-16

    Note that if you have untrusted input, you may want to use a defensive option for hashing involving a private key, such as SipHash[1]. Otherwise, an attacker who knows your hash functions can just pre-generate a large number of colliding elements and reduce your hash function to a linked list; given enough attacker-controlled elements, this can effectively amount to a DoS attack[2].

    [1] https://github.com/veorq/SipHash

    [2] https://www.aumasson.jp/siphash/siphashdos_29c3_slides.pdf

  • GitHub repo libhydrogen

    A lightweight, secure, easy-to-use crypto library suitable for constrained environments.

    Project mention: Ask HN: Are there small alternatives to libsodium/NaCL | news.ycombinator.com | 2021-08-31

    Are you possibly thinking of libhydrogen?


  • GitHub repo wickr-crypto-c

    An implementation of the Wickr Secure Messaging Protocol in C

    Project mention: Signal Adds a Payments Feature–With a Privacy-Focused Cryptocurrency | news.ycombinator.com | 2021-04-06
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-10-18.


What are some of the best open-source Cryptography projects in C? This list will help you:

Project Stars
1 OpenSSL 16,665
2 libsodium 9,603
3 cjdns 4,718
4 s2n 4,005
5 mbedTLS 3,188
6 Tiny AES128 in C 2,754
7 openssh-portable 1,614
8 c-toxcore 1,589
9 Themis 1,361
10 wolfssl 1,295
11 minisign 1,291
12 LibTomCrypt 1,163
13 swift-crypto 1,109
14 LibreSSL 1,054
15 PyNacl 813
16 Bcrypt 791
17 brainflayer 643
18 firo 584
19 bitcracker 504
20 Swift-Sodium 429
21 SipHash 408
22 libhydrogen 314
23 wickr-crypto-c 307
Find remote jobs at our new job board 99remotejobs.com. There are 35 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives