Классические алгоритмы шифрования данных
В некоторых публикациях в периодической печати и в сети Internet под защитой информации понимается только часть из возможных и необходимых мероприятий в этом направлении, связанных с профилем работы конкретного коллектива исполнителей. Правильнее понимать под этим термином комплекс мероприятий, проводимых с целью предотвращения утечки, хищения, утраты, несанкционированного уничтожения, искажения, модификации (подделки), несанкционированного копирования, блокирования информации и т.п. Поскольку, например, утрата информации может происходить по чисто «техническим», объективным и неумышленным причинам, под это определение попадают также и мероприятия, связанные с повышением надежности сервера из-за отказов или сбоев в работе винчестеров, недостатков в используемом программном обеспечении и т.д.
Вообще, переход от работы на персональных компьютерах к работе в сети усложняет защиту информации по следующим причинам.
Шифрование данных представляет собой разновидность программных средств защиты информации и имеет особое значение на практике как единственная надежная защита информации, передаваемой по протяженным последовательным линиям, от утечки.
Понятие «шифрование» часто употребляется в связи с более общим понятием криптографии.
Например, символ Е встречается чащ всего — в среднем 123 раза на каждые 1000 символов или в 12,3% случаев далее следуют символы Т - 9,6%, А - 8,1%, О - 7,9%, N - 1,2%, I - 7,2%, S - 6,6%, R — 6,0%, Н - 5,1%, L — 4,0% и т.д. Приведенные цифры могут, конеч но, несколько варьироваться в зависимости от источника информацю Поэтому показатель устойчивости к дешифрованию SKB данном случа не превышает 20...30.
Табл. 6.1. Пример замены символов при подстановке
Исходный алфавит | А | В | С | D | Е | F | G ] | -I | i | J | К | L | X | Y | Z | |
Альтернативный алфавит | S | О | и | Н | К | Т | L : | X | N | W | м | Y | А | Р | J |
Перестановка потенциально обеспечивает большую по сравнению с по, становкой устойчивость к дешифрованию и выполняется с использов нием цифрового ключа или эквивалентного ключевого слова, как это п казано на следующем примере (см. табл. 6.2.).
Цифровой ключ состоит из неповторяющихся цифр, а соответствующ ему ключевое слово - из неповторяющихся символов. Исходный тек (plain text) записывается под ключом построчно. Зашифрованное сообщение (cipher text) выписывается по столбцам в том порядке, как это предписывают цифры ключа (или в том порядке, в котором расположены отдельные символы ключевого слова в алфавите).
Для рассматриваемого примера зашифрованное сообщение: TRANSPOSITION IS THE ENCIPHER METHOD будет выглядеть следующим образом: AIHHORTTPHPaEaaSNaRaTIalTOINMccNOEEDSSCEct.
Табл. 6.2. Пример использования простой перестановки (а - служебный символ, в данном случае означает пробел)
Ключевое слово | S | Е | С | и | R | I Т | Y |
Цифровой ключ | 5 | 2 | 1 | 7 | 4 | 3 6 | 8 |
Исходный текст (plain text), записанный построчно | Т | R | А | N | S | Р О | S |
I | Т | I | О | N | а I | S" | |
а | Т | Н | Е | а | Е N | С | |
I | Р | Н | Е | R | а М | Е | |
Т | Н | о | D | а | а а | а |
Гаммирование (смешивание с маской) основано на побитном сложении по модулю 2 (или, что то же самое - в соответствии с логикой ИСКЛЮЧАЮЩЕЕ ИЛИ) исходного сообщения с заранее выбранной двоичной последовательностью (маской).
Компактным представлением маски могут служить числа в десятичной системе счисления или некоторый текст (в этом случае рассматривается внутренние коды символов - для английского текста таблица ASCII).
Операция суммирования по модулю 2 (ИСКЛЮЧАЮЩЕЕ ИЛИ) является обратимой, так что при сложении с той же маской (ключом) зашифрованного сообщения мы снова получим исходный текст (произойдет дешифрование).
В качестве маски (ключа) могут использоваться константы типа п или е, и тогда маска будет иметь конечную длину. Наибольшую устойчивость к дешифрованию может обеспечить использование маски с бесконечной длиной, которая образована генератором случайных (точнее, псевдослучайных) последовательностей. Такой генератор легко реализуется аппаратными или программными средствами, например, с помощью сдвигового регистра с обратными связями, который используется при вычислении помехоустойчивого циклического кода. Точное воспроизведение псевдослучайной последовательности в генераторе на приемном конце линии обеспечивается при установке такого же исходного состояния (содержимого сдвигового регистра) и той же структуры обратных связей, что и в генераторе на передающем конце.
Перечисленные классические методы шифрования (подстановка, перестановка и гаммирование) являются линейными в том смысле, что длина зашифрованного сообщения равна длине исходного текста. Возможно нелинейное преобразование типа подстановки вместо исходных символов (или целых слов, фраз, предложений) заранее выбранных комбинаций символов другой длины.
Стандартные методы шифрования (национальные или международные) для повышения степени устойчивости к дешифрованию реализуют несколько этапов (шагов) шифрования, на каждом из которых используются различные классические методы шифрования в соответствии с выбранным ключом (или ключами). Существуют две принципиально различные группы стандартных методов шифрования:
Строгое математическое описание алгоритмов, используемых в стандартных методах шифрования, слишком сложно. Для пользователей важны в первую очередь потребительские свойства различных методов (степень устойчивости к дешифрованию, скорость шифрования и дешифрования, порядок и удобство распространения ключей), которые и рассматриваются ниже.