My own implementation of DES