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