The XTEA ( eXtended Tiny Encryption Algorithm) is a block cipher which is an extension and improvement of the block cipher TEA. XTEA is like TEA known for their simple description and implementation. The code as a C program usually involves only a few lines of code. It was developed by David Wheeler and Roger Needham at Cambridge University in 1997. XTEA is just like its predecessor TEA free of patents.
XTEA works on 64- bit big blocks and uses a 128 -bit long key. It provides a Feistelchiffre with a proposed Feistel round number of 64 dar. Usually it is implemented so that two rounds constitute a cycle. He has a very simple mechanism for generating the respective round key. The introduction of a so-called delta which is defined as such with TEA, prevented an attack that is based on the symmetry of the individual rounds. However, in XTEA the delta is introduced differently in the round, which causes the actual strengthening of the algorithm.
As of 2004, the best known attack in the form of related- key attack on XTEA in an implementation deliberately weaker chosen by only 26 rounds is ( are recommended 64 ) are known. This attack requires at least 220.5 freely chosen plaintext blocks.
It follows the adaptation of the reference implementation of the encryption and decryption routines in C that was released into the public domain by David Wheeler and Roger Needham:
- The original implementation uses the unsigned long type in place of the 64-bit uint32_t suitable types.
- The original code did not use const types.
- The original code avoids redundant parantheses, which reduces the readability of the code.