I am working atm on a little app that needs to open a specific app's file format, however it is encrypted via DES and I have no experience with it.

PEiD picks this algorithm up as DES and I am led to believe that it contains PBoxes and SBoxes. Does anyone have a tutorial on how DES works that is simpler then an RFC?

Examples of what I think is an sbox:

*snip*


There are eight of these arrays of seemingly random combinations and one PBox:

*snip*


In the same function there is also a refference to this array:

*snip*


I am not sure what this is supposed to do so can anyone explain to me how all of this works or point me to a relatively easy to understand tutorial?

edit by f0dder to remove disassembly listings
Posted on 2007-09-23 13:41:26 by 16thfactor
Sorry, but we have to be a bit careful about what we allow on this board. Now, while what you want to do probably falls under fair use, this is a very shady area, and posting disassembly listings is generally not a good idea, even though you don't mention the app's name.

We can't really help you with reverse engineering here, but I suggest you look around for sample DES implementations - there's plenty around, and there should be some simple assembly version as well. Have a look at those, and you might be able to understand what's going on.

Even if the DMCA wasn't so harsh, we'd still have to be pretty cautious on matters like this, because it would risk opening the floodgates for the scriptkiddies out there to do harm - and we don't wanna go there.
Posted on 2007-09-23 14:20:56 by f0dder
Alright well does anyone know of any such DES asm example?

Using this link:
http://www.itl.nist.gov/fipspubs/fip46-2.htm

I was able to find out what each of those is supposed to do but it is still hard to figure out how to code it myself.
Posted on 2007-09-23 14:23:33 by 16thfactor