IDEA : BO2K IDEA Encryption V0.4
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Author: Maw~
Contact: maw@wynne.demon.co.uk
Addr: http://www.wynne.demon.co.uk/maw/

NOTE: Sorry about the quick run through of versions (0.1, 0.2, 0.2b, 0.3 
and even a 0.3 which thought it was a 0.2!) but I had to fix a few things
and I was tired... The current version is ***0.3****
****************************Which is SHIT.
****************************Passwords were useless due to a dumb bug(I did write the code 5am
****************************one morning though - still no excuse).
****************************Current working ver is 0.4


What is it?
^^^^^^^^^^^
An encryption engine for BO2K using the IDEA algorithm. Written
in the UK this can be downloaded by anyone in the world since it is
being released to the public.

How do I use it?
^^^^^^^^^^^^^^^^
Simply install it as another plugin in both client & server. Set
the password (up to 256 chars) and enable or disable CBC mode
(see below). Make sure to tell the bo2k server to use IDEA to encrypt
commands & file transfers (in the bo2kcfg util under "Startup" and "File
Transfers"). Also, make sure both client and server either both have
CBC Mode enabled or disabled.

How do I compile it?
^^^^^^^^^^^^^^^^^^^^
Setup a standard Win32 DLL project. Import the files as well as
config.cpp from the BO2k SDK. Make sure the BO2K headers are in the
include path. In the "Project Options" box under project settings
(Project->Settings->Link Tab->Project Options Box) add:
"/SECTION:.data,RW /SECTION:.rdata,RW" (minus quotes, duh).
And compile. Contact me if you have any problems.

btw, the code quality is not great and a few things could be done better.
These will probably be fixed in the next version (in ~2-3 days).
(I would appreciate any *constructive* insight anyone has on cool ways
of doing stuff though).

CBC Mode?
^^^^^^^^^
Cipher Block Chaining Mode. Basically makes sure than no one can under
stand a simple packet of communication without knowing all the packets
which came before it. Basically keep it enabled unless it fails (due to 
packet loss or something).

Speed
^^^^^
Not ultra-slick fast. IDEA is not an ultra fast system so I will probably
be implementing an OFB mode soon (not to mention a whole new Blowfish engine).

Security\Key Size
^^^^^^^^^^^^^^^^^
IDEA uses a 128-bit key which is pretty secure unless the NSA has some pretty
next level stuff. From a crytanalysis point of view IDEA has not been
subjected to the same scruitiny as DES so it is concievable that it can
be compromised, although no method is known to the public.

Comparison to 3DES
^^^^^^^^^^^^^^^^^^
3DES has an effective key length of 168-bits and so brute force wise it
more secure than IDEA although would you trust a system which the NSA had
a part in developing? ;)

Thanks
^^^^^^
To the cDc for BO2K and a damn good show at Defcon...
To DilDog for suggesting using MD5 on the pw. Duh! Why didn't I
think of that?

Maw~
Just helping things along.
