Devlog 1: Simulating the Attack
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.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.