SNOW (шифр): различия между версиями
[непроверенная версия] | [непроверенная версия] |
Bff (обсуждение | вклад) оформление, викификация |
добавлены ссылки |
||
Строка 3: | Строка 3: | ||
== История == |
== История == |
||
SNOW 1.0, первоначально просто SNOW, был представлен проекту [[NESSIE]] |
SNOW 1.0, первоначально просто SNOW, был представлен проекту [[NESSIE]]. Шифр работает с 32-битными словами и поддерживает как 128-, так и 256-битные ключи. Шифр состоит из комбинации [[регистр сдвига с линейной обратной связью|регистра сдвига с линейной обратной связью]] (РСЛОС) и [[конечный автомат|конечного автомата]] (КА), где РСЛОС также передает функцию следующего состояния КА. |
||
В первой версии были обнаружены слабые места |
|||
⚫ | |||
<ref name = "snow"> |
|||
{{публикация|статья |
|||
|автор имя= Patrik Ekdahl, Thomas Johansson |
|||
|заглавие= A new version of the stream cipher SNOW |
|||
|язык= en |
|||
|издание= Springer |
|||
|год= 2003 |
|||
|volume= 2595 |
|||
|pages= 47-61 |
|||
|issn= 0302-9743 |
|||
|ссылка= https://link.springer.com/chapter/10.1007/3-540-36492-7_5 |
|||
⚫ | }} </ref>, и в результате SNOW не был включен в набор алгоритмов NESSIE. Авторы разработали новую версию шифра SNOW 2.0, в которой устранили недостатки и улучшили производительность. Во время оценки ETSI SAGE алгоритм шифрования был дополнительно изменён, чтобы повысить его устойчивость к алгебраическим атакам. Результатом таких улучшений стала модификация шифра SNOW 3G<ref> [http://www.gsma.com/aboutus/wp-content/uploads/2014/12/uea2designevaluation.pdf UEA2 Design and Evaluation Report] </ref>. |
||
Версия протокола передачи данных [[5G]] предъявляла высокие требования к криптографическим алгоритмам, используемым для воздушного шифрования, поэтому ''Ericsson Research'' совместно с Лундским университетом пересмотрели алгоритм SNOW 3G и обновили его до нового, более быстрого шифра под названием SNOW-V<ref> {{Cite web| url = https://www.ericsson.com/en/blog/2020/6/encryption-in-virtualized-5g-environments| title = Encryption in virtualized 5G environments}} </ref>. |
Версия протокола передачи данных [[5G]] предъявляла высокие требования к криптографическим алгоритмам, используемым для воздушного шифрования, поэтому ''Ericsson Research'' совместно с Лундским университетом пересмотрели алгоритм SNOW 3G и обновили его до нового, более быстрого шифра под названием SNOW-V<ref> {{Cite web| url = https://www.ericsson.com/en/blog/2020/6/encryption-in-virtualized-5g-environments| title = Encryption in virtualized 5G environments}} </ref>. |
||
Строка 13: | Строка 25: | ||
=== Общая схема работы === |
=== Общая схема работы === |
||
[[Файл:Схема работы SNOW 1.0.jpg|thumb|Схема работы SNOW 1.0]] |
[[Файл:Схема работы SNOW 1.0.jpg|thumb|Схема работы SNOW 1.0]] |
||
Генератор состоит из регистра сдвига с линейной обратной связью длины 16 над полем <math>\mathbb{F}_{2^{32}}</math>. Выход регистра подается на вход конечного автомата. КА состоит из двух 32-битных регистров, называемых R1 и R2, а также некоторых операций для вычисления вывода и следующего состояния (следующего значения R1 и R2). Работа шифра выглядит следующим образом. Сначала выполняется инициализация ключа. Эта процедура обеспечивает начальные значения для РСЛОС, а также для регистров R1, R2 в конечном автомате. Затем первые 32 бита ключевого потока вычисляются путем поразрядного сложения выходных данных КА и последней записи РСЛОС. После этого весь шифр синхронизируется один раз, и следующие 32 бита ключевого потока вычисляются путем ещё одного побитового сложения выходных данных конечного автомата и последней записи РСЛОС. Мы снова синхронизируем и продолжаем в том же духе. |
Генератор состоит из регистра сдвига с линейной обратной связью длины 16 над полем <math>\mathbb{F}_{2^{32}}</math>. Выход регистра подается на вход конечного автомата. КА состоит из двух 32-битных регистров, называемых R1 и R2, а также некоторых операций для вычисления вывода и следующего состояния (следующего значения R1 и R2). Работа шифра выглядит следующим образом. Сначала выполняется инициализация ключа. Эта процедура обеспечивает начальные значения для РСЛОС, а также для регистров R1, R2 в конечном автомате. Затем первые 32 бита ключевого потока вычисляются путем поразрядного сложения выходных данных КА и последней записи РСЛОС. После этого весь шифр синхронизируется один раз, и следующие 32 бита ключевого потока вычисляются путем ещё одного побитового сложения выходных данных конечного автомата и последней записи РСЛОС. Мы снова синхронизируем и продолжаем в том же духе. <ref name="snow" /> |
||
=== Детальная схема работы === |
=== Детальная схема работы === |
||
Строка 38: | Строка 50: | ||
Наконец, [[S-box|S-блок]], обозначаемый S (x), состоит из четырёх идентичных 8-8 битных S-блоков и перестановки полученных битов. Входные данные разделены на 4 байта от, каждый байт входит в нелинейное отображение от 8 бит до 8 бит. После этого отображения биты в результирующем слове переставляются, чтобы сформировать окончательный результат S-блока. |
Наконец, [[S-box|S-блок]], обозначаемый S (x), состоит из четырёх идентичных 8-8 битных S-блоков и перестановки полученных битов. Входные данные разделены на 4 байта от, каждый байт входит в нелинейное отображение от 8 бит до 8 бит. После этого отображения биты в результирующем слове переставляются, чтобы сформировать окончательный результат S-блока. |
||
<ref> |
|||
{{публикация|статья |
|||
|автор= Patrik Ekdahl, Thomas Johansson |
|||
|заглавие= SNOW-a new stream cipher |
|||
|язык= en |
|||
|издание= Proceedings of first open NESSIE workshop, KU-Leuven |
|||
|год= 2000 |
|||
|месяц= 11 |
|||
|день= 13 |
|||
|issue= |
|||
|pages= 167-168 |
|||
|ссылка= https://www.semanticscholar.org/paper/SNOW-A-new-stream-cipher-Ekdahl-Johansson/900e081fa7ba0d0b45e36185e327e1081bf55d28?p2df |
|||
}} </ref> |
|||
== Известные атаки == |
== Известные атаки == |
||
* В феврале 2002 года Филипп Хоукс и Грегори Роуз описали атаку |
* В феврале 2002 года Филипп Хоукс и Грегори Роуз описали атаку методом предположений и определений на SNOW 1.0, в котором используются в основном два свойства, чтобы снизить сложность атаки ниже исчерпывающего поиска ключей. Во-первых, тот факт, что автомат имеет только один вход s(1). Это позволяет злоумышленнику инвертировать операции в конечном автомате и получать больше неизвестных только из нескольких предположений. Второе свойство — неудачный выбор полинома обратной связи в SNOW 1.0.<ref> |
||
{{публикация|статья |
|||
⚫ | * В августе 2003 года Даи Ватанабе, [[Бирюков, Алекс|Алекс Бирюков]] и Кристоф Де Канньер описали атаку |
||
|автор = Philip Hawkes, Gregory G. Rose |
|||
|заглавие= Guess-and-determine attacks on SNOW |
|||
|язык= en |
|||
|издание= Springer |
|||
|год= 2002 |
|||
|volume= 2595 |
|||
|pages= 37–46 |
|||
|doi= 10.1007/3-540-36492-7\_4 |
|||
|ссылка= https://link.springer.com/chapter/10.1007/3-540-36492-7_4 |
|||
}} |
|||
</ref> |
|||
⚫ | * В августе 2003 года Даи Ватанабе, [[Бирюков, Алекс|Алекс Бирюков]] и Кристоф Де Канньер описали атаку на SNOW 2.0 методом линейной маскировки. Эта атака использует <math> 2^{230}</math> битов потока и <math> 2^{225}</math> шагов анализа, что быстрее, чем исчерпывающий поиск 256-битного ключа.<ref> |
||
{{публикация|статья |
|||
|автор = Dai Watanabe, Alex Biryukov, Christophe De Cannière |
|||
|заглавие= A Distinguishing Attack of SNOW 2.0 with Linear Masking Method |
|||
|язык= en |
|||
|издание= Springer |
|||
|год= 2003 |
|||
|volume= 3006 |
|||
|pages= 222-233 |
|||
|ссылка= https://link.springer.com/chapter/10.1007/978-3-540-24654-1_16 |
|||
}} |
|||
</ref> |
|||
== Применение == |
== Применение == |
||
SNOW 2.0 — это один из потоковых шифров, выбранных для стандарта ISO / IEC ISO / IEC 18033-4 [[International Organization for Standardization|ISO/IEC]] standard ISO/IEC 18033-4<ref> {{Cite web|url=https://www.iso.org/standard/54532.html|title=ISO/IEC 18033-4:2011 Information technology — Security techniques — Encryption algorithms — Part 4: Stream ciphers}} </ref>. |
SNOW 2.0 — это один из потоковых шифров, выбранных для стандарта ISO / IEC ISO / IEC 18033-4 [[International Organization for Standardization|ISO/IEC]] standard ISO/IEC 18033-4<ref> {{Cite web|url=https://www.iso.org/standard/54532.html|title=ISO/IEC 18033-4:2011 Information technology — Security techniques — Encryption algorithms — Part 4: Stream ciphers}} </ref>. |
||
SNOW 3G |
|||
⚫ | |||
<ref> |
|||
{{публикация|статья |
|||
|автор = J. Molina-Gil, Caballero-Gil, Caballero-Gil, Amparo Fúster-Sabater |
|||
|заглавие= Analysis and Implementation of the SNOW 3G Generator Used in 4G/LTE Systems |
|||
|язык= en |
|||
|издание= Springer |
|||
|год= 2013 |
|||
|volume= 239 |
|||
|pages= 499-508 |
|||
|isbn = 978-3-319-01854-6 |
|||
|doi = 10.1007/978-3-319-01854-6_51 |
|||
|ссылка= https://link.springer.com/chapter/10.1007/978-3-319-01854-6_51 |
|||
}} |
|||
</ref> |
|||
⚫ | выбран в качестве потокового шифра для алгоритмов шифрования 3GPP UEA2 и UIA2 .<ref>[http://www.quintillion.co.jp/3GPP/Specs/etsi_sage_doc1_v1_1.pdf UEA2 & UIA2 Specification] {{webarchive |url=https://web.archive.org/web/20120319194406/http://www.quintillion.co.jp/3GPP/Specs/etsi_sage_doc1_v1_1.pdf |date=March 19, 2012 }}</ref>. |
||
== Примечания == |
== Примечания == |
||
{{примечания|28em}} |
{{примечания|28em}} |
||
== Литература == |
|||
* [http://www.madchat.fr/crypto/hash-lib-algo/snow/snow10.pdf SNOW — a new stream cipher], описание разработчиков SNOW 1.0 |
|||
* [https://link.springer.com/chapter/10.1007/3-540-36492-7_5 A New Version of the Stream Cipher SNOW], описание разработчиков SNOW 2.0 |
|||
* [https://tosc.iacr.org/index.php/ToSC/article/view/8356 A new SNOW stream cipher called SNOW-V], описание разработчиков SNOW-V |
|||
{{симметричные криптоалгоритмы}} |
{{симметричные криптоалгоритмы}} |
Версия от 08:58, 13 ноября 2020
SNOW | |
---|---|
Предназначение | Шифрование |
SNOW — словоориентированный синхронный поточный шифр, разработанный в 2000 году в Лундском университете (Швеция).
История
SNOW 1.0, первоначально просто SNOW, был представлен проекту NESSIE. Шифр работает с 32-битными словами и поддерживает как 128-, так и 256-битные ключи. Шифр состоит из комбинации регистра сдвига с линейной обратной связью (РСЛОС) и конечного автомата (КА), где РСЛОС также передает функцию следующего состояния КА.
В первой версии были обнаружены слабые места [1], и в результате SNOW не был включен в набор алгоритмов NESSIE. Авторы разработали новую версию шифра SNOW 2.0, в которой устранили недостатки и улучшили производительность. Во время оценки ETSI SAGE алгоритм шифрования был дополнительно изменён, чтобы повысить его устойчивость к алгебраическим атакам. Результатом таких улучшений стала модификация шифра SNOW 3G[2].
Версия протокола передачи данных 5G предъявляла высокие требования к криптографическим алгоритмам, используемым для воздушного шифрования, поэтому Ericsson Research совместно с Лундским университетом пересмотрели алгоритм SNOW 3G и обновили его до нового, более быстрого шифра под названием SNOW-V[3].
Cхема работы SNOW
Общая схема работы
Генератор состоит из регистра сдвига с линейной обратной связью длины 16 над полем . Выход регистра подается на вход конечного автомата. КА состоит из двух 32-битных регистров, называемых R1 и R2, а также некоторых операций для вычисления вывода и следующего состояния (следующего значения R1 и R2). Работа шифра выглядит следующим образом. Сначала выполняется инициализация ключа. Эта процедура обеспечивает начальные значения для РСЛОС, а также для регистров R1, R2 в конечном автомате. Затем первые 32 бита ключевого потока вычисляются путем поразрядного сложения выходных данных КА и последней записи РСЛОС. После этого весь шифр синхронизируется один раз, и следующие 32 бита ключевого потока вычисляются путем ещё одного побитового сложения выходных данных конечного автомата и последней записи РСЛОС. Мы снова синхронизируем и продолжаем в том же духе. [1]
Детальная схема работы
В начальный момент времени t = 0 происходит инициализация регистра сдвига 32-битными значениями .
Обратная связь регистра сдвига задается многочленом:
где порождается неприводимым многочленом
- ,
над и .
Выход КА назовем . Он рассчитывается по следующей формуле:
- ,
где — целочисленное сложение Выход конечного автомата сравнивается с s(16) по модулю 2 для формирования потокового ключа, то есть
- ,
где — сложение по mod2 Для конечного формирования шифр-текста потоковый ключ сравнивается с открытым текстом по модулю 2. Внутри конечного автомата новые значения для R1 и R2 присваиваются по следующим формулам:
- ,
где — циклический сдвиг влево
Наконец, S-блок, обозначаемый S (x), состоит из четырёх идентичных 8-8 битных S-блоков и перестановки полученных битов. Входные данные разделены на 4 байта от, каждый байт входит в нелинейное отображение от 8 бит до 8 бит. После этого отображения биты в результирующем слове переставляются, чтобы сформировать окончательный результат S-блока. [4]
Известные атаки
- В феврале 2002 года Филипп Хоукс и Грегори Роуз описали атаку методом предположений и определений на SNOW 1.0, в котором используются в основном два свойства, чтобы снизить сложность атаки ниже исчерпывающего поиска ключей. Во-первых, тот факт, что автомат имеет только один вход s(1). Это позволяет злоумышленнику инвертировать операции в конечном автомате и получать больше неизвестных только из нескольких предположений. Второе свойство — неудачный выбор полинома обратной связи в SNOW 1.0.[5]
- В августе 2003 года Даи Ватанабе, Алекс Бирюков и Кристоф Де Канньер описали атаку на SNOW 2.0 методом линейной маскировки. Эта атака использует битов потока и шагов анализа, что быстрее, чем исчерпывающий поиск 256-битного ключа.[6]
Применение
SNOW 2.0 — это один из потоковых шифров, выбранных для стандарта ISO / IEC ISO / IEC 18033-4 ISO/IEC standard ISO/IEC 18033-4[7].
SNOW 3G [8] выбран в качестве потокового шифра для алгоритмов шифрования 3GPP UEA2 и UIA2 .[9].
Примечания
- ↑ 1 2 A new version of the stream cipher SNOW : [англ.] // Springer. — 2003. — Vol. 2595. — P. 47-61. — ISSN 0302-9743.
- ↑ UEA2 Design and Evaluation Report
- ↑ Encryption in virtualized 5G environments .
- ↑ Patrik Ekdahl, Thomas Johansson. SNOW-a new stream cipher : [англ.] // Proceedings of first open NESSIE workshop, KU-Leuven. — 2000. — 13 November. — P. 167-168.
- ↑ Philip Hawkes, Gregory G. Rose. Guess-and-determine attacks on SNOW : [англ.] // Springer. — 2002. — Vol. 2595. — P. 37–46. — doi:10.1007/3-540-36492-7\_4.
- ↑ Dai Watanabe, Alex Biryukov, Christophe De Cannière. A Distinguishing Attack of SNOW 2.0 with Linear Masking Method : [англ.] // Springer. — 2003. — Vol. 3006. — P. 222-233.
- ↑ ISO/IEC 18033-4:2011 Information technology — Security techniques — Encryption algorithms — Part 4: Stream ciphers .
- ↑ J. Molina-Gil, Caballero-Gil, Caballero-Gil, Amparo Fúster-Sabater. Analysis and Implementation of the SNOW 3G Generator Used in 4G/LTE Systems : [англ.] // Springer. — 2013. — Vol. 239. — P. 499-508. — ISBN 978-3-319-01854-6. — doi:10.1007/978-3-319-01854-6_51.
- ↑ UEA2 & UIA2 Specification Архивировано 19 марта 2012 года.
Статья является кандидатом в добротные статьи с 11 ноября 2020. |