FYP Blues
Well here I am… blogging after 11 hours of programming today. FYP sucks.
[Explanation of my project background for the non-techies out there:]
Cryptography is the science of scrambling information to the extent that it is unreadable to anyone not in possession of a special password, known as a key. In the case of computer-based cryptography, this “key” is (more often than not) a unique number. Since the key is a number, it must fall into a range of values. In cryptography, this range is known as a keyspace.
My project basically aims to try every possible number in the keyspace, until I find the correct one which unscrambles a given scrambled message… Rather akin to having, say, 100 keys on your key ring and a locked door. With no idea which one fits, you have no choice but to try each and every one till the door opens. Alas, however, the number of possible values in the keyspace is much much more than 100. Hence, my program has to be designed to collaboratively search through the keyspace with other instances of itself, i.e. if you and I both run the program, we’d each only have to worry about half the keyspace.
[End of explanation.]
Managed to get the alpha version of the prototype running today. For the sake of academia, I was instructed by my sup to tackle the Data Encryption Standard (DES) with a keyspace of 2^56 (that’s 2 to the power of 56 for those unused to text formatting). Though considered small by today’s standards, 2^56 is still mind-bogglingly freaking huge when you come up close and personal with it.
Some facts and figures
While 5000 keys per second may seem blazing fast to the unacquainted, it’s actually dismally slow. Let’s delve a little further…
Meaning, at this rate, I’d have to leave my computer unattended for 439 thousand years before it ever finishes checking all keys in the keyspace. Of course, that’s in the worst case… Statistically speaking, if the key was originally chosen entirely at random, There’s a good chance I might take half that time, or 219,587.511540454787 years. If, however, I got another 999 friends with comparable computers to join me, the 1000 of us working together, non-stop, day and night, will only take 219 years to cover all the possible values on average.
Remember, folks, this encryption standard has been declared obsolete because the keyspace is too small. Present-day AES uses up to 256 bits (2^256 keys), and RSA uses 4096 bits.
You do the math.
P.S. My program has been christianed ARGH! (A Really Gigantic Haystack!) and is currently in version 0.2a.
Gary :: Dec.27.2005 :: 1337, Tech :: 2 Comments »







