Is it possible to split a 128-bit key?

I am a programmer and relatively new to cryptography, so I apologize for my newbie. :)

Let's say we have a message, both in plain text and in encrypted form with a 128-bit key. Theoretically, can I somehow find out the key? And if so, what time are we talking about?

Thanks!

+8
cryptography
source share
5 answers

Yes, it is a matter of time - with brute force you can try every possible combination of bits and guess the right one. The maximum time will be millions and billions of years, so we can say that it cannot be easily cracked.

However, each algorithm has some short circuits (for some algorithms, such circuits have not yet been found), which reduce the time. Also, modern massive parallel computing methods (for example, the use of GPUs on graphics cards) further reduce the time. There may be other factors that affect the time, for example, shortcomings in the application of the algorithm (for example, using the wrong encryption mode or using a short password and adding it with some character to the key length).

Then there is a cryptanalysis of rubber-hose , which usually turns out to be more effective than the assumption of brute force.

+10
source share

In 2007, it was estimated that the cost of breaking 88 bits using brute force is $ 300 million if you apply Moore’s law, which you will reduce this price by 4 times, or you can get 2 extra bits by now.

So, you need 2 ^ 38 extra money to crack only one 128-bit key. (about 10 ^ 20 $)

Source: http://www.seagate.com/staticfiles/docs/pdf/whitepaper/tp596_128-bit_versus_256_bit.pdf
Source 2: http://dator8.info/pdf/AES/3.pdf

From the abut article, 128-bit keys:

If you assume:

β€’ Every person on the planet owns 10 computers.
β€’ There are 7 billion people on the planet.
β€’ Each of these computers can test 1 billion key combinations per second.
β€’ On average, you can crack a key after testing 50 percent of the capabilities.

Then (see the link to the calculation in the Appendix):
β€’ The land population can crack one encryption key (only one drive) in 77,000,000,000,000,000,000,000,000,000,000 years!

β€’ In case you are wondering, to crack the second key / disk, it will take another 77,000,000,000,000,000,000,000,000,000,000,000 years.

I just noticed it is not designed correctly. The correct answer is 77e9 years (still a bunch for our civilization).

Additional (Bitcoin-based assumptions):

At this date (2017), we will probably take the Bitcoin mining system as the largest known brute force technique and take the mining price and Bitcoin as the basis for our assumptions.

Checking one sha256 is about the same complexity as trying to use a single symmetric key, such as AES or something else. According to this site, the current frequency of hashes that have been tried is (D * 2 ** 32/600), where D is the current bitcoin difficulty ( 678760110082.9902 )

This system produces about 5e + 18 hashes per second. Each block is produced every 10 minutes and today gives 12.50 coins. The price of the coin is 2.5 thousand.

Thus, there is one hash.
(12.50 * 2.5e3) / (5e18 * 600) = 1.0e-17.

The crack of one 128-bit key, today (June / 2017) costs approx. 1e-17 * 2 ^ 128 = 3,5e + 21
This would require 2 ^ 128 / (5e18 * 3.14e7) = 2.1e12 years with a bitcoin mining system.

+10
source share

In the commentary, you said that we are talking about the A5 algorithm.

Firstly, it uses a 64-bit key, not a 128-bit one. Secondly, it has some serious flaws - mostly broken .

+4
source share

If the cipher is good, the only way - using bruteforce - is to encrypt the message with each possible key in turn and find the right one. It takes up to 2,128 attempts, which are very long.

However, ciphers often have vulnerabilities that can significantly accelerate key output.

+3
source share

I asked this question in class and wanted to know that each of us accepts this answer.

Like brute force attack simply requires the computer to execute all possible combinations of bits in the hope of achieving the correct combination according to the encryption key. 128-bit encryption should have 2 ^ 128 bits, or approximately 340 trillion trillion trillion possible combinations. The fastest computer in the world according to theverge.com is Sunway TaihuLight (as of 2016), which can process 93 quadrillion calculations per second, also known as petaflops, petaflop - 10 ^ 15.

Now I did this calculation on my own so that it might be wrong, but I would like to hear how other people take it upon themselves. Using the fastest computer in the world, you can process 2.932848e + 24 possible combinations per year. 930 * 10 ^ 15 * 60 * 60 * 24 * 365 = 2.932848e + 24 If you had a supercomputer that worked all day every day to crack one 128-bit encryption key. I would take about 68.5 years to go through all possible combinations.
2 ^ 128 = 3.4028237e + 38 3.4028237e + 38 / 2.932848e + 24 = 68.470

0
source share

Source: https://habr.com/ru/post/649903/


All Articles