Каскадный шифр Intel

06.05.2023

Intel Cascaded Cipher (Intel CC, каскадный шифр Intel) — блочный шифр, представленный Intel в 2005 году, с высокой пропускной способностью, который используется в качестве дополнительного компонента схемы DRM защиты выходного контента операционной системы Microsoft Windows Vista. Был специально разработан для шифрования видео-контента высокого качества. Для генерации ключей используется стандарт AES, работающий в режиме CTR. Шифрование содержимого производится на основе 3-раундовой версии алгоритма Serpent.

Для использование Intel CC требуется лицензия от корпорации Intel.

Описание

Оригинальный патент содержит подробное описание шифра. Каскадный шифр, состоит из двух частей:

  • AES в режиме счётчика для генерации внутренних ключей (внешний шифр)
  • Легковесный алгоритм шифрования. В патенте предлагается использовать 3-раундовый Serpent (вместо 32). Количество циклов уменьшено для достижения необходимой скорости шифрования (внутренний шифр)
  • Благодаря частой замене внутренних ключей шифр защищен от сдвиговой атаки. Кроме того, даже наличие одного внутреннего ключа не дает злоумышленнику преимущества в расшифровке. Блок шифрования может быть реализован как программно, так и железно.

    Псевдокод

    // Пусть LWE слабый шифр (Light weight encryption), например, 3-раундный Serpent или 2-раундный Rijndael i = 0 // количество блоков данных j = 0 // количество внутренних ключей repeat InnerKey(j) = AES_in_Counter_Mode_by_Session_Key(j) for k = 0 to block_size inclusive do // k -- размер блока C(i) = encrypt_by_InnerKey_using_LWE(P(i)) i = i + 1 end for j = j + 1 until all plaintext has been encrypted

    1. Режим CTR-ECB

    В режиме счётчик-электронно кодовая книга (режим простой замены) в шифре Cascade используется стандарт AES-128 в режиме счётчика для создания безопасного потока передачи ключей и передает этот поток в трехраундовый Serpent в режиме электронно кодовой книги для того, чтобы зашифровать каждый блок открытого текста. С целью увеличения производительности, каждый поток передачи внутренних ключей используется несколько раз для шифрования нескольких блоков.

    Режим CTR-CTR

    В режиме счётчик-счётчик шифр Intel Cascade использует стандарт AES-128 в режиме счётчика, чтобы создать защищенный поток передачи ключей и затем передать этот поток в урезанный Serpent (всего 3 цикла), работающий в режиме счётчика для того, чтобы зашифровать каждый блок открытого текста. С целью увеличения производительности каждый поток передачи внутренних ключей используется несколько раз для шифрования нескольких блоков.

    Эффективность

    Эффективность предложенного алгоритма сравнима с реализацией хорошо знакомого AES. В случае выбора 3-раундного Serpent в качестве внутреннего шифра время работы легковесного алгоритма составляет около 1 / 5 {displaystyle 1/5} времени работы AES. При этом на работу самого AES для генерации внутренних ключей уходит в 4 раза меньше времени. Итоговый прирост в производительности подобного алгоритма шифрования составляет около 50 %. Дальнейшее ускорение алгоритма происходит за счет того, что внутренний ключ создаётся не для каждого блока отдельности, а для нескольких блоков сразу.

    Безопасность

    В публикациях компании Майкрософт о безопасности выходного содержимого в Windows Vista утверждается, что уровень безопасности, достигнутый для обычных видео-данных оценивается примерно таким же, как и обычный AES. Это утверждение проверялось компанией Intel за счёт отправки шифра Cascade в сообщество криптографии, чтобы получить оценку безопасности и проверить, могут ли его взломать.

    Безопасность системы требует, чтобы текущий активный внутренний ключ нельзя было восстановить из выхода зашифрованного видеопотока после Serpent с уменьшенным количеством раундов. Кроме того, безопасность такого метода очень чувствительна к количеству раундов, используемых в Serpent, его режиму работы и количеству раз, когда внутренний ключ используется повторно.



    Имя:*
    E-Mail:
    Комментарий: