
Intel MCS-51 implementation of the Serpent AES cipher
-----------------------------------------------------

Vincent Journot <journot.vincent@lemel.fr>
Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>

2000-05-11


The files included are

  - serpent.asm: an 8051 implementation of Serpent in assembly
    language. It is public domain and should be used by anyone who'd
    like to see the performance of Serpent on 8-bit microcontrollers,
    such as in smart cards. The implementation covers only encryption.
    Decryption is left as an exercise for the reader.

  - serpent.pdf: an explanation of the implementation.

  - hare.asm: a faster implementation of Serpent but its code size is
    7130 bytes instead of 2021 bytes for serpent.asm. Therefore you
    would find it difficult to load the code on some microcontrollers.

  - otheraes/: other 8051 implementations of AES candidates that were
    used for the performance comparison

The assembler used was ML-ASM51.ZIP available from

    ftp://ftp.funet.fi/pub/microprocs/MCS-51/signetics-bbs/

The simulator used to test the implementation was the "535 Simulator"
by Hernando Vasquez <hvasquez@mundivia.es> and can be downloaded from:

    http://yo.mundivia.es/hvasquez/sim535/index.htm

But, to be able to load a code whose size exceeds 1 Kbyte, you'll have
to register.

Enjoy ...
