19-10-2023
KCipher-2 (K2 Stream Cipher) | |
Создатель: |
KDDI R&D Laboratories, Inc. |
---|---|
Опубликован: |
2007 |
Размер ключа: |
128 бит |
Тип: |
Потоковый шифр |
KCipher-2 (обновленная версия K2 Stream Cipher) — высокопроизводительный симметричный потоковый шифр (генератор потокового ключа), описанный в IETF RFC 7008[1]. Шифр использует 2 независимых входных параметра, 128-битовый ключ и 128-битовый инициализирующий вектор. Использование данного алгоритма KCipher-2 позволяет повысить уровень защищенности в ряде сервисов, таких как мультимедийные сервисы и услуги широкополосной связи.[1][2]
С тех пор как алгоритм шифра был опубликован в 2007 году, его безопасность и эффективность были тщательно оценены посредством академических и промышленных исследований. В 2012 году KCipher-2 был включен в международный стандарт потоковых шифров [2]
KCipher-2 может быть эффективно реализован в программном обеспечении для быстрого шифрования и расшифровки, благодаря своей несложной конструкции. Используются только 4 простые операции: исключающее "ИЛИ", сложение, сдвиг и таблицы поиска. Если алгоритм реализован в оборудовании, то внутренние вычисления могут быть распараллелены для достижения большей эффективности. Более того, так как внутреннее представление исчисляется всего лишь сотнями бит, KCipher-2 подходит для условий с ограниченными ресурсами.[1]
Основные потоковые шифры используют несколько независимых регистров сдвига с линейной обратной связью (РСЛОС) совместно с нелинейными функциями для генерации потокового ключа. Некоторые потоковые шифры используют общую нелинейную функцию для неравномерного тактирования одного или более РСЛОС. Описаны разнообразные управляющие тактами потоковые шифры и атаки на них.[3]
Механизм контроля тактов потоковых шифров обычно либо контролирует тактирование РСЛОС, либо прореживает или сужает вывод. Управление тактами, которое прореживает или сужает вывод ухудшает производительность потокового шифра, потому что некоторые выходные биты отбрасываются. Если применить сжатие к потоковому шифру с пословной обработкой, то производительность заметно ухудшится. Бит-ориентированный механизм тактового контроля также малоэффективен для улучшения РСЛОС. С другой стороны, динамическая обратная связь для РСЛОС является эффективным методом улучшения безопасности потоковых шифров.
KCipher-2 — это потоковый шифр, который оперирует словами и имеет действенную динамическую обратную связь для неравномерного тактирования. Основная идея модели — скорректировать операцию смешения во время обновления состояния. Полиномы с обратной связью для РСЛОС с пословной обработкой описываются коэффициентами; умножение входного слова на коэффициент означает смешение слов. Типичным примером является РСЛОС шифра SNOW2.0[3]. В общем случае полином с обратной связью — примитивный полином. Создатели применяют неравномерное тактирование для смешивающей операции, и модификация вызывает лишь небольшое ухудшение скорости шифрования и расшифровки. Другими словами, по крайней мере один РСОС неравномерно тактируется, чтобы динамически модифицировать функцию обратной связи для контроллера с динамической обратной связью, который получает выходные данные от других РСОС. Например функция с обратной связью определенная как , где (0,1) выбираются контроллером с динамической обратной связью. РСОС, контролируемый таким контроллером, называется регистром сдвига с динамической обратной связью (РСДОС). Механизм управления динамической обратной связью улучшает безопасность потокового шифра, потому что заменяет детерминированные линейные повторы некоторых регистров на вероятностные. Это эффективно защищает от ряда атак. Главное, KCipher-2 достигает не только высокой производительности подобно потоковым шифрам, основанным на РСЛОС, но и высокой защищенности.
Скорость генерации потокового ключа KCipher-2 составляет 4.97 циклов/байт в серии Pentium 4. Таким образом, данный шифр составляет конкуренцию другим потоковым шифрам из списка CRYPTREC. К тому же, KCipher-2 разрабатывался с учетом двух атак на SNOW2.0, алгебраической и дифференциальной, и имеет к ним бо́льшую устойчивость. Фактически, до сих пор не обнаружено атак на KCipher-2, меньших операций. В итоге KCipher-2 достигает высшей защищенности чем существующие потоковые шифры.[3]
Корпорация KDDI R & D Laboratories произвела пакет программ для разработки приложений (SDK) для KCipher-2. Данный шифровальный алгоритм используется в следующих системах/приложениях:
Дата | Версия | История изменений |
---|---|---|
Январь 2007 | K2 Ver.1.0[6] | Первая публикация на международной конференции. |
Июль 2007 | K2 Ver.2.0[7] | Шаг загрузки ключа в процессе инициализации был изменен, чтобы более эффективно распространять ключ и инициализирующий вектор во внутреннее состояние. |
2008 | KCipher-2 Ver.2.0 | Было изменено только имя шифра с "K2" на "KCipher-2".[3] |
|
KCipher-2.