KCipher-2

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
KCipher-2 (K2 Stream Cipher)
Создатель:

KDDI R&D Laboratories, Inc.

Опубликован:

2007

Размер ключа:

128 бит

Тип:

Потоковый шифр

KCipher-2 (обновленная версия K2 Stream Cipher) — высокопроизводительный симметричный потоковый шифр (генератор потокового ключа), разработанный тремя японскими криптографами: Toshiaki Tanaka, Shinsaku Kiyomoto, Kouichi Sakurai. Шифр использует 2 независимых входных параметра, 128-битовый ключ и 128-битовый инициализирующий вектор. Использование данного алгоритма KCipher-2 позволяет повысить уровень защищенности в ряде сервисов, таких как мультимедийные сервисы и услуги широкополосной связи.[1][2]

KCipher-2 может быть эффективно реализован в программном обеспечении для быстрого шифрования и расшифровки, благодаря своей несложной конструкции. Используются только 4 простые операции: исключающее "ИЛИ", сложение, сдвиг и таблицы поиска. Если алгоритм реализован в оборудовании, то внутренние вычисления могут быть распараллелены для достижения большей эффективности. Более того, так как внутреннее представление исчисляется всего лишь сотнями бит, KCipher-2 подходит для условий с ограниченными ресурсами.[1]

История[править | править вики-текст]

Шифр впервые был опубликован[3] как "K2 Stream Cipher" на специальной секции "Современное состояние потоковых шифров" (SASC) в 2007 году, организованной Европейской сетью передового опыта в области криптологии (ENCRYPT). С тех пор как алгоритм шифра был опубликован, его безопасность и эффективность были тщательно оценены посредством академических и промышленных исследований. В 2012 году KCipher-2 был включен в международный стандарт потоковых шифров ISO/IEC 18033-4, и в марте 2013-го года Японское Министерство внутренних дел и Коммуникаций совместно с Министерством Экономики, Торговли и Промышленности объявили о включении шифра в список рекомендованных электронным правительством шифров. На момент публикации RFC 7008, август 2013 г., уязвимостей не было обнаружено. KCipher-2 используется в промышленных программах, особенно в мобильном мониторинге здоровья и сервисах диагностики в Японии.[1][2]

Достигнутая производительность[2][править | править вики-текст]

Скорости свыше 5 Гб/с были достигнуты на ПК. KCipher-2 может расшифровать фильм размером в 4,7 ГБ за 8 секунд, в то время как американскому стандарту AES потребовалось бы 1,5 минуты.

Скорости свыше 380 Мб/с достигнуты на смартфонах, оборудованных ОС Android. Расшифровка 400 видео файлов (размером 100 КБ каждый) происходит приблизительно за 1 секунду, что в 7-10 раз быстрее AES.

Уровень загруженности центрального процессора в 0,5% был достигнут при расшифровки видео, эквивалентного 1seg, на мобильном телефоне при воспроизведении в режиме реального времени, что являлось невозможным при существующих методах.

Алгоритм конфигурации не зависит от архитектуры центрального процессора. Он может обеспечить достаточную производительность в различных средах.

Основные характеристики[4][править | править вики-текст]

  • 128-битный ключ
  • 128-битный инициализирующий вектор
  • 640-битное состояние
  • Шестнадцать 32-битных регистров (РСОС-А, РСОС-В)
  • Четыре 32-битные внутренних регистра памяти в нелинейной функции
  • 64-битный ключевой поток в одном цикле
  • Максимальное число циклов без повторной инициализации — ( бит ключевого потока)

Обоснование выбора модели[5][править | править вики-текст]

Основные потоковые шифры используют несколько независимых регистров сдвига с линейной обратной связью (РСЛОС) совместно с нелинейными функциями для генерации потокового ключа. Некоторые потоковые шифры используют общую нелинейную функцию для неравномерного тактирования одного или более РСЛОС. Описаны разнообразные управляющие тактами потоковые шифры и атаки на них.

Механизм контроля тактов потоковых шифров обычно либо контролирует тактирование РСЛОС, либо прореживает или сужает вывод. Такое управление тактами ухудшает производительность потокового шифра, потому что некоторые выходные биты отбрасываются. Если применить сжатие к потоковому шифру с пословной обработкой, то производительность заметно ухудшится. Бит-ориентированный механизм тактового контроля также малоэффективен для улучшения РСЛОС. С другой стороны, динамическая обратная связь для РСЛОС является эффективным методом улучшения безопасности потоковых шифров.

KCipher-2 — это потоковый шифр, который оперирует словами и имеет действенную динамическую обратную связь для неравномерного тактирования. Основная идея модели — скорректировать операцию смешения во время обновления состояния. Полиномы с обратной связью для РСЛОС с пословной обработкой описываются коэффициентами; умножение входного слова на коэффициент означает смешение слов. Типичным примером является РСЛОС шифра SNOW2.0[3]. В общем случае полином с обратной связью — примитивный полином. Создатели применяют неравномерное тактирование для смешивающей операции, и модификация вызывает лишь небольшое ухудшение скорости шифрования и расшифровки. Другими словами, по крайней мере один РСОС неравномерно тактируется, чтобы динамически модифицировать функцию обратной связи для контроллера с динамической обратной связью, который получает выходные данные от других РСОС. Например функция с обратной связью определенная как , где (0,1) выбираются контроллером с динамической обратной связью. РСОС, контролируемый таким контроллером, называется регистром сдвига с динамической обратной связью (РСДОС). Механизм управления динамической обратной связью улучшает безопасность потокового шифра, потому что заменяет детерминированные линейные повторы некоторых регистров на вероятностные. Это эффективно защищает от ряда атак. Главное, KCipher-2 достигает не только высокой производительности подобно потоковым шифрам, основанным на РСЛОС, но и высокой защищенности.

Скорость генерации потокового ключа KCipher-2 составляет 4.97 циклов/байт в серии Pentium 4. Таким образом, данный шифр составляет конкуренцию другим потоковым шифрам из списка CRYPTREC. К тому же, KCipher-2 разрабатывался с учетом двух атак на SNOW2.0, алгебраической и дифференциальной, и имеет к ним бо́льшую устойчивость. Фактически, до сих пор не обнаружено атак на KCipher-2, меньших операций. В итоге KCipher-2 достигает высшей защищенности чем существующие потоковые шифры.

Компоненты и функции KCipher-2[4][править | править вики-текст]

KCipher-2 состоит из двух типов регистров сдвигов с обратной связью (РСОС), РСОС-А (5 регистров) и РСОС-В (11 регистров), нелинейной функции с четырьмя внутренними регистрами R1, R2, L1, L2 и управляющего устройства динамической обратной связи. РСОС-В — регистр сдвига с динамической обратной связью. Размер каждого регистра составляет 32 бита.

Оценка безопасности шифра[6][править | править вики-текст]

К. Ю. Лювен провёл криптографическую оценку шифра K2. Оценка основана на попытках атаковать К2 различными способами, соответствующими передовым достижениям криптоанализа потоковых шифров. Его работа включала анализ линейных атак, алгебраических атак, корреляционных и быстрых корреляционных атак, дифференциальных атак, включающих установку связанных ключей, атак "предполагать и определять", статистических свойств, периодичности и дифференциальных атак.

Относительно линейных атак был применен метод линейной маскировки версии К2, игнорирующий эффект динамической обратной связи. Лучшая найденная корреляция использует 13 линейных приближений и составляет , что не допускает успешных атак. В алгебраическом анализе изучены структура и количественные свойства полученных систем уравнений, и утверждается, что алгебраические атаки неосуществимы. Анализ в отношении корреляционных и быстрых корреляционных атак (также не принимая во внимание контроллер динамической обратной связи) показал, что данный подход безуспешен. Дифференциальный анализ (в предположении, что отсутствует контроллер динамической обратной связи и сложение по модулю заменено на исключающее "ИЛИ"), включающий атаку на связанном ключе, связанном инициализирующем векторе, а так же сочетание этих атак, полагает, что К2 может быть устойчивым против дифференциальных атак. Подходы к байтово- и словесно-ориентированным атакам "предполагать и определять" дали результат сложностью , откуда следует, что эти методы неприменимы к К2. Что касается рассмотрения периодичности, коротких периодов в К2 не было найдено. Статистические тесты не обнаружили никаких структурных недостатков в модели К2. Анализы также показали, что К2 также обеспечивает хорошую устойчивость против дифференциальных атак по модулю n.

Таким образом, в К2 уязвимостей не было обнаружено и шифр считается устойчивым.

Интеллектуальная собственность и лицензии[7][править | править вики-текст]

Всё интеллектуальное имущество, связанное с KCipher-2, принадлежит корпорации KDDI. Эксперты CRYPTREC могут использовать KCipher-2 без лицензионных отчислений. KCipher-2 будет обеспечен любой правительственной организации по умеренной цене и разумным условиям.

Продукты и системы KCipher-2[7][править | править вики-текст]

Корпорация KDDI R & D Laboratories произвела пакет программ для разработки приложений (SDK) для KCipher-2. Данный шифровальный алгоритм используется в следующих системах/приложениях:

  • Система мобильной связи государственного учреждения (2000 лицензий)
  • Локационная система управления государственного учреждения (5000 лицензий)
  • ПО для рабочих групп на базе Интернет-технологий (1000 лицензий)
  • Мультимедийный проигрыватель для потребительских приложений (около миллиона пользователей)

Версии шифра[4][править | править вики-текст]

Дата Версия История изменений
Январь 2007 K2 Ver.1.0[6] Первая публикация на международной конференции.
Июль 2007 K2 Ver.2.0[7] Шаг загрузки ключа в процессе инициализации был изменен, чтобы более эффективно распространять ключ и инициализирующий вектор во внутреннее состояние.
2008 KCipher-2 Ver.2.0 Было изменено только имя шифра с "K2" на "KCipher-2".

Литература[править | править вики-текст]

Примечания[править | править вики-текст]

  1. 1 2 3 Shin, Wook, Kiyomoto, Shinsaku. A Description of the KCipher-2 Encryption Algorithm. tools.ietf.org. Проверено 13 ноября 2016.
  2. 1 2 3 Product Outline|KCipher-2 | KDDI Research. Проверено 15 ноября 2016.
  3. Kiyomoto, S., Tanaka, T., and Sakurai, K. "A Word-Oriented Stream Cipher Using Clock Control". — 2007. — Январь. — С. 260-274.
  4. 1 2 3 Shinsaku Kiyomoto, Toshiaki Tanaka, Kouichi Sakurai K2 Stream Cipher (англ.) // E-business and Telecommunications / Joaquim Filipe, Mohammad S. Obaidat. — Springer Berlin Heidelberg, 2007-07-28. — P. 214–226. — ISBN 9783540886525, 9783540886532. — DOI:10.1007/978-3-540-88653-2_16.
  5. Shinsaku Kiyomoto, Toshiaki Tanaka, Kouichi Sakurai K2: A Stream Cipher Algorithm using Dynamic Feedback Control. // ResearchGate. — 2007-01-01.
  6. Andrey Bogdanov, Bart Preneel, and Vincent Rijmen Security Evaluation of the K2 Stream Cipher. — 2011. — Март.
  7. 1 2 CRYPTREC | Specifications of e-Government Recommended Ciphers. www.cryptrec.go.jp. Проверено 15 ноября 2016.