C Cryptography

Open-source C projects categorized as Cryptography

Top 23 C Cryptography Projects

  • GitHub repo OpenSSL

    TLS/SSL and crypto library

    Project mention: ELI5: Hashing Function | reddit.com/r/explainlikeimfive | 2021-06-07


  • GitHub repo libsodium

    A modern, portable, easy to use crypto library.

    Project mention: Likely stupid question about EdDSA in libsodium | reddit.com/r/crypto | 2021-05-24

    The libsodium sk format has the seed as its first 32 bytes. This line in crypto_sign_ed25519_seed_keypair puts the seed in the output sk buffer, the next line puts the pk there.

  • 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: AES in ~500 Lines of C | news.ycombinator.com | 2021-04-27
  • GitHub repo c-toxcore

    The future of online communications.

    Project mention: Is using Signal through Tor bad opsec? | reddit.com/r/privacytoolsIO | 2021-06-13

    Tox is experimental and has very concerning issues.

  • GitHub repo openssh-portable

    Portable OpenSSH

    Project mention: Systemd: The Good Parts | news.ycombinator.com | 2021-05-16
  • 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: Max HTTPS throughput on ESP32? | reddit.com/r/esp32 | 2021-02-26

    You mention mbedtls, but for an example I was able to find that wolfssl lists some benchmarks and notice that under hardware acceleration, AES CBC gives OK performance while AES GCM looks pretty bad.

  • 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 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

  • GitHub repo brainflayer

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

    Project mention: Downside of brainwallet for long term hodling? | reddit.com/r/Bitcoin | 2021-06-06

    People don't talk about brain wallets because nobody uses the same definition. The commonly accepted definition, from when they were popular, is "easy to remember, easy to steal". See brainflayer https://github.com/ryancdotorg/brainflayer

  • GitHub repo firo

    The privacy-focused cryptocurrency

    Project mention: If Crypto trading is permissible in Islam or not? | reddit.com/r/BitcoinBeginners | 2021-05-28

    Most crypto are considered as Halal. Still, if privacy is the concern the best currency for trading between wallets and exchanges without trace would be FIRO. https://firo.org/

  • GitHub repo bitcracker

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

    Project mention: reimaged my computer without realizing that my crypto wallet was using my windows user cert | reddit.com/r/techsupport | 2021-03-14
  • GitHub repo Swift-Sodium

    Safe and easy to use crypto for iOS and macOS

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

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

    Project mention: Encryption for field upgrading? | reddit.com/r/embedded | 2021-03-03

    NIST's lightweight cryptography contest is still in progress. When it finishes I'd definitely change to whatever wins. In the iterim you might want to look into the candidates. I happen to like gimli, see libhydrogen for a good library that uses it.

  • GitHub repo cryptonite

    lowlevel set of cryptographic primitives for haskell

    Project mention: NorfairKing/haskell-dangerous-functions ; Call for contributions | reddit.com/r/haskell | 2021-03-29

    fromIntegral is no joke, for example https://github.com/haskell-crypto/cryptonite/issues/330

  • GitHub repo retter

    A collection of hash functions, ciphers, tools, libraries, and materials related to cryptography & security. :closed_lock_with_key::closed_lock_with_key::closed_lock_with_key::closed_lock_with_key::closed_lock_with_key: (project was renamed, libchaos is main) (by maciejczyzewski)

  • GitHub repo cpace

    A CPace PAKE implementation using libsodium.

    Project mention: TermPair: Terminal sharing with AES-GCM 128 bit end-to-end encryption | news.ycombinator.com | 2021-05-30

    Project devs: Consider using CPACE (a password-authenticated key exchange) which is in the process of being formalized a standard by IETF.


  • GitHub repo cipher-aes

    DEPRECATED - use cryptonite - a comprehensive fast AES implementation for haskell that supports aesni and advanced cryptographic modes.

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-06-13.


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

Project Stars
1 OpenSSL 15,884
2 libsodium 9,323
3 s2n 3,965
4 mbedTLS 2,999
5 Tiny AES128 in C 2,611
6 c-toxcore 1,519
7 openssh-portable 1,496
8 Themis 1,295
9 wolfssl 1,177
10 LibTomCrypt 1,113
11 LibreSSL 1,030
12 PyNacl 783
13 Bcrypt 761
14 brainflayer 614
15 firo 558
16 bitcracker 487
17 Swift-Sodium 410
18 wickr-crypto-c 293
19 libhydrogen 280
20 cryptonite 202
21 retter 59
22 cpace 25
23 cipher-aes 22