C Encryption

Open-source C projects categorized as Encryption

Top 23 C Encryption Projects

  • OpenSSL

    TLS/SSL and crypto library

    Project mention: Forthcoming OpenSSL Releases 3.0.8, 1.1.1T and 1.0.2zg | news.ycombinator.com | 2023-02-01

    The meta issue for slow performance is https://github.com/openssl/openssl/issues/17627

  • VeraCrypt

    Disk encryption with strong security based on TrueCrypt

    Project mention: What are the best apps you've been using for a long time on Windows? | reddit.com/r/software | 2022-12-31

    VeraCrypt - Create encrypted disks quickly and on the fly.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • s2n

    An implementation of the TLS/SSL protocols

    Project mention: Golang is evil on shitty networks | news.ycombinator.com | 2022-12-29

    > The documentation is kind of vague, but apparently you have to re-enable it regularly.[3]

    This is correct. And in the end it means more or less that setting the socket option is more of a way of sending an explicit ACK from userspace than a real setting.

    It's not great for common use-cases, because making userspace care about ACKs will obviously degrade efficiency (more syscalls).

    However it can make sense for some use-cases. E.g. I saw the s2n TLS library using QUICKACK to avoid the TLS handshake being stuck [1]. Maybe also worthwhile to be set in some specific RPC scenarios where the server might not immediately send a response on receiving the request, and where the client could send additional frames (e.g. gRPC client side streaming, or in pipelined HTTP requests if the server would really process those in parallel and not just let them sit in socket buffers).

    [1] https://github.com/aws/s2n-tls/blob/46c47a71e637cabc312ce843...

  • GmSSL


  • c-toxcore

    The future of online communications.

    Project mention: My list of favorite secure messaging apps | news.ycombinator.com | 2023-01-12

    What an arbitrary criteria to judge a project by. There have been 5 releases in the past year, including a major feature release.


  • 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: “Purchasing an arm” | reddit.com/r/Firearms | 2022-11-27

    Or something a bit more lightweight - https://github.com/wolfSSL/wolfssl

  • magma

    The magma server daemon, is an encrypted email system with support for SMTP, POP, IMAP, HTTP and MOLTEN,. Additional support for DMTP and DMAP is currently in active development. (by lavabit)

    Project mention: Magma: Open-source carrier-grade wireless networking platform for rural areas | news.ycombinator.com | 2022-12-03

    If you're having déjà vu, it's because there is also an encrypted email service called Magma:


  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • 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: Themis: Strong, usable cryptography for busy people | news.ycombinator.com | 2022-02-17
  • 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.

  • Minizip-ng

    Fork of the popular zip manipulation library found in the zlib distribution.

  • enchive

    Encrypted personal archives

  • Cronos

    PoC for a new sleep obfuscation technique leveraging waitable timers to evade memory scanners. (by Idov31)

    Project mention: Cronos: PoC for a new sleep obfuscation technique leveraging waitable timers to evade memory scanners - leveraging waitable timers to RC4 encrypt the current process and change the permissions from RW to RX | reddit.com/r/blueteamsec | 2022-09-25
  • sqleet

    SQLite3 encryption that sucks less

    Project mention: Database Encryption | reddit.com/r/crypto | 2022-05-09

    The https://github.com/resilar/sqleet encryption extension is free / open source.

  • trice

    super fast and tiny embedded device C printf-like trace code (works also inside interrupts) and real-time PC logging (trace ID visualization)

  • lurch

    XEP-0384: OMEMO Encryption for libpurple.

    Project mention: I cannot download a git repo | reddit.com/r/tails | 2022-02-23

    Do `torify git clone https://github.com/gkdr/lurch/

  • VeraCrypt-DCS

    VeraCrypt EFI Bootloader for EFI Windows system encryption (LGPL)

  • mkinitcpio-ykfde

    Full disk encryption with Yubikey (Yubico key)

    Project mention: sd-encrypt, LUKS partition unlock and YubiKey - Erratic behavior | reddit.com/r/archlinux | 2023-01-31

    I am interested in running a self-signed Secure Boot LUKS setup that I could unlock with my YubiKey. I've tried an initramfs hook in my other devices and it works. However, I read this section about unlocking the LUKS partition with systemd and its integrated enrollment tool (systemd-cryptenroll) and my interest was piqued since it meant an integrated solution that doesn't depend on a third-party one.

  • CatCrypto

    An easy way for hashing and encryption.

  • disco-c

    A tiny C cryptographic library to encrypt sessions, authenticate messages, sign, hash, etc. based only on SHA-3 and Curve25519

    Project mention: Liblithium: A lightweight and portable cryptography library | news.ycombinator.com | 2022-11-16

    Wondering if the authors heard of embedded disco[1]

    [1]: https://embeddeddisco.com/

  • libsodium-signcryption

    Signcryption using libsodium.

    Project mention: Supabase secrets management available in beta | news.ycombinator.com | 2022-12-16

    You've hit the nail right on the head with this question on how hard group encryption is, and we don't have all the answers yet as we are still working the use cases around it. We are hoping to reach a level of security that you mention in your SE question using something similar to the excellent accepted answer, distributed private key sharing among trusted participants.

    The basis we are exploring is using an algorithm called Signcryption (https://github.com/jedisct1/libsodium-signcryption) that is already included in pgsodium. This doesn't solve any of the shared private key issues you mention above, but it is a useful foundation for distributing encrypted messages that separate out sender and receiver identifiers from their keys, a sort of lower level foundation on top of which distributed key sharing can occur.

    I also think signcryption is a great foundation for a better token format than JWT or PASETO, as it covers all of their use cases without algorithm confusion attacks (despite PASETO's insistence on "Algorithm Lucidity") and supports more features such as third party verification and streaming shared key generation from any token without having to exchange the key, we hope to use these tokens so that end-to-end peers can exchange tokens, derive streaming shared keys, and then do direct point-to-point message exchange using libsodium crypto_secretstream API which supports key ratcheting for forward secrecy.

    Would love to discuss more about your research with you and include it with attribution into our future work, send me an intro at [email protected] when any other ideas or resources you'd like us to see!

  • rvault

    rvault: secure and authenticated store for secrets and small documents

    Project mention: Ask HN: What does everyone use for encrypting their personal stuff? | news.ycombinator.com | 2022-10-24
  • wiz-packet-map

    Wizard101 tool that dynamically dumps packet data and decrypts packets to and from the server that use aes-gcm encryption

    Project mention: Hardware level packet triggers breakpoint while reverse engineering packets | reddit.com/r/REGames | 2022-05-19
  • independer-loras

    Independer: Encrypted messaging & data sharing via LoRaS & inexpensive hardware (ESP32). Independent from mobile network & WIFI.

    Project mention: Good news! A new Independer version is available v.0.3.8. From now on the user interface is available in English and German. Beside the frequency 868Mhz, now also the frequency 915Mhz is supported .... | reddit.com/r/tech | 2022-12-07
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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 2023-02-01.

C Encryption related posts


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

Project Stars
1 OpenSSL 20,769
2 VeraCrypt 4,695
3 s2n 4,243
4 GmSSL 3,728
5 c-toxcore 1,883
6 wolfssl 1,823
7 magma 1,793
8 Themis 1,656
9 LibTomCrypt 1,331
10 Minizip-ng 979
11 enchive 566
12 Cronos 368
13 sqleet 334
14 trice 294
15 lurch 274
16 VeraCrypt-DCS 115
17 mkinitcpio-ykfde 94
18 CatCrypto 62
19 disco-c 57
20 libsodium-signcryption 46
21 rvault 28
22 wiz-packet-map 22
23 independer-loras 20
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives