SNOW (шифр): различия между версиями
[непроверенная версия] | [непроверенная версия] |
Нет описания правки |
обновление известных атак |
||
Строка 46: | Строка 46: | ||
== Известные атаки == |
== Известные атаки == |
||
* В феврале 2002 года Хоукс и Роуз описали атаку <ref>{{Cite web|url = https://www.researchgate.net/publication/221274592_Guess-and-determine_attacks_on_SNOW| title = Guess-and-determine attacks on SNOW}}</ref> методом предположений и определений на SNOW 1.0, в котором используются в основном два свойства, чтобы снизить сложность атаки ниже исчерпывающего поиска ключей. Во-первых, тот факт, что автомат имеет только один вход s(1). Это позволяет злоумышленнику инвертировать операции в конечном автомате и получать больше неизвестных только из нескольких предположений. Второе свойство - неудачный выбор полинома обратной связи в SNOW 1.0. |
* В феврале 2002 года Хоукс и Роуз описали атаку <ref>{{Cite web|url = https://www.researchgate.net/publication/221274592_Guess-and-determine_attacks_on_SNOW| title = Guess-and-determine attacks on SNOW}}</ref> методом предположений и определений на SNOW 1.0, в котором используются в основном два свойства, чтобы снизить сложность атаки ниже исчерпывающего поиска ключей. Во-первых, тот факт, что автомат имеет только один вход s(1). Это позволяет злоумышленнику инвертировать операции в конечном автомате и получать больше неизвестных только из нескольких предположений. Второе свойство - неудачный выбор полинома обратной связи в SNOW 1.0. |
||
*В августе 2003 года Ватанабе, Бирюков и Кристоф Де Канньер описали атаку <ref>{{Cite web|url = https://link.springer.com/chapter/10.1007/978-3-540-24654-1_16| title = A Distinguishing Attack of SNOW 2.0 with Linear Masking Method}}</ref> на SNOW 2.0 методом линейной маскировки. Эта атака использует <math> 2^{230}</math> битов потока и <math> 2^{225}</math> шагов анализа, что быстрее, чем исчерпывающий поиск 256-битного ключа. |
|||
== Применение == |
== Применение == |
Версия от 20:47, 20 октября 2020
Эту статью Инкубатора предлагается удалить. |
SNOW 1.0, SNOW 2.0, и SNOW 3G — словоориентированный синхронный поточный шифр, разработанный в 2000 в Лундском университете, Швеция.
История
SNOW 1.0, первоначально просто SNOW, был представлен проекту NESSIE. Шифр не имеет известной интеллектуальной собственности или других ограничений. Шифр работает с 32-битными словами и поддерживает как 128-, так и 256-битные ключи. Шифр состоит из комбинации регистра сдвига с линейной обратной связью (LFSR) и конечного автомата (FSM), где LFSR также передает функцию следующего состояния FSM. Шифр имеет короткую фазу инициализации и очень хорошую производительность как на 32-битных процессорах, так и на оборудовании.
Во время оценки были обнаружены слабые места, и в результате SNOW не был включен в набор алгоритмов NESSIE. Авторы разработали новую версию шифра SNOW 2.0, в которой устранены недостатки и улучшена производительность.
Во время оценки ETSI SAGE дизайн был дополнительно изменен, чтобы повысить его устойчивость к алгебраическим атакам с результатом, названным SNOW 3G.[1]
Было обнаружено, что связанные ключи существуют как для SNOW 2.0, так и для SNOW 3G, что позволяет атаковать SNOW 2.0 в модели связанных ключей.
Cхема работы SNOW
Общая схема работы
Генератор состоит из регистра сдвига с линейной обратной связью длины 16 над полем , питающего конечный автомат. FSM состоит из двух 32-битных регистров, называемых R1 и R2, а также некоторых операций для вычисления вывода и следующего состояния (следующего значения R1 и R2). Работа шифра выглядит следующим образом. Сначала выполняется инициализация ключа. Эта процедура обеспечивает начальные значения для LFSR, а также для регистров R1, R2 в конечном автомате. Затем первые 32 бита ключевого потока вычисляются путем поразрядного сложения выходных данных FSM и последней записи LFSR. После этого весь шифр синхронизируется один раз, и следующие 32 бита ключевого потока вычисляются путем еще одного побитового сложения выходных данных конечного автомата и последней записи LFSR. Мы снова синхронизируем и продолжаем в том же духе.
Детальная схема работы
В начальный момент времени t = 0 происходит инициализация регистра сдвига 32-битными значениями .
Обратная связь регистра сдвига задается многочленом:
где порождается неприводимым многочленом
- ,
над и .
Выход FSM назовем . Он рассчитывается по следующей формуле:
Выход конечного автомата сравнивается с s(16) по модулю 2 для формирования потокового ключа, т.е.
Для конечного формирования шифр-текста потоковый ключ сравнивается с открытым текстом по модулю 2. Внутри [конечный автомат|конечного автомата]] новые значения для R1 и R2 присваиваются по следующим формулам:
Наконец, S-блок, обозначаемый S (x), состоит из четырех идентичных 8-8 битных S-блоков и перестановки полученных битов. Входные данные разделены на 4 байта от , каждый байт входит в нелинейное отображение от 8 бит до 8 бит. После этого отображения биты в результирующем слове переставляются, чтобы сформировать окончательный результат S-блока.
- - целочисленное сложение ,
- - циклический сдвиг влево,
- - сложение по mod2
Известные атаки
- В феврале 2002 года Хоукс и Роуз описали атаку [2] методом предположений и определений на SNOW 1.0, в котором используются в основном два свойства, чтобы снизить сложность атаки ниже исчерпывающего поиска ключей. Во-первых, тот факт, что автомат имеет только один вход s(1). Это позволяет злоумышленнику инвертировать операции в конечном автомате и получать больше неизвестных только из нескольких предположений. Второе свойство - неудачный выбор полинома обратной связи в SNOW 1.0.
- В августе 2003 года Ватанабе, Бирюков и Кристоф Де Канньер описали атаку [3] на SNOW 2.0 методом линейной маскировки. Эта атака использует битов потока и шагов анализа, что быстрее, чем исчерпывающий поиск 256-битного ключа.
Применение
SNOW использовался в проекте ESTREAM как эталонный шифр для оценки производительности.
SNOW 2.0 - это один из потоковых шифров, выбранных для стандарта ISO / IEC ISO / IEC 18033-4 ISO/IEC standard ISO/IEC 18033-4[4].
SNOW 3G [5] выбран в качестве потокового шифра для алгоритмов шифрования 3GPP UEA2 и UIA2 .[6].
Примечания
- ↑ UEA2 Design and Evaluation Report
- ↑ Guess-and-determine attacks on SNOW .
- ↑ A Distinguishing Attack of SNOW 2.0 with Linear Masking Method .
- ↑ ISO/IEC 18033-4:2011 Information technology — Security techniques — Encryption algorithms — Part 4: Stream ciphers .
- ↑ Snow 3G . Дата обращения: 13 октября 2017.
- ↑ UEA2 & UIA2 Specification Архивировано 19 марта 2012 года.
Литература
- SNOW - a new stream cipher, описание разработчиков SNOW 1.0
- A New Version of the Stream Cipher SNOW, описание разработчиков SNOW 2.0