| iMatix home page | << | < | > | >> |
SFLVersion 2.11 |

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 michaelp@terpsichore.informatic.rwth-aachen.de 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.

- Bool crypt encode

(byte *buffer, word buffer_size, int algorithm, const byte *key); - Bool crypt decode

(byte *buffer, word buffer_size, int algorithm, const byte *key); - qbyte calculate crc

(byte *block, size_t length);

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 */ |

SFLCRYP_INCLUDED | TRUE |

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