Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Блок-шифр
Block cipher
В криптографии, Tiny Encryption Algorithm (TEA) — это блочный шифр, примечательный своей простотой описания и реализации, обычно занимающей всего несколько строк кода. Он был разработан Дэвидом Уилером и Роджером Нидхемом из Кембриджской компьютерной лаборатории; впервые он был представлен на семинаре Fast Software Encryption в Лёвене в 1994 году и впервые опубликован в материалах этого семинара. Шифр не защищен патентами.
In cryptography, the Tiny Encryption Algorithm (TEA) is a block cipher notable for its simplicity of description and implementation, typically a few lines of code. It was designed by David Wheeler and Roger Needham of the Cambridge Computer Laboratory; it was first presented at the Fast Software Encryption workshop in Leuven in 1994, and first published in the proceedings of that workshop. The cipher is not subject to any patents.
Свойства
TEA работает с двумя 32-битными беззнаковыми целыми числами (которые могут быть получены из 64-битного блока данных) и использует 128-битный ключ. Он имеет структуру Фейстеля с рекомендованными 64 раундами, обычно реализуемыми парами, называемыми циклами. Алгоритм обладает крайне простым расширением ключа, смешивающим весь ключевой материал одинаковым образом для каждого цикла. Для предотвращения простых атак, основанных на симметрии раундов, используются различные кратные магической константы. Магическая константа, 2654435769 или 0x9E3779B9, выбрана как , где – золотое сечение (как число, полученное "из рукава"). В результате TEA особенно плохо подходит для использования в качестве криптографической хеш-функции. Эта слабость привела к разработке метода взлома игровой консоли Xbox от Microsoft, где шифр использовался как хеш-функция. TEA также уязвим для атаки с использованием связанных ключей, требующей 223 выбранных открытых текста при использовании пары связанных ключей, с временной сложностью 2<sup>32</sup>. Из-за этих недостатков был разработан шифр XTEA.
TEA operates on two 32 bit unsigned integers (could be derived from a 64 bit data block) and uses a 128 bit key. It has a Feistel structure with a suggested 64 rounds, typically implemented in pairs termed cycles. It has an extremely simple key schedule, mixing all of the key material in exactly the same way for each cycle. Different multiples of a magic constant are used to prevent simple attacks based on the symmetry of the rounds. The magic constant, 2654435769 or 0x9E3779B9 is chosen to be , where is the golden ratio (as a nothing up my sleeve number). As a result, TEA is especially bad as a cryptographic hash function. This weakness led to a method for hacking Microsoft's Xbox game console, where the cipher was used as a hash function. TEA is also susceptible to a related key attack which requires 223 chosen plaintexts under a related key pair, with 232 time complexity. Because of these weaknesses, the XTEA cipher was designed.
Версии
Первая опубликованная версия TEA была дополнена второй версией, в которой были добавлены расширения для повышения безопасности. Блок TEA (определенный вместе с XTEA) работает с блоками произвольного размера вместо 64-битных блоков исходной версии. Третья версия (XXTEA), опубликованная в 1998 году, описывала дальнейшие улучшения, направленные на повышение безопасности алгоритма Block TEA.
The first published version of TEA was supplemented by a second version that incorporated extensions to make it more secure. Block TEA (which was specified along with XTEA) operates on arbitrary size blocks in place of the 64 bit blocks of the original. A third version (XXTEA), published in 1998, described further improvements for enhancing the security of the Block TEA algorithm.