File: crypt_des.mli

package info (click to toggle)
cryptgps 0.2.1-9
  • links: PTS, VCS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, stretch
  • size: 296 kB
  • sloc: ml: 2,627; ansic: 172; sh: 169; makefile: 118
file content (46 lines) | stat: -rw-r--r-- 1,425 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
(* $Id: crypt_des.mli,v 1.1 1999/06/17 14:55:04 gerd Exp $
 * ----------------------------------------------------------------------
 * 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.
 *)

(* ======================================================================
 * History:
 * 
 * $Log: crypt_des.mli,v $
 * Revision 1.1  1999/06/17 14:55:04  gerd
 * 	Added module for DES.
 *
 *)