Камелия (шифр) - Camellia (cipher)

Камелия
Общий
Дизайнеров Mitsubishi Electric , NTT
Впервые опубликовано 2000 г.
Полученный из E2 , MISTY1
Сертификация КРИПТРЕК , НЕССИ
Детали шифра
Ключевые размеры 128, 192 или 256 бит
Размеры блоков 128 бит
Структура Сеть Фейстеля
Раундов 18 или 24

В криптографии , камелия является симметричным ключом блочного шифра с размером блока 128 бит и ключевыми размерами 128, 192 и 256 бит. Он был разработан совместно компаниями Mitsubishi Electric и NTT из Японии . Шифр был одобрен для использования в ИСО / МЭК , в Европейский Союз «с Несси проекта и японский CRYPTREC проекта. Шифра имеет уровни безопасности и возможности обработки , сравнимые с Advanced Encryption Standard .

Шифра был разработан , чтобы быть пригодным как для программных и аппаратных реализаций, от недорогих смарт - карт для сетевых высокоскоростных систем. Это часть криптографического протокола Transport Layer Security (TLS) , предназначенного для обеспечения безопасности связи в компьютерной сети, такой как Интернет .

Шифр был назван в честь цветка Camellia japonica , который известен как долгожитель, а также потому, что шифр был разработан в Японии.

Дизайн

Камелия - это шифр Фейстеля с 18 раундами (при использовании 128-битных ключей) или 24 раундами (при использовании 192- или 256-битных ключей). Каждые шесть раундов применяется слой логического преобразования: так называемая «FL-функция» или ее обратная. Camellia использует четыре 8 × 8-битных S-блока с входными и выходными аффинными преобразованиями и логическими операциями. Шифр также использует отбеливание входных и выходных ключей . В диффузионном слое используется линейное преобразование на основе матрицы с числом ветвей 5.

Анализ безопасности

Камелия считается современным надежным шифром. Даже при использовании параметра меньшего размера ключа (128 бит) считается невозможным взломать его с помощью атаки грубой силы на ключи с помощью современных технологий. Нет известных успешных атак, значительно ослабляющих шифр. Шифр был одобрен для использования в ИСО / МЭК , в Европейский Союз «с Несси проекта и японский CRYPTREC проекта. Японский шифр имеет уровни безопасности и возможности обработки, сопоставимые с шифром AES / Rijndael .

Камелия - это блочный шифр, который может быть полностью определен минимальными системами многомерных многочленов :

  • S-блоки Camellia (а также AES ) можно описать системой из 23 квадратных уравнений в 80 членах.
  • Ключ график может быть описана уравнениями в 1120 768 переменных , используя 3,328 линейные и квадратичные члены.
  • Весь блочный шифр может быть описан 5 104 уравнениями с 2 816 переменными с использованием 14 592 линейных и квадратичных членов.
  • Всего требуется 6224 уравнения с 3 584 переменными, использующие 17 920 линейных и квадратичных членов.
  • Количество бесплатных условий составляет 11 696, что примерно столько же, сколько у AES .

Теоретически такие свойства могут позволить взломать Camellia (и AES ) с помощью алгебраической атаки, такой как расширенная разреженная линеаризация , в будущем, при условии, что атака станет возможной.

Патентный статус

Хотя Камелия запатентована, она доступна по бесплатной лицензии. Это позволило шифру Camellia стать частью проекта OpenSSL под лицензией с открытым исходным кодом с ноября 2006 года. Это также позволило ему стать частью модуля Mozilla NSS (Network Security Services).

Принятие

Поддержка Camellia была добавлена ​​в окончательный выпуск Mozilla Firefox 3 в 2008 году (отключена по умолчанию в Firefox 33 в 2014 году в духе «Предложения по изменению стандартных наборов шифров TLS, предлагаемых браузерами», и была удалена из версии 37 в 2015). Pale Moon , ответвление Mozilla / Firefox, продолжает предлагать Camellia и расширил свою поддержку, включив в него комплекты Galois / Counter mode (GCM) с шифром, но снова удалил режимы GCM с выпуском 27.2.0, сославшись на очевидное отсутствие интерес в них.

Позже в 2008 году группа разработки релизов FreeBSD объявила, что этот шифр также был включен в FreeBSD 6.4-RELEASE. Кроме того, Йошисато Янагисава добавил поддержку шифра Camellia в класс хранилища для шифрования диска geli FreeBSD.

В сентябре 2009 года GNU Privacy Guard добавила поддержку Camellia в версии 1.4.10.

VeraCrypt (ответвление TrueCrypt ) включает Camellia в качестве одного из поддерживаемых алгоритмов шифрования.

Более того, различные популярные библиотеки безопасности , такие как Crypto ++ , GnuTLS , mbed TLS и OpenSSL, также включают поддержку Camellia.

26 марта 2013 года было объявлено, что Camellia была снова выбрана для включения в новый список рекомендованных шифров для электронного правительства Японии как единственный 128-битный алгоритм шифрования блочного шифра, разработанный в Японии. Это совпадает с тем, что список CRYPTREC обновляется впервые за 10 лет. Выбор был основан на высокой репутации Camellia, которая отличается простотой приобретения, а также функциями безопасности и производительности, сопоставимыми с таковыми из Advanced Encryption Standard (AES). Камелия остается неизменной в своем полном воплощении. Невозможная дифференциальная атака на Camellia с 12 раундами без слоев FL / FL -1 действительно существует.

Представление

S-блоки, используемые Camellia, имеют структуру, аналогичную S-блоку AES. В результате можно ускорить реализацию программного обеспечения Camellia с помощью наборов команд ЦП, разработанных для AES, таких как x86 AES-NI , с помощью аффинного изоморфизма .

Стандартизация

Camellia сертифицирована как стандартный шифр несколькими организациями по стандартизации:

  • CRYPTREC
  • НЕССИ
  • IETF
    • Алгоритм
      • RFC  3713 : Описание алгоритма шифрования Camellia
    • Режим блочного шифрования
      • RFC  5528 : режим счетчика камелии и счетчик камелии с алгоритмами режима CBC-MAC
    • S / MIME
      • RFC  3657 : использование алгоритма шифрования Camellia в синтаксисе криптографических сообщений (CMS)
    • XML-шифрование
      • RFC  4051 : Дополнительные универсальные идентификаторы ресурсов безопасности XML (URI)
    • TLS / SSL
      • RFC  4132 : Добавление наборов шифров Camellia к безопасности транспортного уровня (TLS)
      • RFC  5932 : Наборы шифров Camellia для TLS
      • RFC  6367 : Добавление наборов шифров Camellia к безопасности транспортного уровня (TLS)
    • IPsec
      • RFC  4312 : алгоритм шифрования Camellia и его использование с IPsec
      • RFC  5529 : Режимы работы Camellia для использования с IPsec
    • Kerberos
      • RFC  6803 : шифрование Camellia для Kerberos 5
    • OpenPGP
      • RFC  5581 : Шифр ​​Camellia в OpenPGP
    • RSA-KEM в CMS
      • RFC  5990 : Использование алгоритма переноса ключа RSA-KEM в синтаксисе криптографических сообщений (CMS)
    • PSKC
      • RFC  6030 : портативный контейнер симметричных ключей (PSKC)
    • Умная сеть электроснабжения
      • RFC  6272 : Интернет-протоколы для интеллектуальной сети
  • ISO / IEC
    • ISO / IEC 18033-3: 2010 Информационные технологии. Методы безопасности. Алгоритмы шифрования. Часть 3. Блочные шифры.
  • ITU-T
    • Механизмы и процедуры безопасности для СПП (Y.2704)
  • RSA Laboratories
    • Утвержденный шифр в PKCS # 11
  • TV-Anytime Forum
    • Утвержденный шифр в информации об управлении правами и защите TV-Anytime для широковещательных приложений
    • Утвержденный шифр в защите двунаправленной доставки метаданных

использованная литература

Общий

внешние ссылки

  • Домашняя страница Camellia на английском языке от NTT
  • 256-битные шифры - эталонная реализация CAMELLIA и производный код
  • RFC  3657 Использование алгоритма шифрования Camellia в синтаксисе криптографических сообщений (CMS)
  • RFC  3713 Описание алгоритма шифрования Camellia
  • RFC  4051 Дополнительные унифицированные идентификаторы ресурсов безопасности XML (URI)
  • RFC  4132 Добавление наборов шифров Camellia к безопасности транспортного уровня (TLS)
  • RFC  4312 Алгоритм шифрования Camellia и его использование с IPsec
  • RFC  5528 Режим счетчика камелии и счетчик камелии с алгоритмами режима CBC-MAC
  • RFC  5529 Modes of Operation for Camellia for Use with IPsec
  • RFC  5581 Сертификация Camellia Cipher в качестве стандарта IETF для OpenPGP
  • RFC  5932 Camellia Cipher Suites для TLS
  • RFC  5990 Использование алгоритма переноса ключа RSA-KEM в синтаксисе криптографических сообщений (CMS)
  • RFC  6030 Портативный контейнер симметричных ключей (PSKC)
  • RFC  6272 Интернет-протоколы для интеллектуальной сети
  • RFC  6367 Добавление наборов шифров Camellia к безопасности транспортного уровня (TLS)
  • ISO / IEC 18033-3: 2010 Информационные технологии. Методы безопасности. Алгоритмы шифрования. Часть 3. Блочные шифры.