TEA: различия между версиями

[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
отмена правки 82596819 участника 80.12.37.239 (обс.) вандализм
оформление
Строка 13:
}}
 
В [[Криптография|криптографии]],'''Tiny Encryption Algorithm (TEA)'''<ref name="teasite">[http://143.53.36.235:8080/tea.htm Страница шифра TEA]</ref> — [[Блочный шифр|блочный алгоритм шифрования]] типа «[[Сеть Фейстеля]]». Алгоритм был разработан на факультете компьютерных наук [[Кембриджский университет|Кембриджского университета]] [[Дэвид {{iw|Уилер, Дэвид|Дэвидом Уилером]]|en|David Wheeler (British computer scientist)}} (''David Wheeler'') и [[Нидхем, Роджер|Роджером Нидхэмом]] (''Roger Needham'') и впервые представлен в [[1994 год]]у<ref name="tea">Roger M. Needham and David J. Wheeler. [http://www.cix.co.uk/~klockstone/tea.pdf TEA, a Tiny Encryption Algorithm]</ref> на симпозиуме по быстрым алгоритмам шифрования в [[Лёвен]]е ([[Бельгия]]).
 
Шифр не [[патент]]ован, широко используется в ряде криптографических приложений и широком спектре аппаратного обеспечения благодаря крайне низким требованиям к памяти и простоте реализации. Алгоритм имеет как программную реализацию на разных [[Язык программирования|языках программирования]], так и аппаратную реализацию на [[Интегральная схема|интегральных схемах]] типа [[Программируемая пользователем вентильная матрица|FPGA]].
Строка 50:
* X <math>\oplus</math> Y — побитовое [[Сложение по модулю 2|исключающее «ИЛИ» (XOR)]] чисел X и Y, которое в [[Си (язык программирования)|языке программирования Си]] обозначается как X ^ Y
* X <math>\ll</math> Y и X <math>\gg</math> Y — операции [[битовый сдвиг|побитового сдвига]] числа X на Y бит влево и вправо соответственно.
* Константа δ была выведена из [[Золотое сечение|Золотого сечения]] δ = (<math>\sqrt{5}</math> - — 1) * 2<sup>31</sup> = 2654435769 = 9E3779B9<sub>h</sub><ref name="tea" />. В каждом раунде константа умножается на номер цикла i. Это было сделано для предотвращения простых атак, основанных на симметрии раундов.
 
Также очевидно, что в алгоритме шифрования TEA нет как такового алгоритма расписания ключей. Вместо этого в нечётных раундах используются подключи К[0] и К[1], в чётных — К[2] и К[3].
Строка 196:
! Название алгоритма || Стандартное количество раундов сети Фейстеля|| Размер блока || Размер ключа
|-
| TEA || 64 || 64 бита || 128 бит
|-
| XTEA || 64 || 64 бита || 128 бит
|-
| XTEA-1 || 32 || 64 бита || 128 бит
|-
| XTEA-2 || 64 || 128 бит || 128 бит
Строка 206:
| XTEA-3 || 64 || 128 бит || 256 бит
|-
| XXTEA || 52 + 12 * M || 64 * M бит || 128 бит
|-
| RTEA || 48 или 64 || 64 бита || 128 или 256 бит
|-
| Raiden || 32 || 64 бита || 128 бит
|}
 
* В то же время, авторы алгоритма TEA на своей официальной странице<ref name="teasite" /> обращают внимание на то, что в реальных условиях практического использования алгоритм TEA все ещеещё остается довольно надежным и все найденные уязвимости, как правило, не являются критичными, к примеру, при передаче данных в реальном времени.
 
== См. также ==
Строка 222 ⟶ 223 :
 
== Примечания ==
{{примечания|2}}
 
== Ссылки ==
Строка 240 ⟶ 241 :
* [http://www.blog-dotnet.com/post/Tiny-Encryption-Algorithm-(TEA)-in-Visual-BasicNET.aspx Visual Basic.NET implementation of TEA]
 
{{Симметричные криптосистемы}}
{{симметричные криптоалгоритмы}}
 
[[Категория:Сеть Фейстеля]]