Antishor-pqc
- 2 Devlogs
- 9 Total hours
A Demonstration of how Quantum Algorithms poses threat to our Present day Cyber security that run on principle of Harvest now, decrypt later.
A Demonstration of how Quantum Algorithms poses threat to our Present day Cyber security that run on principle of Harvest now, decrypt later.
Feedback
hi, cool project!!
unfortunately, we are unable to accept your project at this time because your project has the following issue(s):
- the readme is written with assistance from ai tools. this is prohibited and you need to rewrite it yourself.
Shipwright walkthrough
Devlog 2: Securing the Keys
So guys, Earlier I implemented the Shor's algorithm that shows how Traditional encryptions could be broken easily with Quantum computers, this time I did demonstration of how we can protect our Secrets from Quantum technology.
Basically If you know about Cryptographic encryptions, you might know that we actually never reveal the secret keys while communicating with other parties instead we use our Public keys to do so, which is nothing but simply a mathematical wrap that is generated with help of secret keys and then mathematical blanket over it makes it harder to guess which secret keys might have generated that Public key.
Both Traditional and Post quantum cryptography are different ways to wrap that secret against the potential threats. Earlier when we used very large prime number we relied on computational limits of classical computers that they will practically take so much time to break the pattern and we enjoyed the security until quantum computers came and started to break that same computational limits at very fast pace, then we needed something that QPUs cannot break and we decided that we would use methods which is not a mathematical complexity but just complete chaos and randomness.
One of popular way is Lattice cryptography where we insert random errors in public keys that no obvious pattern is recognized by Quantum. Hence safe against QPU and Classical both.
I have used simple linear equations instead of how actual matrices used by real life encryptions but for understanding analogically same things that generates public output(b), public keys (a), inserted error and bounded by particular modulus.
The idea is same that we would use these Linear equations for Cryptographic handshake between different parties. Noise would make it difficult to reveal secret hence our Objective is fulfilled.
You can play with Parameters and if you have some idea and want to contribute, the repo is open.
Thanks for Reading!
So this project is about a Demonstration of how Quantum computers poses a major threat to modern day cyber algorithms like RSA.
To be more Specific modern day cryptography uses a principle called Harvest now, decrypt later, which means that a very large number(key) which is very computationally expensive to factorize and only factors of that number can break encryption.
So considering the computational limitations of classical computers we just use it until a very fast computational machine comes up and messes our Encryptions.
So in today’s time, Quantum computers have come and they can potentially break encryptions based on Shor’s algorithm, which theoretically uses period finding of a random number less than the key and raises it to power sequentially, finding if the modulus is 1. After that, the same pattern will repeat. After finding the period of repetition, we find the HCF of the random number raised to the power of period/2 ± 1 and the key. This will give us two factors, and only period finding is computationally hard for classical computers because of their brute-forcing / one-by-one checking or guessing method to find the period. Quantum computers, using the power of Quantum parallelism, find periods very fast.
Also, suppose the key is even, or in the beginning itself we find out that the HCF of the key and the chosen random number is more than one (or in simple words, the random number is a factor of the key). In both cases, classical computers are enough to find the factors. In fact, due to this fact, even large numbers are not used in encryptions.
Here, for the UI layer I used Streamlit. Also, I kept an option in the dropdown so users don’t accidentally enter a number that crashes their computer.
On the right side, there is a wave that shows the repetition of the period for some timeline. In the next update I will also add a simulation on how we make encryptions that tolerate these quantum attacks.
I will push it on GitHub so you can check this version.