Статья опубликована в рамках: LXX Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 03 июня 2019 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
РЕАЛИЗАЦИЯ НЕЛИНЕЙНОГО СИММЕТРИЧНОГО ШИФРОВАНИЯ ПРИ ПОМОЩИ ПРОГРАММИРУЕМЫХ ПОЛЬЗОВАТЕЛЕМ ВЕНТИЛЬНЫХ МАТРИЦ
Криптография стала фундаментом компьютерной безопасности и является наукой о методах обеспечения конфиденциальности и целостности данных, которая используется как на системном уровне, так и на сетевом уровне с использованием различных алгоритмов шифрования. Для защиты информации от несанкционированного или случайного раскрытия во время транспортировки и хранения используется два основных процесса, называемые шифрованием и дешифрованием.
Информационная безопасность требует постоянного повышения криптографической стойкости существующих алгоритмов шифрования за счет улучшения методов обработки. Данные алгоритмы эффективно реализуются как на программных, так и аппаратных платформах. Несмотря на то, что программная реализация алгоритмов шифрования имеет преимущества переносимости, гибкости и простоты использования, она обеспечивает ограниченную физическую безопасность и скорость работы по сравнению с аппаратными решениями. К преимуществам аппаратной реализации можно отнести меньшее энергопотребление, малый размер, возможность перенастройки оборудования, высокую скорость работы и безопасность. То есть реализация программных алгоритмов в виде аппаратных средств с использованием программируемых пользователем вентильных матриц (далее ППВМ) или прикладных интегральных схем (далее ASIC) дополнительно сокращает время, затрачиваемое на криптоанализ.
Безопасность зашифрованных данных полностью зависит от двух вещей: силы криптографического алгоритма и длины секретного ключа. Одним из универсальных способов криптоанализа, который может использовать злоумышленник, это метод полного перебора (атака «грубой силы»). Он включает в себя поиск всех возможных вариантов ключей, до того момента, пока не будет найден правильный. Например, если есть 264 возможных ключа, метод полного перебора в среднем, как ожидается, найдет ключ после 263 испытаний. Сила алгоритма шифрования оценивается на основе размера ключа и задается формулой 2k, где k – длина ключа. Поэтому для 56-битного ключа требуется 65 536 (256) комбинаций.
Очень простой словарь ключей делает алгоритм IDEA объектом класса слабых ключей. Чтобы избежать ключей, содержащих большое количество нулевых бит, было предложено простое исправление путем применения операции XOR каждого подключа с 16-битной константой, такой как 0 x 0DAE. Доказано, что проблему слабых ключей можно устранить путем незначительного изменения ключевого словаря алгоритма. Дифференциальная атака с выбранным ключом на 3-раундовую IDEA восстанавливает 32 бита ключа, используя шесть выбранных открытых текстов, два из которых под первым ключом, четыре под вторым ключом. Единственным подтвержденным взломов алгоритма DES была машина COPACOBANA, которая состоит из 120 реконфигурируемых коммерчески доступных ППВМ. COPACOBANA подбирает ключ примерно за 9 дней, используя метод полного перебора.
ППВМ представляют собой массив программируемых логических ячеек, соединенных между собой в матрицы и программируемыми переключателями. Каждая ячейка выполняет простую логическую функцию, определенную в соответствии с инструкциями пользователя. ППВМ имеет большое количество (от 64 до более 20 000) этих ячеек, которые используются в качестве строительных блоков в сложных цифровых схемах. Основным преимуществом ППВМ является параллельная обработка, при которой все аппаратные модули работают одновременно. Это позволяет одновременно запускать любое количество модулей, реализованных на ППВМ.
Обычные симметричные алгоритмы страдают от следующих проблем.
- Алгоритмическая сила зависит исключительно от размера ключа, используемого для шифрования.
- Алгоритмы уязвимы для атаки методом полного перебора, и правильный криптоанализ может легко раскрыть содержимое сообщения. В большинстве случаев в случайном кодовом пространстве n наборов ключ может быть извлечен с использованием n/2 наборов данных. То есть ожидаемое количество испытаний до нахождения правильного ключа равно половине размера пространства ключей. Кроме того, криптоанализ полностью зависит от скорости используемой системы.
- Линейный криптоанализ возможен в большинстве случаев, поскольку почти все алгоритмы обладают линейной связью между входами и выходами, за исключением S-блоков в DES.
- Алгоритмы включают набор слабых ключей (последовательно идущие 1 или 0), что еще больше ослабляет алгоритм.
- Один и тот же процесс шифрования повторяется для заданного числа раундов независимо от значения данных.
- Непрерывное увеличение размера ключа затрудняет криптоанализ и приводит к вычислительным и повторным источникам накладных расходов.
- Изобретение специальных встроенных устройств, таких как ППВМ или ASIC, еще больше сокращает время криптоанализа.
Для преодоления вышеуказанных проблем изначально предложена схема, в которой криптоанализ с использованием атаки методом перебора не зависит от скорости используемой системы и увеличивается время, необходимое для взлома алгоритма. Для достижения этой цели вводится проверка временного ключа, где время берется как второе значение ключа, и для успешной расшифровки выполняются как проверка данных, так и проверка времени. Эта схема требует системы реального времени для интерпретации ручного времени на основе ключевых входов.
В предлагаемой схеме шифрование аналогично обычным системам, за исключением того, что два случайных числа используются один для выбора количества раундов каждого набора данных для работы, а другой для выбора порядка выполнения функций. Ключ состоит из текста и временного интервала. Система дешифрования ожидает, что правильный ключ будет введен в нужное время. Когда эта схема реализована на настольном компьютере, для отслеживания времени ввода ключей требуется операционная система реального времени.
Поскольку ручной ввод ключа не является решением, предлагаемая схема использует ППВМ, которая заменяет ручной ввод ключа и необходимость системы реального времени.
Предлагаемая схема использует ППВМ для выполнения шифрования (или дешифрования) и управления ключами. Параллелизм в обработке ППВМ используется для эмуляции систем реального времени, которые могут выполнять как обработку ключей, так и шифрование (или дешифрование) одновременно. Второе значение ключа, время включено как задержка используя динамическую функцию определения задержки. Для валидации временного интервала предлагается функция определения задержки (DCF).
Функция определения задержки – это функция, выход которой должен проходить через определенное количество тактов не получая результатов. Выход генератора псевдослучайных чисел на основе линейного регистра сдвига обратной связи (LFSR) с ключом может использоваться в качестве функции задержки.
В случае генерации задержки на основе ППВМ для временной проверки используется простое вращение ключа. То есть для генерации 10 единиц задержки ключ поворачивается на 10 бит, по одному биту на часы, так что после 10 тактов расходуется 40 секунд, а исходный ключ поворачивается 10 раз по часовой стрелке или против. Однако в реальной реализации десятиразрядное вращение может быть выполнено за один такт, чтобы зависимость от времени не была вынужденной. Следовательно, вводится функция принуждения задержки.
Детали реализации функции определения задержки на устройстве Cyclone II:
- Процесс начинается с предоставления фактического ключа и требуемой задержки DCF.
- Для каждого такта LFSR генерирует новое псевдослучайное число (PNR). Счетчик также увеличивается.
- Когда значение счетчика достигает требуемой задержки, содержимое LFSR фиксируется ключом и, таким образом, выдается новый ключ.
Рисунок 1. Реализации функции определения задержки
Алгоритм принимает простой текст размером 64 бита и ключ длиной 64 бит в качестве входных данных. Размер блока открытого текста и ключа могут быть изменены с легкостью. Первоначально исходный ключ получается после скремблирования, чтобы избавиться от слабых ключей. Далее выбираются четырехбитовые позиции в ключе и объединяются биты. Это сцепленное число и исходный ключ даны для функции определения задержки. Например, если объединенное значение равно 10 (скажем, 1010), DCF выдает измененный ключ после 10 тактов. Это также гарантирует, что тот же результат не может быть получен менее чем за 10 тактов, так что время затрачивается на основе выбранных битов. Это значение принимается за задержку и системе необходимо дождаться этого времени. Счетчик используется для проверки, достигает ли задержка системы значения таймера. Далее выбираются 8 разрядов, в которых конкатенация любых двух битов соответствует функции шифрования (или дешифрования), которая должна выполняться в каждом раунде.
Алгоритм состоит из следующих шагов:
- Чтение 64 битного простого текста и ключа как входных сигналов.
- Передача ключа через скремблер для устранения слабых ключей.
- Выбрать четыре бита из ключа. Предположим, что выбраны 12, 24, 36, 48 битовые позиции, которые могут быть заданы по умолчанию. Сцепление этих четырех битов образует биты времени.
- для каждого времени ключ вращается против часовой стрелки, а счетчик увеличивается на единицу.
- Когда значение счетчика равно биту времени, ключ готов к следующему раунду. По мере непрерывного вращения ключа, четыре бита, извлеченные из ключа, меняются, и, следовательно, число оборотов меняется. Следовательно, время, необходимое для обработки ключа, также варьируется. Это формирует ключевую концепцию, основанную на времени. Здесь число поворотов ключа определяется с помощью функции определения задержки.
- Теперь повернутый ключ (64 бит) и открытый текст (64 бит) входят в первый раунд. Восемь битов, а именно fnbitl, fnbit2, fnbit3 и fnbit4, каждый размером по два бита извлекаются из ключа и соответствуют порядку выполнения четырех функций.
- в обычных алгоритмах число функций и порядок выполнения функций остаются фиксированными, но в предлагаемом алгоритме, основанном на выбранных битах, порядок выполнения функций изменяется.
- в данном алгоритме используются четыре функции:
Функция 1 – операция исключающего ИЛИ ключа и открытого текста.
Функция 2 – сложение по модулю 2
Функция 3 – исключающее ИЛИ открытого текста и ключа, за которой следует преобразование кода Грея.
Функция 4 – перетасовка битов обычного текста.
- Если fnbit1 есть «00» Функция 1 выполняется первой, и если fnbit1 имеет значение «01» функция 2 выполняется первым и так далее. Это первый шаг в первом раунде.
- После этого новый ключ и результат выполнения первого раунда передается второму раунду. Во втором раунде снова четыре бита из позиций 12, 24, 36, 48 извлекаются из нового повернутого ключа, и ключ вращается на эту сумму. Для злоумышленника, поскольку общий ключ неизвестен, число поворотов ключа и выбор функций на каждом шаге неизвестны. Это формирует предложение непрерывной архитектуры S-блока, где трудно установить связь между входом и выходом.
- Эта процедура повторяется в течение восьми раундов.
Рисунок 2. Алгоритм нелинейного симметричного шифрования с использованием реального времени
Злоумышленник не знает, сколько раз биты должны быть сдвинуты в каждом раунде, поскольку неизвестны исходный ключ, функция, используемая в первом раунде, а также ключ, используемый для второго раунда. Поэтому возможное количество комбинаций для атаки методом перебора автоматически увеличивается. В случае фиксированного числа оборотов, полное вращение можно сделать в одних часах. Поскольку число сдвигов динамически изменяется, один тактовый сдвиг невозможен, что приводит к сложному криптоанализу.
Процесс дешифрования является лишь обратной стороной процесса шифрования. Приемник имеет два параметра для извлечения исходного текста: шифрованный текст и исходный ключ. Поскольку предполагаемый приемник знает ключ, а также стандартизированные битовые позиции, скажем, 12, 24, 36, 48, ключ первоначально передается через функцию скремблера, преобразуется для конкатенированных значений. Ключ для следующего раунда генерируется таким же образом. Кроме того, приемник также выбирает биты, чтобы знать функции, выполняемые в первом раунде. Процедура повторяется для всех раундов для генерации ключей и выполнения функций. Для выполнения расшифровки используется ключ последнего раунда и шифрованный текст.
Предложенная схема, реализована на Altera Stratix II (EP2S130F1020C4). Система потребляет 5038 ALUT и 1609 выделенных регистров логики. На рис. 3 показано представление редактора микросхем ППВМ для предлагаемой схемы.
Рисунок 3. Результат компиляции
Преимуществами предложенной схемы, в отличие от обычных алгоритмов шифрования, где поток фиксирован, является то, что последовательность операций, которые будут выполняться для каждого раунда, изменяется, а также то, что шифрование (дешифрование) и генерация ключей, выполняются одновременно без использования системы реального времени.
Недостатками в этой схеме является то, что ППВМ выполняет генерацию ключей, а также шифрование (или дешифрование), что, следовательно, приводит к увеличению накладных расходов для массовой передачи данных между ППВМ и компьютером.
Предложенная схема усиления традиционных криптографических алгоритмов против атаки методом перебора и достигается использованием времени в качестве второго значения ключа. Алгоритм двойного шифрования с DCF занимает дополнительное время для криптоанализа и не зависит от скорости используемой системы за счет динамического выбора функций, динамического числа оборотов и DCF.
Список литературы:
- Норенков И.П. Основы автоматического проектирования: Учеб. пособие для вузов. - М.: изд-во МГТУ, 2012. – 389 с.
- Поляков А. К. Языки VHDL и VERILOG в проектировании цифровой аппаратуры. - М.: СОЛОН-Пресс, 2003. – 314 с.
- Грушвицкий Р.И., Мурсаев А.X. Угрюмов Е.П. Проектирование систем на микросхемах программируемой логики. 2-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2006. – 800 с.
- Brewer E.A., Katz R.H. A Network Architecture for Heterogeneous Mobile Computing. – [Электронный ресурс]. – Режим доступа. – URL: studylib.net/doc/14170140/a-network-architecture-for-heterogeneous-mobile-computing (Дата обращения 02.05.2019).
дипломов
Оставить комментарий