http://www.offline.org.uk/ [ WWW | Photos ]
 Menu: · Overview ·
 Technology
- Overview
- Computers
- Coding
- Astronomy
- Cryptography
- Photography
 > Technology > Crytography Page 1 of 1 
I like logic. I love the stuff in fact. Some people like reading fiction books, i like learning facts. I don't really like cryptography as in hardcore maths type stuff, but reverse engineering cryptographic messages etc is like the ultimate geek puzzle.

In the last couple of years I've become really interested in reverse engineering network protocols, which is very similar to reverse engineering cryptographic protocols (in fact some network protocols use weak cryptography in them too, which adds to the challenge). Basically the idea goes along the lines of watching a program communicating over a network and collecting all the data it sends. Then you look at the data, study it, run tests on it etc and try to find out what the data is. Some protocols are very easy to reverse engineer because they send plain text, but others are harder - more fun! Partly what makes it fun is that its a subject which can't be taught easily, its something where the only people can do it are people who have taught themselves (like cracking) having moved from similar areas of programming. In order to do it you need to be able to write your own software, primarily tools to collect the packets of data and display them in a way suitable for you. Once you have looked at the data by hand, then you have to be able to write programs to analyse it, break it up etc and display it for you to go over by hand again etc. It's a long process, but I really enjoy the thrill of starting other with thousands of garbled characters and several days later having figured out what it all means. Does that make me a geek?

Once you've reverse engineered a closed source protocol, then you can do 2 things. Firstly write programs to decode and monitor communications by client programs and secondly to write your own clients. A good example is Kazaa's protocol (Fasttrack), which was reverse engineered by a team of people on a project I worked on in 2001 and I created the first multiplatform open source client for. Of course Kazaa got upset about it, but our client doesn't display their advertising, and made all 100 million or so of it's users upgrade to a new client with a different version of their protocol to block us out.

Thus far I've reverse engineered several protocols, generally in the area of Internet chat/instant messaging and it's been a lot of fun. Some of them I've even reverse engineered when they've been done anyway, I've just done it for pleasure :) Just like programming, theres nothing more fun than spending hours at a time with pumping music and pure concentration on a task.

 Technology > Crytography