|  | 
 | ||||
|        | |||||
|  | |||
| Functions | |||
| Blowfish (OMBLOWFISH) | |||
OMBLOWFISH is a low-level OmniMark interface to the Blowfish cryptographic algorithm. The Blowfish encryption algorithm is described in [1] Bruce Schneier, ``Description of a New Variable-Length Key, 64-bit Block Cipher (Blowfish)'', Fast Software Encryption, Cambridge Security Workshop, p. 191--204, December 09--11, 1993.
The library provides functions for encoding and decoding 64-bit
quantities using an encryption key. These 64-bit quantities are
represented as OmniMark strings with a length of eight characters. An
input string longer than eight characters is rejected; an input string
shorter than eight characters is padded to a length of eight
characters using null bytes.
A more convenient interface to the Blowfish algorithm is provided by the OMFFBLOWFISH library, which provides filter functions for encrypting and decrypting data in a streaming fashion. It, in turn, uses this library for its low-level implementation.
The OMBLOWFISH library provides three external functions and one external data type; it also provides one conversion function as a convenience.
state is an external data type that represents the state of a
     decryption or encryption calculation.
 
decode is an external function that takes a 64-bit quantity and a
 state, and returns the decrypted value as a 64-bit quantity,
     encased as a string.
 
encode is an external function that takes a 64-bit quantity and a
     state, and returns the encrypted value as a 64-bit quantity,
     encased as a string
 
set-encryption-key takes an encryption key as a string and a
     state, and initializes the state using the encryption key.
The conversion function provided by OMBLOWFISH takes a string and
returns a fully-initialized state. This can be convenient when
initializing a local state.
To use OMBLOWFISH in your OmniMark program, you must import it into
your program using a statement like this:
import "omblowfish.xmd" prefixed by blowfish.
This is a complete list of the OMBLOWFISH library external exceptions that may be
thrown back to the calling OmniMark program.  These are all catchable using
the #external-exception label.
| Functions | 
Copyright © Stilo International plc, 1988-2010.