А.В. ГЕРАСИМЧУК, М.С. КОБЗАРЬ, Г.Ю. ЖИХАРЕВ ОРГАНИЗАЦИЯ КОНВЕЙЕРНОЙ ОБРАБОТКИ ДАННЫХ

реклама
А.В. ГЕРАСИМЧУК, М.С. КОБЗАРЬ, Г.Ю. ЖИХАРЕВ
Научный руководитель – И.И. ШАГУРИН, д.т.н., профессор
Национальный исследовательский ядерный университет «МИФИ»
ОРГАНИЗАЦИЯ КОНВЕЙЕРНОЙ ОБРАБОТКИ ДАННЫХ
ДЛЯ ПОВЫШЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ КРИПТОБЛОКОВ, ИСПОЛЬЗУЕМЫХ В СОСТАВЕ «СИСТЕМ НА
КРИСТАЛЛЕ»
Исследование и проектирование конвейера для вычисления хеш-функций различных алгоритмов шифрования с целью разработки эффективного высокоскоростного универсального криптографического блока на примере кольцевых исполнительных каналов.
Объем информации, передаваемой по телекоммуникационным системам, быстро растет вместе с ростом требований достоверности и конфиденциальности. Одним из путей решения является криптографическое
шифрование передаваемой информации, а точнее криптоалгоритмы хеширования, выполняющие вычисление хеш-функций. Хеш-функция представляет собой последовательность длиной от 128 до 512 бит. Последовательность уникальна для каждого зашифрованного сообщения, что позволяет использовать ее для идентификации сообщений, выявления фактов
изменения их содержания, быстрого поиска нужной информации в базах
данных и для других целей. Наиболее распространенными алгоритмами
хеширования являются MD-5, SHA-1 и SHA-256, в соответствии с которыми хеш-функция определяется путем разбиения сообщения на блоки
данных размером 512 бит (16 слов по 32 бита) и последовательностью
операций их обработки [1]. В зависимости от алгоритма для получения
хеш-функции необходимо 64 или 80 итераций, разделенных на 1 или 4
раунда. На каждой итерации выполняется набор операций сложения,
сдвига и логического преобразования 32-битных операндов в соответствии с заданным алгоритмом обработки [1]. В результате получается
хеш-функции 128, 180 или 256 бит для криптоалгоритмов MD-5, SHA-1 и
SHA-256 соответственно.
Криптоблоки, реализующие алгоритмы хеширования, включены в состав ряда типов микроконтроллеров и «систем на кристалле» (СнК). Для
повышения производительности этих криптоблоков можно реализовать
их в виде конвейера из исполнительных модулей, каждый из которых выполняет одну итерацию. При реализации алгоритмов SHA-1, SHA-256 для
большинства итераций требуется не только вычисление хеш-функции, но
и преобразования слов данных. Поэтому параллельно с конвейером вычисления хеш-функции используется конвейер преобразования слов блока
данных, обеспечивающий поступление в вычислительный конвейер преобразованных слов данных. Криптоблок, реализующий криптоалгоритмы,
должен иметь синхронно работающий сдвоенный исполнительный конвейер, состоящий из конвейера преобразования слов блока данных (КПД)
и конвейера вычисления хеш-функции (КВХ). Преобразование слов для
всех трех алгоритмов выполняется раундами по 16 итераций, поэтому для
синхронизации конвейеров при реализации SHA-1 (80 итераций) конвейер
КБХ переводится в режим работы с пятью псевдораундами по 16 итераций.
Чтобы избежать формирования в СнК длинных конвейеров (64 или 80
ступеней) в разработанном криптоблоке используются сдвоенные 16ступенчатые кольцевые исполнительные конвейеры (КПД – КВХ), выполняющие один раунд или псевдораунд вычисления хеш-функции. В
этом случае получение хеш-функции для одного блока данных потребует
4 или 5 циклов прохождения конвейера. Повышение производительности
обеспечивается при параллельном включении четырех кольцевых конвейеров. При этом в состав криптоблока вводится системный коммутатор,
выполняющий необходимое распределение поступающих блоков данных
между исполнительными конвейерами.
В ходе исследования разработаны RTL-модели 16-ступенчатого исполнительного конвейера и фрагмента криптоблока, содержащего 4 конвейера и системный коммутатор, которые реализуют любой из указанных
алгоритмов при поступлении соответствующего управляющего кода. При
полной загрузке конвейеров на выходе криптоблока обеспечивается формирование хеш-функции в каждом такте работы конвейера при выполнении алгоритмов MD-5, SHA-256. Разработанные модули могут использоваться как сложно-функциональные блоки при проектировании криптоблоков, реализуемых в составе «системы на кристалле».
Список литературы
1.
Самоделов А. Криптография в отдельном блоке: криптографический сопроцессор
семейства STM32F4xx. // Новости электроники. -2012, №6.
Скачать