@INPROCEEDINGS{Wheeler95tea,a, author = {David Wheeler and Roger Needham}, title = {TEA, a Tiny Encryption Algorithm.}, booktitle = {}, year = {1995}, pages = {97--110}, publisher = {Springer-Verlag} }

Share

OpenURL

Abstract

Introduction We design a short program which will run on most machines and encypher safely. It uses a large number of iterations rather than a complicated program. It is hoped that it can easily be translated into most languages in a compatible way. The first program is given below. It uses little set up time and does a weak non linear iteration enough rounds to make it secure. There are no preset tables or long set up times. It assumes 32 bit words. Encode Routine Routine, written in the C language, for encoding with key k[0] - k[3]. Data in v[0] and v[1]. void code(long* v, long* k) -- unsigned long y=v[0],z=v[1], sum=0, /* set up */ delta=0x9e3779b9, n=32 ; /* a key schedule constant */ while (n--?0) -- /* basic cycle start */ sum += delta ; y += (z!!4)+k[0] z+sum (z??5)+k[1] ; z += (y!!4)+k[2] y+sum (y??5)+k[3] ; /* end cycle */ v[0]=y ; v[1]=z ; Basics of the routine It is a Feistel type routine although addition and subtraction a