# Module Crypt_des

    module Crypt_des: sig .. end

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.