C implementation of DES