Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

HC-256 представляет собой потоковый шифр предназначен для обеспечения объемного шифрования в программном обеспечении на высоких скоростях, позволяя твердую уверенность в своей безопасности. [1] 128-битный вариант был представлен как кандидат на шифрование eSTREAM и был выбран в качестве одного из четырех финальных участников в профиле программного обеспечения. [2] [3]

Алгоритм разработан Хунцзюном Ву и впервые был опубликован в 2004 году. Он не запатентован.

Функция [ править ]

HC-256 имеет 256-битный ключ и вектор инициализации (nonce) из 256 бит. [1]

Внутренне он состоит из двух секретных таблиц (P и Q). Каждая таблица содержит 1024 32-битных слова. Для каждого обновления состояния одно 32-битное слово в каждой таблице обновляется с использованием функции нелинейного обновления. После 2048 шагов все элементы таблиц были обновлены.

Он генерирует одно 32-битное слово для каждого шага обновления, используя функцию преобразования 32-битного в 32-битную, аналогичную функции вывода шифра Blowfish . Наконец, для генерации выходного слова применяется функция линейного битового маскирования. Он использует две функции расписания сообщений в хэш-функции SHA-256 внутри, но с таблицами P и Q как S-блоками .

HC-128 аналогичен по функциям и сокращает наполовину длину ключа, одноразовый номер, количество слов в таблицах P и Q и количество шагов обновления таблицы. [2]

Производительность [ править ]

По оценке автора, производительность HC-256 на процессоре Pentium 4 составляет около 4 циклов на байт . Однако фаза инициализации шифра включает в себя расширение 256-битного ключа в таблицы P, Q, а затем запуск шифра для 4096 шагов. По оценке автора HC-256, этот процесс займет около 74 000 циклов.

Для HC-128 Число оборотов шифрования около 3 циклов в байт на Pentium M процессор процитированы.

Подробно изучена реализация HC-128 на различных вычислительных структурах со значительным выигрышем в производительности по сравнению с простой реализацией ПО. [4] [5]

Ссылки [ править ]

  1. ^ а б Ву, Хунцзюнь (2004). «Новый потоковый шифр HC-256» (PDF) . Быстрое программное шифрование - FSE 2004, LNCS 3017 : 226–244.
  2. ^ а б Ву, Хунцзюнь (2004). «Потоковый шифр HC-128» (PDF) . Цитировать журнал требует |journal=( помощь )
  3. ^ "Проект eSTREAM" .
  4. ^ Чаттопадхьяй, Анупам; Халид, Аиша; Майтра, Субхамой; Райзада, Шашват (2012). «Разработка высокопроизводительного аппаратного ускорителя для потокового шифра HC-128». 2012 Международный симпозиум IEEE по схемам и системам . С. 1448–1451. DOI : 10.1109 / ISCAS.2012.6271518 . ISBN 978-1-4673-0219-7.
  5. Халид, Аиша; Багчи, Деблин; Пол, Гаутам; Чаттопадхьяй, Анупам (2013). «Оптимизированная реализация графического процессора и анализ производительности потоковых шифров серии HC». Информационная безопасность и криптология - ICISC 2012 . Конспект лекций по информатике. 7839 . С. 293–308. DOI : 10.1007 / 978-3-642-37682-5_21 . ISBN 978-3-642-37681-8.

Внешние ссылки [ править ]

  • Страница eSTREAM на HC-256