(* $Id$ * ---------------------------------------------------------------------- * This module is part of the cryptgps package by Gerd Stolpmann. *) (* DES, created by the NSA, is a 64 bit block cipher, * so the following applies: *) module Cryptsystem : Cryptsystem_64.T;; module Cryptmodes : Cryptmodes_64.T with type key = Cryptsystem.key;; (* Key management functions: * * Although only 56 bits count a DES key is written with 64 bits. The * extra bits are used for parity checking. *) val check_parity : string -> unit (* Checks that the parity of the key given as string is ok. The string * must have a length of 8 characters. *) val set_parity : string -> string (* Sets the parity bits in the given key and returns a new string. *) (* - DES has been heavily studied and seems to have a rather good design * - DES has only 56 bit keys (this means DES should be considered a * weak algorithm today, but the variant 3DES is still secure) * - DES has been designed to be implemented in hardware, and software * implementations are relatively slow * - DES is an ANSI and (indirectly) an ISO standard. * - There are very few weak keys. *)