posted on Dec, 6 2010 @ 11:31 PM
reply to post by Pugnatious
I hope some people here know and understand how FIPS 46 & 81 as well as AES encryption work, but if you don't, here's a quick little primer. When a
piece of data is XOR'd with a key it produces "junk," but when the junk is XOR'd with the key again it produces the original data. But, they throw
in an additional fix called barrel shifting or barrel rolling where the key is shifted left or right by N positions. This might be done a number of
times to screw things up really badly. Then on top of all of this, the encryption program might perform pre or post non-lossy compression like RAR or
ZIP but it isn't apparent from the file markers, if there even are any. So you really don't know where to start and every test for data within say a
512 character block is a guess that can involve multiple barrel rolls (256 times, times 16 depth iterations) and a key that produces 2e256
combinations. So you actually might have to do up to 256x16x2e256 tests of that 512 byte block of data.
So let's say you have a 1.4mb file of text and you run it through an XOR'd type key system that is 256 bits long, or 32 characters and there is no
pre or post compression of the text in the file to be decrypted, how long would it take to resolve rational data using a small database of say 16
common words to test against? Let's say each key test takes 1 second (256x16 tests of a single key), so that would be 2e256 seconds or 6.1154e67
years or 61154 followed by 63 zeros years, I hope my math is right...LOL. It sure ain't hours, even if you had a million computers crunching this
taking a piece each it would still take 6.1154e58 years.
Btw, when junk comes out of the XORing and the barrel rolls, it looks just like random junk. Search the file for strings of 00's or strings of FF's,
you might be able to figure out the key from those. I used to write these kinds of programs for the military years ago....
Cheers - Dave