in

# Quantum computing, Public-key cryptography, Computing, Quantum mechanics, Research, Encryption 1.3 – Factoring of large numbers

If you think about small numbers, its easy to see that six equals three times two, you can probably find the factors of a two digit number easily. You really only need to think about numbers up to about ten, but, as numbers get bigger, it gets harder very quickly. What, if i give you the number two hundred fifty one thousand, eighty nine? How long will it take you to figure out that that is two hundred fifty seven times nine hundred seventy seven or consider the nine digit number one: zero, six, nine, seven, eight, eight nine one! If i give you a ten digit number. Instead, there are about ten times as many possible factors, and it would take you about three times as long to find the factors you only have to check values up to the square root of the number. If i gave you an 11 digit number, it would take you about 10 times as long to check as that nine digit number. In fact, every time we add two digits to the number, the problem will get 10 times as hard. If i give you a 15 digit number, it will be about a thousand times as hard as that nine digit number. Of course, a computer is faster than a human, but for a classical computer solving this problem is faster, but no easier than it is for a human that is a human and a computer. Both have the same computational complexity, behavior, as we discussed earlier this week.

We can say that using this simple approach factoring is o of the square root of 10 to the n for an n digit number, that is, order of the square root of 10 to the n faster algorithms exist. This is just an example of how to think about the problem. The largest ordinary number factored is 768 bits or 232 decimal digits long, using a technique known as the the general number field. We dont need to worry about its actual computational complexity, but it is said to be subexponential but super polynomial. So why do we care other than being of interest to number aficionados and mathematicians? Why does it matter that factoring large numbers might suddenly become easier with a quantum computer right now, youre – probably watching this video over an encrypted connection on the world wide web, that encryption helps keep your communication secret from prying eyes. Encrypted communication consists of several phases. First, authentication that you are really talking to the person or web server that you think you are second key exchange to create a special secret, key and third bulk data. Encryption where special mathematical functions are applied to your data, to make its contents difficult to read before sending it across the network. Two of those three phases are mathematically related to factoring authentication is often performed using public key cryptography, the most famous form of which is rsa created by rivest shamir and edelman. Key exchange is often performed using the diffie hellman key exchange.

An efficient means of factoring could allow someone to eavesdrop on your web surfing and other internet based communication, even with your bank or other financial institution. It could also impact digital signatures, which also depend on public key cryptography in 1994. Peter shore announced to the world that he had figured out how to factor efficiently on a quantum computer prior to this announcement. Quantum computing was a quiet field and something of an intellectual curiosity shores algorithm showed that quantum computers can potentially solve problems of economic and social interest. Its not too much to say that this is the algorithm that got everyone excited, resulting in a big influx of both people and research dollars into the field using shores algorithm. A quantum computer can solve the problem of factoring more easily as the numbers get bigger. It can factor in polynomial time or specifically, o of n cubed for an n digit number. This is much faster than the o of square root of 10 to the n. We saw above using a classical computer and indeed its much faster than any known, classical algorithm.  ## What do you think?    