(* $Id: cryptsystem_64.ml,v 1.2 2001/03/10 16:43:21 gerd Exp $
* ----------------------------------------------------------------------
* This module is part of the cryptgps package by Gerd Stolpmann.
*)
(* The module type of a cryptsystem using 64 bit block ciphers. *)
module type T =
sig
type key
(* This is the internal, often preprocessed representation of keys. *)
val encrypt_ecb :
key -> (int * int * int * int) -> (int * int * int * int)
(* This is the ECB mode of the encryption function. The four ints
* are numbers from 0 to 65535, and given from MSB to LSB.
*)
val encrypt_ecb_int32 :
key -> int32 -> int32 -> int32 ref -> int32 ref -> unit
(* The same as encrypt_ecb, but with an int32 interface *)
val decrypt_ecb :
key -> (int * int * int * int) -> (int * int * int * int)
(* This is the ECB mode of the decryption function. The four ints
* are numbers from 0 to 65535, and given from MSB to LSB.
*)
val decrypt_ecb_int32 :
key -> int32 -> int32 -> int32 ref -> int32 ref -> unit
(* The same as decrypt_ecb, but with an int32 interface *)
val prepare : string -> key
(* Prepares the string representation of a key. *)
val textkey : key -> string
(* Gets the string representation back *)
val is_weak : key -> bool
(* Determines whether the key is known as being weak. Do not use
* such keys.
*)
end
;;
(* ======================================================================
* History:
*
* $Log: cryptsystem_64.ml,v $
* Revision 1.2 2001/03/10 16:43:21 gerd
* int32 experiments
*
* Revision 1.1 1999/06/04 20:42:01 gerd
* Initial revision.
*
*
*)