With quantum computers getting more powerful every year, many worry about the safety of modern encryption standards. As quantum computers improve in performance and the number of qubits used for calculations increases, current cryptosystems are under more threat of attack.

## What will break?

Many asymmetric encryption algorithms have been mathematically proven to be broken by quantum computers using Shor’s algorithm. Shor’s algorithm solves the following problem:

Given an integer

https://en.wikipedia.org/wiki/Shor%27s_algorithmN, find its prime factors.

Because algorithms like RSA rely heavily on the fact that normal computers can’t find prime factors quickly, they have remained secure for years. With quantum computers breaking that assumption, then it may be time to find new standards.

The following are examples of encryption that Shor’s algorithm can break:

## Symmetric Encryption

Symmetric encryption, or more specifically AES-256, is believed to be quantum-resistant. That means that quantum computers are not expected to be able to reduce the attack time enough to be effective if the key sizes are large enough.

Grover’s algorithm can reduce the brute force attack time to its square root. So for AES-128 the attack time becomes reduced to 2^64 (not very secure), while AES-256 becomes reduced to 2^128 which is still considered extremely secure.

It is important to remember that even 256-bit keys derived from passwords actually can have less than 256-bits of entropy because an attacker could try deriving keys from likely passwords vs trying random 256-bit numbers.

For example, instead of randomly trying

- azpV4CYbAwQUP4BaJJJNDBxEUkghMF8x2Sd4Q7ihD04=
- mtOXPNln432smP3pd3rVLw9rpGGkVsiqRhUFLXy/KBw=
- ..

An attacker would try the following:

- password123 –> 75K3eLr+dx6JJFuJ7LwIpEpOFmwGZZkRiB84PURz6U8=
- password1234 –> uclQZA4bN0DpisuT5mnGV2b2Zw3RYJupH/QQUrpIxvM=
- …

If you are implementing AES in a cryptosystem in 2020 you should favor AES-256 over AES-128 for the quantum resistance that it offers.

## Further Reading

https://eprint.iacr.org/2019/272.pdf

https://pdfs.semanticscholar.org/20da/4038038031bcbb99a1063180a40a2e25dc47.pdf

## Thanks For Reading

Hit me up on twitter @wagslane if you have any questions or comments.

Take your coding career to the next level with courses on Qvault Classroom

Follow me on Dev.to: wagslane

What if quantum computers are used to prove that P = NP, instead?

Then we better figure out some stuff real quick haha

Not sure I like the “password” example in the description, only because passphrases should use a 1-way hash with a salt. Similarly, AES should use a unique random IV for every encrypted value/stream

Hey Michael, I didn’t go into all the details in the article, but I was trying to explain that passwords are converted into 256 bit keys before ciphering. This is, as you stated, is done through a hash function and the use of a salt. Qvault for example uses the scrypt hash and a random salt. Our AES implementation also uses a unique IV for each encryption. I left out those details because the focus was on quantum computing for this article but hopefully these comments help some people!

Thanks I needed this

Does your website have a contact page? I’m having trouble locating it but, I’d

like to shoot you an e-mail. I’ve got some suggestions for your blog you might be interested

in hearing. Either way, great site and I look forward to seeing

it improve over time.

It doesn’t, it just has a couple links at the bottom of the page right now. We should probably add some soon though… I’ll email you personally for now.