implementation of the DES cipher in C
Switch branches/tags
Nothing to show
Clone or download
Latest commit 1e370da Apr 28, 2014
Failed to load latest commit information.
src cleaning the code Apr 11, 2014
.gitignore added useless files Feb 9, 2014
Makefile cleaning the code Apr 11, 2014 Update Apr 29, 2014


This is an implementation in C of DES (Data Encryption Standard).

This is to be used only for files that are multiples of 64 bits exactly. We used ECB as a mode of operation but haven't implemented any padding system (it is not the point, if you want to add it you can always fork the code!).

DES is a broken cypher and this work is intended for educational purpose.


  • DES.c and DES.h contain the functions used in the DES algorithm.

  • main.c builds the algorithm and allows you to encrypt/decrypt an input file.

Use make to build desbox.

$ make

$ desbox --help
  • genkey.c is a key generator that prevents weak keys. Use it if you don't have any key to use.

Use make to build the keygen.

$ make genkey

$ ./genkey