Tuesday, 29 November 2011

Have you ever wondered just how Password encryption works? Did you know that it would take the fastest supercomputers in the world significantly longer than the age of the universe to crack a 128-bit key!!





It would take significantly longer than the age of the universe to crack a 128-bit key!
SSL uses public-key encryption to exchange a session key between the client and server; this session key is used to encrypt the http transaction (both request and response). Each transaction uses a different session key so that even if someone did manage to decrypt a transaction, that would not mean that they would have found the server's secret key; if they wanted to decrypt another transaction, they'd need to spend as much time and effort on the second transaction as they did on the first.  Of course, they would have first have to have figured out some method of intercepting the transaction data in the first place, which is in itself extremely difficult.
        Servers and browsers do encryption ranging from a 40-bit secret key to a 128-bit secret key, that is to say '2 to the 40th power' or '2 to the 128th power'.  Many people have heard that 40-bit is insecure and that you need 128-bit to keep your credit card info safe.  They feel that using a 40-bit key is insecure because it's vulnerable to a "brute force" attack (basically trying each of the 2^40 possible keys until you find the one that decrypts the message). 
       This was in fact demonstrated when a French researcher used a network of fast workstations to crack a 40-bit encrypted message in a little over a week.  Of course, even this 'vulnerability' is not really applicable to applications like an online credit card transaction, since the transaction is completed in a few moments.  If a network of fast computers takes a week to crack a 40-bit key, you'd be completed your transaction and long gone before the hacker even got started.  
It would be significantly easier to tap your phone, or to intercept your mail to acquire your credit card number than to somehow intercept and decode Internet Data.


Of course, using a 128-bit key eliminates any problem at all because there are 2^128 instead of 2^40 possible keys.  Using the same method (a networked of fast workstations) to crack a message encrypted with such a key would take significantly longer than the age of the universe using conventional technology.   Remember that 128-bit is not just 'three times' as powerful as 40-bit encryption.  2^128 is 'two times two, times two, times two...' with 128 two's.   That is two, doubled on itself 128 times.  2^40 is already a HUGE number, about a trillion (that's a million, million!).   Therefor 2^128 is that number (a trillion), doubled over and over on itself another 88 times.   Again, it would take significantly longer than the age of the universe to crack a 128-bit key.



Key Size
Possible Key Combinations
2-bit2^22x2= 4                                
3-bit2^32x2x2= 8
4-bit2^42x2x2x2= 16
5-bit2^52x2x2x2x2= 32                         
6-bit2^62x2x2x2x2x2= 64
7-bit2^72x2x2x2x2x2x2= 128
8-bit2^82x2x2x2x2x2x2x2= 256
9-bit2^92x2x2x2x2x2x2x2x2= 512
10-bit2^102x2x2x2x2x2x2x2x2x2= 1024
11-bit2^112x2x2x2x2x2x2x2x2x2...= 2048
12-bit2^122x2x2x2x2x2x2x2x2x2...= 4096
16-bit2^162x2x2x2x2x2x2x2x2x2...= 65536
24-bit2^242x2x2x2x2x2x2x2x2x2...= 16.7 million
30-bit2^302x2x2x2x2x2x2x2x2x2...= 1 billion (1,073,741,800)
40-bit2^402x2x2x2x2x2x2x2x2x2...= 1 trillion (1,097,728,000,000)
56-bit2^562x2x2x2x2x2x2x2x2x2....= 72 thousand quadrillion (71,892,000,000,000,000)
128-bit2^1282 multiplied by 2
128 times over.
= 339,000,000,000,000,000,000,000,000,000,000,000
   (give or take a couple trillion...)




Doing the math, you can see that using the same method that was used to break 40-bit encryption in a week, it would take about 72 million weeks (about 1.4 million years) to even break '56-bit medium' encryption and significantly longer than the age of the universe to crack a 128-bit key.  Of course the argument is that computers will keep getting faster, about doubling in power every 18 months.  That is true, but even when computers are a million times faster than they are now (about 20 years from now if they double in speed every year), it would then still take about 6 thousand, trillion years, which is about a million times longer than the Earth has been around.  Plus, simply upgrading to 129-bit encryption would take twice as long, and 130-bit would take twice as long again.  As you can see, it's far easier for the encryption to keep well ahead of the technology in this case.  Simply put, 128-bit encryption is totally secure.


source:inet200.com

No comments:

Post a Comment