This directory contains the Unix source for the original LOKI89 and for
LOKI91, the upgraded version of LOKI.
The files it contains are -

	README		- This file
	loki.h		- Interface specification include file for LOKI89 & 91
	loki.i		- LOKI S & P box definition file for LOKI89 & 91
	loki89.c	- Source code for LOKI89
	loki91.c	- Source code for LOKI91
	lokicert.c	- Certification program
	triples89	- LOKI89 certification triplets
	triples91	- LOKI91 certification triplets
	single89, single91 - single LOKI89 & LOKI91 certification triplets
	log.single89, log.single91 - logs of the certification runs on
			single89 & single91 with TRACE=2 defined

To compile the certification program for LOKI89 & 91 use
(note comments in each re DEFINE targets for various options and
architectures):

	cc loki89.c lokicert.c -o cert89
	cc loki91.c lokicert.c -o cert91

To run the certification use

	cert89 < triples89
	cert91 < triples91

LOKI91 differs from LOKI89 in that the key schedule uses 13 bit
rotations instead of 12, and the S-boxes are generated by a slightly
different function. In LOKI89 the base for Galois Field exponentiation
was
	b = col ^ row

In LOKI91 it is

	b = (col + ((row * 17) ^ 0xff)) & 0xff

Otherwise the algorithms are identical. The E-boxes and permutation
functions are unchanged.

Lawrie Brown & Matthew Kwan