A method and apparatus for encryption of data are provided, in which the
data is made up of a series of data items (600). The data items (600)
maybe bytes of data or blocks of data. The method includes providing a
plurality of encryption algorithms (604), selecting when to change
encryption algorithm (601), selecting which encryption algorithm to
change to (603), wherein each selection is carried out by applying a
Chaotic and/or Catastrophic equation. The plurality of encryption
algorithms (604) have index numbers and the generation of an index number
by applying the Chaotic or Catastrophic equation selects an encryption
algorithm. The selection of when to change encryption algorithm may be
determined by a Catastrophic event in the Catastrophic equation and the
selection of encryption algorithm may be determined by the surface of a
Catastrophic curve on which a point lies, wherein each surface
corresponds to an encryption algorithm. The selection of when to change
encryption algorithm may be carried out by generating a data item count
by applying a Chaotic equation and the encryption algorithm may be
selected by generating its index number by applying a Chaotic equation.