Н.А.Молдовян, П.А.Молдовяну
Тел.: (812) 245-37-43
Распространенность компьютерных преступлений, связанных с применением сетей ЭВМ, показала необходимость широкого применения криптографических механизмов защиты информации. Одним из базовых механизмов является шифрование данных. Применение шифрования в компьютерных системах и сетях связано с проблемой разработки скоростных криптосистем блочного типа. В настоящее время для обеспечения защиты информации в масштабе реального времени необходимо выполнять шифрование со скоростью от 20 Мбит/с до 1 Гбит/с и более в зависимости от конкретных приложений.
В данном сообщении рассмотрены подходы к построению скоростных шифров на базе использования механизма псевдослучайной выборки подключей. Данный способ шифрования позволяет построить блочные криптосистемы для преобразования блоков данных размером от 128 бит до 512 байт. Способ реализуется путем задания зависимости выборки подключей от нескольких дополнительных двоичных векторов, текущие значения которых являются некоторой интегральной функцией всех выбранных подключей и всех преобразованных подблоков данных. При составлении алгоритма шифрования используется следующий критерий. Процедуры преобразования должны быть составлены таким образом, чтобы изменение любого бита в произвольном входном сообщении приводило к изменению номеров выбираемых подключей. Реализация этого критерия позволяет задать преобразование каждого сообщения с помощью уникальных последовательностей выбираемых подключей. Другим фактором обеспечения стойкости шифра является то, что подключи не используются непосредственно при преобразовании слов входного блока, а служат только для формирования дополнительных двоичных векторов. Шифры такого типа является стойким к нападениям на основе генерации аппаратных ошибок и к другим известным методам криптоанализа. Он является также стойким в случае когда криптоаналитику известны 90% подключей.
Псевдовероятностные шифры могут быть описаны в терминах операций управляемых подстановок большого размера (от 8х16 до 13х32), выполняемых по таблице, в качестве которой служит ключ шифрования, представляющий собой упорядоченную совокупность 16-битовых или 32-битовых подключей. В отличие от обычно используемых в механизмах шифрования фиксированных подстановок управляемые подстановки выполняются в зависимости от преобразуемых данных, что повышает криптостойкость преобразования. В частности псевдовероятностные шифры являются существенно менее чувствительными к наличию в ключе шифрования двух равных по значению подключей. В отличие от многих шифров (DES, ГОСТ 28147, RC5) они являются стойкими к криптоанализу на основе специально подобранных текстов при возможности умышленного формирования аппаратных сбоев.
Представляет интерес создание шифров, в которых механизм псевдовероятностной выборки подключей дополняется этапом процедур предвычислений, на котором под управлением секретного ключа формируется алгоритм шифрования путем определения набора зарезервированных операций. В этом случае криптоалгоритм является легко сменяемым элементом криптосистемы (он автоматически сменяется при выборе нового ключа шифрования) и может быть рассмотрен как секретный элемент системы защиты. Благодаря тому, что для любой потенциально реализуемой модификации алгоритма шифрования имеет место зависимость выборки подключей от каждого бита входного сообщения и стойкость процедур шифрования с псевдослучайной выборкой подключей не является критичной к выбору конкретного набора используемых двухместных и одноместных операций преобразования, обеспечивается высокая стойкость каждой модификации криптоалгоритма, число которых составляет от 10^14 до 10^28. Секретность алгоритма шифрования рассматривается как способ задания стойкости к непредвиденным способам атаки. При тестировании таких гибких шифров предполагается, что они должны обеспечивать стойкость ко всем известным методам криптоанализа при условии, что нападающий знает модификацию алгоритма преобразования или он может даже выбирать наиболее слабую модификацию.
Рассмотренные методы построения скоростных программных шифров обеспечивают скорости шифрования до 60 Мбит/с для серийных микропроцессоров и представляют собой базовый элемент технологии шифрования программными средствами. Их практическое значение состоит в том, что они позволяют решить актуальную практическую проблему создания эффективных средств защиты компьютерной информации, функционирующих в масштабе реального времени. Причем использование чисто программных механизмов защиты позволяет создать СЗИ, удовлетворяющие следующими важными для потребителей характеристиками:
1) высокая надежность защиты информации от широкого спектра потенциальных угроз;
2) высокая производительность в защищенном режиме обработки информации.