eSTREAM
eSTREAM — это проект по созданию и стандартизации поточных шифров, инициированный и координируемый Европейским проектом ECRYPT (European Network of Excellence for Cryptology). Проект проводился с 2004 по 2008 год и ставил целью выявление и продвижение алгоритмов, пригодных для широкого практического использования, а также стимулирование криптографических исследований в области симметричного шифрования. eSTREAM стал ответом на растущую потребность в быстрых и компактных шифрах для устройств с ограниченными ресурсами (встраиваемые системы, RFID-метки) и для высокоскоростных каналов связи.
История
Проект eSTREAM был запущен в 2004 году на фоне завершения процесса стандартизации AES (Advanced Encryption Standard) и осознания того, что блочные шифры, хотя и являются универсальными, не всегда оптимальны для задач, требующих минимальной задержки или очень высокой скорости. Основной предпосылкой стало то, что поточные шифры, как правило, быстрее и проще в аппаратной реализации, чем блочные, особенно при шифровании потоков данных в реальном времени (например, в видео- и аудиосвязи).
Процесс отбора проходил в три фазы. На первой фазе (2004—2005) было подано 34 заявки, из которых отобрано 8 финалистов. На второй фазе (2005—2006) проводился углублённый криптоанализ и тестирование производительности. Третья фаза (2006—2008) завершилась формированием финального портфеля алгоритмов, рекомендованных для использования.
Классификация
В рамках eSTREAM все шифры были разделены на два основных профиля, исходя из целевой области применения:
- Профиль 1 (Profile 1 — Software-oriented): Шифры, оптимизированные для программной реализации на современных процессорах общего назначения (настольные ПК, серверы). Основные требования — высокая скорость шифрования (гигабиты в секунду) и малая задержка.
- Профиль 2 (Profile 2 — Hardware-oriented): Шифры, оптимизированные для аппаратной реализации в устройствах с жёсткими ограничениями по площади чипа, энергопотреблению и объёму памяти (встраиваемые системы, смарт-карты, RFID).
Финальный портфель
По итогам проекта был сформирован «финальный портфель» (final portfolio) алгоритмов, рекомендованных для внедрения. В него вошли:
Профиль 1 (Программные)
- HC-128 (автор — Хунцзюнь Ву, Китай). Основан на потоковом шифре HC-256. Отличается высокой скоростью на современных процессорах (до 4-5 Гбит/с на архитектуре x86). Считается одним из самых быстрых поточных шифров среди прошедших отбор.
- Rabbit (авторы — Мартин Босслет, Стефан Лендерс, Швейцария). Разработан компанией Fidessa. Использует итеративный процесс на основе нелинейных функций. Скорость достигает 3-4 Гбит/с.
- Salsa20/12 (автор — Дэниел Бернштейн, США). Вариант шифра Salsa20 с 12 раундами (вместо 20). Обеспечивает хороший баланс между скоростью и запасом безопасности. Salsa20/12 был рекомендован как более быстрая альтернатива оригинальному Salsa20.
- SOSEMANUK (авторы — команда французских криптографов). Комбинирует элементы шифра SNOW 2.0 и блочного шифра Rijndael (AES). Показывает высокую скорость на платформах с поддержкой инструкций AES-NI.
Профиль 2 (Аппаратные)
- Grain v1 (авторы — Мартин Хелль, Томас Йоханссон, Уилл Микл, Швеция). Очень компактный шифр, использующий два регистра сдвига с обратной связью (LFSR). Занимает минимальную площадь на кристалле (около 1300 вентилей).
- MICKEY v2 (авторы — Стив Баббидж, Мэттью Додд, Великобритания). Название расшифровывается как «Mutual Irregular Clocking KEYstream generator». Использует нерегулярную тактовую частоту для повышения стойкости к атакам. Компактный (около 1800 вентилей).
- Trivium (авторы — Кристоф де Канниер, Барт Пренел, Бельгия). Один из самых простых и компактных шифров в портфеле. Состоит из трёх регистров сдвига с нелинейной обратной связью. Занимает около 1300 вентилей. Был разработан как эталонный пример для учебных целей, но показал высокую практическую надёжность.
- DECIM v2 (авторы — группа французских исследователей). Использует фильтрующую функцию на основе нелинейного регистра сдвига. Отличается высокой стойкостью к атакам, но несколько большей площадью реализации.
Характеристики и устройство
Поточные шифры eSTREAM, как правило, основаны на генераторах псевдослучайных последовательностей (ГПСП). Ключевые особенности:
- Генерация ключевого потока: Шифр генерирует бесконечную (или очень длинную) последовательность битов, которая накладывается на открытый текст операцией XOR.
- Инициализация: Алгоритм принимает секретный ключ (обычно 80 или 128 бит) и инициализационный вектор (IV) для обеспечения уникальности шифротекста при шифровании одинаковых сообщений.
- Регистры сдвига: Многие шифры (Grain, Trivium, MICKEY) используют линейные или нелинейные регистры сдвига с обратной связью (LFSR/NLFSR) для генерации последовательностей с хорошими статистическими свойствами.
- Нелинейные функции: Для усложнения связи между ключом и шифротекстом применяются нелинейные булевы функции (S-блоки, функции с памятью).
Применение и значение
Проект eSTREAM оказал значительное влияние на развитие криптографии:
- Стандартизация: Алгоритмы из финального портфеля были включены в ряд международных стандартов, включая ISO/IEC 18033-4 (потоковые шифры).
- Практическое внедрение: Шифры eSTREAM используются в системах шифрования дисков (например, TrueCrypt, VeraCrypt), в протоколах защищённой передачи данных (SSH, TLS — в качестве опции), в системах шифрования голосового трафика (VoIP) и в устройствах Интернета вещей (IoT) с ограниченными ресурсами.
- Научный вклад: Проект стимулировал развитие методов криптоанализа, в частности, атак на основе кубических соотношений, дифференциального криптоанализа и атак с использованием алгебраических методов. Многие алгоритмы, не вошедшие в финальный портфель, послужили основой для последующих исследований.
Критика и ограничения
Несмотря на успех, проект eSTREAM подвергался критике:
- Отсутствие универсальности: Некоторые алгоритмы (особенно аппаратные) были оптимизированы для очень узких задач и неэффективны на универсальных процессорах.
- Сложность анализа: Для ряда шифров (например, DECIM) полный криптоанализ оказался чрезвычайно сложным, что вызывало сомнения в их практической безопасности.
- Конкуренция с AES: В программной реализации многие поточные шифры eSTREAM (например, HC-128) превосходят AES в скорости, но уступают ему по универсальности и степени изученности. AES остаётся более популярным выбором для большинства приложений.
- Устаревание: С развитием вычислительной техники и появлением новых методов атак (например, атак на основе квантовых вычислений) некоторые шифры eSTREAM могут потребовать увеличения длины ключа или модификации.
Интересные факты
- Шифр Trivium был разработан специально как простой для понимания и реализации, но при этом оказался достаточно стойким. Его код умещается в несколько десятков строк на C.
- Шифр Salsa20 (и его вариант ChaCha) лёг в основу популярного протокола шифрования TLS 1.3 (в виде ChaCha20-Poly1305).
- В финальный портфель не вошли шифры, основанные на сложных математических структурах (например, эллиптических кривых), так как проект был нацелен на симметричные алгоритмы.
Источники
- ECRYPT. eSTREAM: The ECRYPT Stream Cipher Project. Final Report, 2008.
- Babbage, S., & Dodd, M. The MICKEY Stream Ciphers. In New Stream Cipher Designs, Springer, 2008.
- De Cannière, C., & Preneel, B. Trivium. In New Stream Cipher Designs, Springer, 2008.
- Hell, M., Johansson, T., & Meier, W. Grain: A Stream Cipher for Constrained Environments. In New Stream Cipher Designs, Springer, 2008.
- Wu, H. The Stream Cipher HC-128. In New Stream Cipher Designs, Springer, 2008.
- Bernstein, D. The Salsa20 Family of Stream Ciphers. In New Stream Cipher Designs, Springer, 2008.
- ISO/IEC 18033-4:2011. Information technology — Security techniques — Encryption algorithms — Part 4: Stream ciphers.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →