Классификация методов шифрования информации.
Основные критерии оценки
Необходимые условия стойкости криптосистемы, проверяемые статистическими методами:
· отсутствие статистической зависимости между входной и выходной последовательностями;
· выходная последовательность по своим статистическим свойствам должна быть похожа на истинно случайную последовательность;
· при неизменной входной информационной последовательности незначительное изменение ключа должно приводить к существенному изменению выходной последовательности;
· при неизменном ключе незначительное изменение входной последовательности должно приводить к существенному изменению выходной последовательности;
· отсутствие зависимости между ключами, последовательно используемыми в процессе шифрования.
Существует много различных криптоалгоритмов, при этом нет ни одного, подходящего для всех случаев. В каждой конкретной ситуации выбор криптоалгоритма определяется следующими факторами:
|
|
· особенностью защищаемой информации (документы, исходные тексты программ, графические файлы и т. п.);
· особенностями среды хранения или передачи информации;
· ценностью информации,, характером защищаемых секретов, временем обеспечения секретности;
· объемами информации, скоростью ее передачи, степенью оперативности ее предоставления пользователю;
· возможностями собственников информации, владельцев средств сбора, обработки, хранения и передачи информации по ее защите;
· характером угроз, возможностями противника.
На рис. 1.1 показаны основные объекты изучения классической криптографии, где А и В - законные пользователи, W - противник или криптоаналитик.
Учитывая, что схема на рис. 1.1, а фактически является частным случаем схемы на рис. 1.1,б при В = А, в дальнейшем будет рассматриваться только она
Рис. 1.1. Криптозащита: а - при хранении; б - при передаче информации по каналу связи
Процедуры зашифрования (encryption) и расшифрования (decryption) можно представить в следующем виде:
где р и с - открытый (plaintext) и зашифрованный (ciphertext) тексты,
kе и kа - ключи зашифрования и расшифрования;
Ек и Dk - функции зашифрования с ключом kе и расшифрования с ключом kа соответственно, причем для любого открытого текста р справедливо
Dk(Ek(p)) = p.
На рис. 1.2 приведена классификация методов шифрования информации. Различают два типа алгоритмов шифрования: симметричные (с секретным ключом) и асимметричные (с открытым ключом). В первом случае обычно ключ расшифрования совпадает с ключом зашифрования, либо знание ключа зашифрования позволяет легко вычислить ключ расшифрования.
|
|
В асимметричных алгоритмах такая возможность отсутствует: для зашифрования и расшифрования используются разные ключи, причем знание одного из них не дает практической возможности определить другой. Поэтому, если получатель В информации сохраняет в секрете ключ расшифрования, то ключ зашифрования может быть сделан общедоступным.
Рис. 1.2. Классификация методов шифрования информации
В процессе шифрования информация делится на порции величиной от одного до сотен бит. Как правило, поточные шифры оперируют с битами открытого и закрытого текстов, а блочные- с блоками фиксированной длины. Но главное отличие между этими двумя методами заключается в том, что в блочных шифрах для шифрования всех порций используется один и тот же ключ, а в поточных - для каждой порции используется свой ключ той же размерности. Иначе говоря, в поточных шифрах имеет место зависимость результата шифрования порции информации от ее позиции в тексте, а в некоторых случаях и от результатов шифрования предыдущих порций текста. Таким образом, при реализации поточной криптосистемы возникает необходимость в элементах памяти, изменяя состояние которых можно вырабатывать последовательность (поток) ключевой информации. Блочную же криптосистему можно рассматривать как зависящую от ключа подстановку на множестве значений блоков открытого текста.
Достоинством поточных шифров является высокая скорость шифрования, которая и определяет область их использования - шифрование данных, требующих оперативной доставки потребителю, например аудио- и видеоинформации. Учитывая, что при применении классических блочных шифров одинаковым блокам открытого текста соответствуют одинаковые блоки шифротекста, что является серьезным недостатком, на практике получили наибольшее распространение комбинированные методы шифрования, использующие один из следующих принципов:
· "сцепления " блоков;
· формирования потока ключей (гаммы шифра) с помощью так называемых генераторов псевдослучайных кодов (ГПК), в качестве функции обратной связи которых используется функция зашифрования блочного шифра.
Наиболее известными являются шифры замены, или подстановки, особенностью которых является замена символов (или слов, или других частей сообщения) открытого текста соответствующими символами, принадлежащими алфавиту шифротекста. Различают одноалфавитную и многоалфавитную замену. Вскрытие одноалфавитных шифров основано на учете частоты появления отдельных букв или их сочетаний (биграмм, триграмм и т. п.) в данном языке. Классические примеры вскрытия таких шифров содержатся в рассказах Э. По "Золотой жук" и А. Конан Дойля "Пляшущие человечки".
Примером многоалфавитного шифра замены является так называемая система Виженера. Шифрование осуществляется по таблице, представляющей собой квадратную матрицу размерностью п х п, где п — число символов используемого алфавита. На рис. 1.3 показана таблица Виженера для русского языка (алфавит Z32- 32 буквы и пробел). Первая строка содержит все символы алфавита. Каждая следующая строка получается из предыдущей циклическим сдвигом последней на символ влево.
Выбирается ключ или ключевая фраза. После чего процесс зашифрования осуществляется следующим образом. Под каждой буквой исходного сообщения последовательно записываются буквы ключа; если ключ оказался короче сообщения, его используют несколько раз. Каждая буква шифротекста находится на пересечении столбца таблицы, определяемого буквой открытого текста, и строки, определяемой буквой ключа. Пусть, например, требуется зашифровать сообщение:
ГРУЗИТЕ АПЕЛЬСИНЫ БОЧКАМИ ТЧК БРАТЬЯ КАРАМАЗОВЫ ТЧК
с помощью ключа ВЕНТИЛЬ. Запишем строку исходного текста с расположенной под ней строкой с циклически повторяемым ключом:
|
|
ГРУЗИТЕ АПЕЛЬСИНЫ БОЧКАМИ ТЧК БРАТЬЯ КАРАМАЗОВЫ ТЧК ВЕНТИЛЬВЕНТИЛЬВЕНТИЛЬВЕНТИЛЬВЕНТИЛЬВЕНТИЛЬВЕНТИЛЬВЕ
В результате зашифрования, начальный этап которого показан на рис. 1.4, получим шифротекст
ЕХ ЩРЭЯБЕЫЧУДККТИСЙЩРМЕЩЬЗЭРМДОБИЭУАДЧТШЛЕВМЪФГКЛЩП.
Рис. 1.3. Таблица Виженера для алфавита Z32
Расшифрование осуществляется следующим образом. Под буквами шифро-текста последовательно записываются буквы ключа; в строке таблицы, соответствующей очередной букве ключа, происходит поиск соответствующей буквы шифротекста. Находящаяся над ней в первой строке таблицы буква является соответствующей буквой исходного текста.
Для увеличения надежности шифра можно рекомендовать его использование после предварительной псевдослучайной перестановки букв в каждой строке таблицы. Возможны и другие модификации метода.