| iMatix home page
| << | < | > | >>
Version 2.11

Encryption and decryption functions

Filename: sflcryp.h
Package: Standard Function Library (SFL)
Written: 1996/01/23 iMatix SFL project team sfl@imatix.com
Revised: 1997/09/08
Copyright: Copyright (c) 1996-2000 iMatix Corporation


The encryption/decryption functions were based on the cryptosystem library by Andrew Brown asb@cs.nott.ac.uk, cleaned- up for portability. Thanks for a great package. IDEA is registered as the international patent WO 91/18459 "Device for Converting a Digital Block and the Use thereof". For commercial use of IDEA, you should contact: ASCOM TECH AG Freiburgstrasse 370 CH-3018 Bern, Switzerland


    Description of IDEA cipher
    The IDEA cipher operates on 64 bit (8 byte) blocks, using a 128 bit (16
    byte) key. IDEA has found itself famous through its inclusion in the
    well-known PGP package. The following is from the introduction to chapter
    3 of the thesis that presented the cipher.

    The block cipher IDEA (International Data Encryption Algorithm) is based
    on the new design concept of "mixing operations from different algebraic
    groups". The required "confusion" was achieved by successively using three
    "incompatible" group operations on pairs of 16-bit subblocks and the cipher
    structure was chosen to provide the necessary "diffusion". The cipher
    structure was further chosen to facilitate both hardware and software
    implementations. The IDEA cipher is an improved version of PES and was
    developed to increase security against differential cryptanalysis.

    Description of MDC cipher
    This is a method for turning a hash function, here MD5, into a fast
    secret-key encryption. Based on a suggestion by Phil Karn in sci.crypt, 13
    Feb 1992. See also his comments from sci.crypt, 23 Mar 1992. The method is
    a variant of that described in Zheng, Matsumoto and Imai, Crypto 89. See
    also, "A New Class of Cryptosystems Based on Interconnection Networks" by

    Description of DES cipher
    DES is the well known U.S. Data Encryption Standard cipher.
    DES encrypts data in 64 bit blocks, using a 64 bit key -- of which
    56 bits are used in the encipherment process.

List of Functions

List of Symbol Definitions

sflcryp.h defines these symbols, possibly conditionally:
Symbol: Defined as:
CRYPT_DES 2 /* DES algorithm */
CRYPT_IDEA 0 /* IDEA algorithm */
CRYPT_MAX_BLOCK_SIZE 32 /* Largest block size, in bytes */
CRYPT_MDC 1 /* MDC algorithm */
CRYPT_TOP 4 /* We support 4 algorithms */
CRYPT_XOR 3 /* A basic XOR algorithm */

| << | < | > | >> iMatix Copyright © 1996-2000 iMatix Corporation