Sign in Join
FPDoc Onlineexperiment

Idea unit

The IDEA unit provides IDEA encryption support.

Besides some low level IDEA encryption routines, the IDEA unit also offers 2 streams which offer on-the-fly encryption or decryption: there are 2 stream objects: A write-only encryption stream which encrypts anything that is written to it, and a decryption stream which decrypts anything that is read from it.

Classes and records

EIDEAErrorclassException for IDEA Stream errors.
TIDEADeCryptStreamclassIDEA Decryption stream.
TIDEAEncryptStreamclassIDEA encryption stream.
TIDEAStreamclassAncestor stream for IDEA encryption/decryption streams.

Procedures and functions

CipherIdeaprocedureEncrypt or decrypt a buffer.
DeKeyIdeaprocedureCreate a decryption key from an encryption key.
EnKeyIdeaprocedureCreate an IDEA encryption key from a user key.

Types

IdeaCryptDatatypeAlias for for TIDEACryptData.
IdeaCryptKeytypeAlias for for TIDEACryptKey.
IDEAkeytypeAlias for TIDEAKey.
TIdeaCryptDatatypeBuffer type to hold encryption data.
TIdeaCryptKeytypeType for holding an encryption/decryption IDEA key.
TIDEAKeytypeType for holding a user IDEA key.

Constants

IDEABLOCKSIZEconstantIDEA block size.
IDEAKEYSIZEconstantIDEA Key size constant.
KEYLENconstantKey length.
ROUNDSconstantNumber of rounds to encrypt.

Uses

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.