kyber
kyber-k2so
kyber | kyber-k2so | |
---|---|---|
6 | 13 | |
689 | 83 | |
2.2% | - | |
5.1 | 6.8 | |
4 months ago | 4 months ago | |
C | Go | |
GNU General Public License v3.0 or later | MIT License |
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.
kyber
-
Quantum Computers Break Encryption in China But Far From Cracking Bitcoin
I wouldn’t even be worried about the banks, any mode of encryption used for data would be at stake, but there’s already some algos that are quantum secure made by Crystal Kyber. Here’s their git repo: https://github.com/pq-crystals/kyber.git
-
NSA, NIST, and post-quantum cryptography
So, question then, isn't one of the differences between this time's selection, compared to previous selections, that some of the algorithms are open source with their code available.
For example, Kyber, one of the finalists, is here: https://github.com/pq-crystals/kyber
And where it's not open source, I believe in the first round submissions, everyone included reference implementations.
Does the code being available make it easy to verify whether there are some shady/shenanigans going on, even without NIST's cooperation?
-
NIST Announces First Four Quantum-Resistant Cryptographic Algorithms
The C reference code is available: https://github.com/pq-crystals/kyber
- NIST announces PQC-algoritms to be standardized
- Kyber key encapsulation mechanism (Post Quantum Cryptography Standardization)
kyber-k2so
-
A quick post on Chen's algorithm
It seems like the post-quantum algorithm that Signal selected [0] involves lattices [1] somehow:
> Kyber is an IND-CCA2-secure key encapsulation mechanism (KEM), whose security is based on the hardness of solving the learning-with-errors (LWE) problem over module lattices.
Curious to see if Chen's work will eventually lead to Signal selecting a different algorithm.
[0]: https://signal.org/blog/pqxdh/
[1]: https://pq-crystals.org/kyber/
- Kyber
-
iMessage with PQ3 Cryptographic Protocol
This is pretty fascinating. For easier reading, the Signal blog post [0] they link to is great.
Both Signal and Apple went with CRYSTALS-Kyber [1] as their post-quantum algorithm. If you're interested in the math, and maybe learned at some point about how classic public key cryptography is built on the idea that it's easy to multiply two primes, but hard to factor them, and how this (or other math problems) can be used as a one-way function to make encryption hard to break, the hard math problem that backs Kyber is the "learning-with-errors" [2] problem.
[0] https://signal.org/blog/pqxdh/
[1] https://pq-crystals.org/kyber/
[2] https://en.wikipedia.org/wiki/Learning_with_errors
-
Post-Quantum Diffie-Hellman?
NIST has chosen to standardize Kyber, which is a Key Encapsulation Mechanism (KEM) rather than a key exchange mechanism like Diffie-Hellman:
-
Signal has begun it's transition towards post-quantum key exchanges
However looks like this wasn't good enough, as the team has merged some code into the Signal protocol's library, that uses the latest NIST standard Crystals-Kyber post-quantum key exchange. I'm not sure if it's a hybrid scheme with X25519, or if it's replacing it, but damn, gotta love how the project not only innovates in terms of secure messaging protocols, but slaps the latest and greatest on top of best practice.
-
Lattice Asymetric Encryption
Kyber is one of the finalists for PQC and has an open source impl: https://pq-crystals.org/kyber/
-
Open-source file encryption software written in Go.
I’d recommend looking into https://github.com/symbolicsoft/kyber-k2so -> for post quantum safety. But I’d highly recommend looking at this: https://github.com/open-quantum-safe/liboqs-go -> this library is significantly more advanced but allows for hybrid key generation so you can have post-quantum security while being at least as secure as more established cryptography schemes like Ed25519. But at very least you should move off of RSA and research current cryptography standards for file encryption.
-
What's your opinion on the future of PKI ?
No, none of that is true. Kyber, one of the approved encryption schemes, actually has a smaller key size than RSA and is pretty fast, around 10,000 encryptions per second on a commercial CPU. Just because it is quantum resistant doesn't necessarily mean it is "more complicated", it is just different. We have had the idea for lattice-based encryption for over 20 years now, it is not new stuff just finally being put to use due to the impending threat of quantum computers.
- NIST announces preliminary winners of post-quantum competition
-
NIST Announces First Four Quantum-Resistant Cryptographic Algorithms
For reference, the Kyber algorithm selected here mentions on their website that, very conservatively, the Kyber-768 parameter set gives 128 bits of security, or roughly on the order of 31 undecillion operations to break.
What are some alternatives?
minisign - A dead simple tool to sign files and verify digital signatures.
tendermint - ⟁ Tendermint Core (BFT Consensus) in Go
openssl - Fork of OpenSSL 1.1.1 that includes prototype quantum-resistant algorithms and ciphersuites based on liboqs [OQS-OpenSSL 1.1.1 is NO LONGER SUPPORTED, please switch to OQS-Provider for OpenSSL 3]
liboqs-go - Go bindings for liboqs
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.
falcon
Selenite - An Experimental Rust Crate for Post-Quantum Code-Signing Certificates.
kyberJCE - Pure Java implementation of the Kyber (version 3) post-quantum IND-CCA2 KEM.
libsodium - A modern, portable, easy to use crypto library.
CIRCL - CIRCL: Cloudflare Interoperable Reusable Cryptographic Library
s2n - An implementation of the TLS/SSL protocols
argon2pw - Argon2 password hashing package for go with constant time hash comparison