| |
The Shadow
Registered: Oct 2007 Posts: 304 |
EOR file coders
Someone once told me that it is impossible to open a file which was coded with an EOR coder. With todays machines, is there any conceivable way that an EOR coded file can be placed into a PC and descrambled? |
|
... 48 posts hidden. Click here to view all posts.... |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: This is actually one of most basic and simple attacks on ciphers. Take a look here for some info: http://en.wikipedia.org/wiki/XOR_cipher
Knowing the length of the key helps a bit.
As the data is byte oriented it's probably easiest to treat this as a Vigenère of length 8.
You then solve this as 8 independent XOR-ciphers starting at bytes 0-7, with the spacing of 8 bytes between each value.
|
| |
The Shadow
Registered: Oct 2007 Posts: 304 |
Is there any known technique of scrambling which would be impossible to break? |
| |
Quetzal
Registered: Jul 2002 Posts: 71 |
Quote: Is there any known technique of scrambling which would be impossible to break?
I've toyed with the idea of converting to 6502 the 6805 version of Twofish found here: http://www.schneier.com/twofish-download.html
This would be more along the lines of what you are seeking, and AFAIK it is still an unbreakable cipher.
|
| |
Ymgve
Registered: May 2002 Posts: 84 |
The strength of the encryption relies of the length of the keyword, but also on the algorithm if the plaintext is guessable. Especially XOR/EOR algorithms are vulnerable to a known plaintext attack - if you know the final program is getting allocated to 0801, there's a pretty big chance the first bytes will contain the BASIC line for SYS [some number]. Which increases the chance of recovering the key exponentially. |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: The strength of the encryption relies of the length of the keyword, but also on the algorithm if the plaintext is guessable. Especially XOR/EOR algorithms are vulnerable to a known plaintext attack - if you know the final program is getting allocated to 0801, there's a pretty big chance the first bytes will contain the BASIC line for SYS [some number]. Which increases the chance of recovering the key exponentially.
I built individual statistics for the SYS line in my first attempts but it turned out too short to make useful statistics.
If you are using some kind of heuristics (or manual work) it can probably be useful.
What I do is analyze the statistics of the first and last 512 bytes of the file.
This was chosen on the assumption that one of those will contain a chunk of 6502 code. (usually a decruncher)
This turned out quite effective!
Adding special handling of the SYS line doesn't seem to gain enough to make it worth it.
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
I got inspired and hacked this up yesterday: Crack me!
Try to find the password. :)
|
| |
Ymgve
Registered: May 2002 Posts: 84 |
Got it :) I wonder if this is the first time that algorithm has been done on the C64. |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
I would think that this is the first, but you never know... :)
|
| |
AlexC
Registered: Jan 2008 Posts: 299 |
Quote: I would think that this is the first, but you never know... :)
I didn't have time to really look at it but peeking at decryption loop I can confirm that I've never seen it on c64 - at least not in protection code. |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
I posted the answer now.
The encryption algorithm implemented is AES-128 (ECB). |
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next |