Документация Алгоритмы шифрования Serpent

# Алгоритм шифрования Serpent

Разработан Ross Anderson, Eli Biham и Lars Knudsen; опубликован в 1998 году. Использует ключ длиной 256 бит и 128-битовые блоки, работает в режиме XTS (см. раздел Режимы работы). Serpent был одним из финалистов конкурса AES. В результате голосования он занял второе место, уступив алгоритму AES (Rijndael), несмотря на то, что у него был более высокий запас безопасности, чем у победившего Rijndael [4]. Говоря конкретнее, у Serpent был высокий запас безопасности, в то время как у Rijndael этот запас только достаточный [4]. Кроме того, в адрес алгоритма Rijndael раздавались критические замечания о том, что его математическая структура в будущем может привести к атакам [4].
В документе [5] команда Twofish представила таблицу запаса прочности финалистов конкурса AES. Запас прочности определялся следующим образом: число раундов полного шифра делилось на наибольшее число раундов, которые были взломаны. Следовательно, взломанный шифр имеет наименьший запас прочности, равный 1. Среди финалистов конкурса AES наибольший запас прочности оказался у Serpent: 3,56 (для всех поддерживаемых размеров ключей). Запас прочности алгоритма Rijndael-256 составил 1,56.
Несмотря на эти факты, победителем в конкурсе AES был выбран всё-таки Rijndael за его сочетание безопасности, производительности, эффективности, возможностей реализации и гибкости [4]. На последней конференции кандидатов AES алгоритм Rijndael получил 86 голосов, Serpent – 59, Twofish – 31, RC6 – 23, и MARS – 13 голосов [18, 19].*

* Это положительные голоса. Если вычесть отрицательные голоса, то получаются следующие результаты: Rijndael: 76 голосов, Serpent: 52 голоса, Twofish: 10 голосов, RC6: -14 голосов, MARS: -70 голосов [19].

Следующий раздел >>