Have you ever wondered how your computer manages to send data across networks without problems? The answer to that is encryption, which allows for data transfer to happen on a network as large and public as the Internet. However, when imagining ways to encrypt things, problems emerge. You are unable to send someone a key to decrypt something, as a malicious person could intercept it, and now they can see your message! But without a key, how will they decrypt your message? One answer is RSA Encryption.
RSA encryption gets its name from its creators, Rivest, Shamir, and Adleman. To encrypt and decrypt, every computer has a public key and a private key. The public key is, as you could guess, public. Any computer can access your public key, and this is what they use to encrypt messages to send to you. But your private key is secret to only you, and if it became public that would be a large problem. You can use the private key to decrypt messages which have been encrypted by the public key. For example, if someone wanted to send you a message, they would find your public key, use it to encrypt the message and send it to you. No outside party could decrypt your message as they do not have your private key. Then, when the message reaches you, you can decrypt it!
Now the question is, how do you make these keys in a way that allows everyone to have an encrypter, but only you can decrypt? RSA does this in a fairly complicated way, but a simpler version is the factorization problem, which is similar in many ways to RSA. It does this by using prime numbers. To generate a public key, you take two very large prime numbers, 100s of digits long, and multiply them to make an even crazier number. This crazier number is then used as the public key. People can encrypt things with it, but the only way to decrypt is by having one of the original prime numbers, which is used as the private key. However, there is a flaw with this system. It assumes that only you can have the prime numbers, but if someone were able to factor the public key, they could decrypt any message, and this would destroy current encryption.
Luckily for us, it is nearly impossible to factor public keys with our current computers, but as I discussed in my previous blog about Quantum Computing, the possibility of decryption is increasing, and it will be a problem. One new discovery concerning Quantum decryption is the possibility of reversing logic gates. As of now, if you wanted to perform some operation, like 6*2, you would get the answer 12, but given only the number 12, it is impossible to determine that the original factors were 6 and 2. However, with Quantum computing, it is possible to land in a superposition of every result. Imagine, given 12 it could compute that you could have 1,12; 2,6; 3,4; 4,3; 6,2; and 12,1 all at once, essentially running the computation in reverse for every possibility. Of course, using this data is difficult, but given a combination of this and other quantum optimizations, encryption could be at risk!
However, I wouldn't worry too much about this problem, as along with new ways to decrypt with Quantum computers, we are also creating new ways to encrypt! There is a big initiative to create a method of encryption that cannot be bypassed by Quantum cryptography, and maybe you can help! Back in 2016, the government asked the public for solutions to this, and fairly recently 4 algorithms were revealed which are more Quantum proof.
In conclusion, Quantum computing can be both a destroyer and a helper for cryptography, and it will be interesting to see what happens next!
https://www.sciencedaily.com/releases/2023/05/230504094950.htm
https://en.m.wikipedia.org/wiki/RSA_(cryptosystem)
https://en.m.wikipedia.org/wiki/Public-key_cryptography