It is in pure python to avoid portability issues, since most DES
implementations are programmed in C (for performance reasons).
Triple DES class is also implemented, utilising the DES base. Triple DES
is either DES-EDE3 with a 24 byte key, or DES-EDE2 with a 16 byte key.
See the "About triple DES" section below more info on this algorithm.
The code below is not written for speed or performance, so not for those
needing a fast des implementation, but rather a handy portable solution
ideal for small usage.