Современные симметричные криптосистемы
По мнению Шеннона, в практических шрифтах необходимо использовать два общих принципа: рассеивание и перемешивание.
Рассеивание представляет собой распространение влияния одного знака открытого текста на много знаков шифртекста, что позволяет скрыть статические свойства открытого текста.
Перемешивание предполагает использование таких шифрующих преобразований, которые усложняют восстановление взаимосвязи статических свойств открытого и шифрованного текстов Однако шифр должен не только затруднять раскрытие ,но и обеспечить легкость зашифрования и расшифрования при известном пользователю секретном ключе.
Распространённым способом достижения эффектов рассеивания и перемешивания является использование составного шифра, т.е. такого шифра, который может быть реализован в виде некоторой последовательности простых шифров, каждый из которых вносит свой вклад в значительное суммарное рассеивание и перемешивание.
В составных шифрах в качестве простых шифров чаще всего используются простые перестановки и подстановки. При перестановке просто перемешиваются символы открытого текста, причём конкретный вид перемешивания определяется секретным ключом. При подстановке каждый символ открытого текста заменяют другим символом из того же алфавита, а конкретный вид подстановки так же определяется секретным ключом. Следует заметить, что в современном блочном шифре блок открытого текста и шифртекста представляют собой двоичные последовательности обычно длиной 64 бита.В принципе каждый блок может принимать 264значений. Поэтому подстановки выполняются в очень большом алфавите, содержащем до 264=1019 символов.
При многократном чередовании простых перестановок и подстановок, управляемых достаточно длинным секретным ключом, можно получить очень стойкий шифр с хорошим рассеиванием и перемешиванием. Рассмотрим ниже криптоалгоритмы DES, IDEA и отечественный стандарт шифрования данных построены в полном соответствии с указанной методологией.
Американский стандарт шифрования данных DES
Стандарт шифрования данных DES( Data Encryption Standard) опубликован в 1977г. национальным бюро стандартов США.
Стандарт DES предназначен для защиты информации в государственных и коммерческих организациях США. Алгоритм, положенный в основу стандартов, распространялся достаточно быстро, и уже в 1980г. был одобрен национальным институтом стандартов и технологий США. С этого момента DES превращается в стандарт не только по названию, но и фактически. Появляются микро ЭВМ, предназначенные для шифрования и расшифрования информации сетях передачи данных.
К настоящему времени DES является наиболее распространённым алгоритмом, используемым в системах защиты коммерческой информации. Более того, реализация алгоритма DES в таких системах становится признаком хорошего тона.
Основные достоинства алгоритма DES:
1)Используется только один ключ длиной 56 бит
2)Зашифровав сообщение с помощью одного пакета программ, для расшифровки можно использовать любой другой пакет программ, соответствующий стандарту DES
3)Относительная простота алгоритма обеспечивает высокую скорость обработки
4)Достаточно высокая стойкость алгоритма
Первоначально метод, лежащий в основе стандарта DES, был разработан фирмой IBM для своих целей и реализован в виде системы «Люцифер».Система «Люцифер» основана на комбинировании методов подстановки и перестановки и состоит из чередующейся последовательности блоков перестановки и подстановки. В ней использовался ключ длиной 128 бит, управлявший состояниями блоков перестановки и подстановки. Система «Люцифер» оказалась весьма сложной для практической реализации из-за относительно малой скорости шифрования (2190 байт/с- программная реализация, 96970 бай/с-аппаратная реализация)
Алгоритм DES также использует комбинацию подстановок и перестановок.Des осуществляет шифрование 64-битовых блоков данных с помощью 64-битового ключа, в котором значащими являются 56 бит(остальные 8 бит- проверочные биты для контроля на честность)Дешифрование в DES является операцией обратной шифрованию, и выполняется путем повторения операция шифрования в обратной последовательности. Процесс шифрования заключается в начальной перестановке битов 64-битового блока, шестнадцати циклах шифрования и ,наконец, в конечной перестановке битов.
Основные режимы работы алгоритма DES
Алгоритм DES вполне подходит как для шифрования, так и для аутенфикации данных.Он позволяет непосредственно преобразовывать 64-битовый входной открытый текст в 64-битовый выходной шифрованный текст, однако данные редко ограничиваются 64-разрядами.
Чтобы воспользоваться алгоритмом DES для решения разнообразных криптографических задач, разработаны четыре рабочих режима:
1)Электронная кодовая книга ---ECB(Electronic Code Book);
2)Сцепление блоков шифра --- CBC(Cipher Block Chaining);
3)Обратная связь по шифртексту --- CFB(Cipher Feed Back);
4)Обратная связь по выходу --- OFB(Output Feed Back).
Режим «Электронная кодовая книга»
Длинный файл разбивают на 64-битовые отрезки(блоки)) по 8 байтов. Каждый из этих блоков шифруют независимо с использованием одного и того же ключа шифрования.
Основное достоинство-простота реализации. Недостаток- относительно слабая устойчивость против квалифицированных криптоаналитиков.Из-за фиксированного характера шифрования при ограниченной длине блока 64 бита возможно проведение криптоанализа «со словарём».Блок такого размера может повторится в сообщении вследствие большой избыточности в тексте на естественном языке. Это приводит к тому, что идентичные блоки открытого текста в сообщении будет представлены идентичными блоками шифртекста, что даёт криптоаналитику некоторую информацию о содержании сообщения.
Режим «Сцепление блоков шифра»
В этом режиме исходный файл М разбивается на 64-битовые блоки:
М=М1М2…Мn.Первый блок М1 складывается по модулю 2 с 64-битовым начальным вектором 4,который меняется ежедневно и держится в секрете. Полученная сумма затем шифруется с использованием ключа DES,известного и отправителю и получателю информации. Полученный 64-битовый шифр С1 складывается по модулю 2(Θ) со вторым блоком текста, результат шифруется и получается второй 64-битовый шифр С2,и т.д.Процедура повторяется до тех пор, пока не будут обработаны все блоки текста.
Таким образом, для всех i=1…n(n-число блоков) результат шифрования Сi определяется следующим образом: Сi=DES(MiΘCi-1),где C0=4-начальное значение шифра, равное начальному вектору(вектору инициализации).
Очевидно, что последний 64-битовый блок шифртекста является функцией секретного ключа, начального вектора и каждого бита открытого текста независимо от его длины. Этот блок шифртекста называю кодом аутентификации сообщения(КАС).
Код КАС может быть легко проверен получателем, владеющим секретным ключом и начальным вектором, путём повторения процедуры, выполненной отправителем. Посторонний, однако, не может осуществить генерацию КАС, который воспринялся бы получателем как подлинный, чтобы добавить его к ложному сообщению, либо отделить КАС от истинного сообщения для использования его с изменённым или ложным сообщением.
Достоинство данного режима в том, что он не позволяет накапливаться ошибкам при передаче.
Блок Мi является функцией только Ci-1 и Ci.Поэтому ошибка при передаче приведёт к потере только двух блоков исходного текста
Режим «Обратная связь по шифру»
В этому режиме размер блока может отличаться от 64 бит. Файл, подлежащий шифрованию(расшифрованию),считывается последовательными блоками длиной к битов(к=1…64).Входной блок(64-битовый регистр сдвига) вначале содержит вектор инициализации, выровненный по правому краю.
Предположим, что в результате разбиения на блоки мы получили n блоков длиной к битов каждый(остаток дописывается нулями и пробелами).Тогда для любого i=1…n блок шифртекста Ci=MiΘPi-1
Режим «Обратная связь по выходу»
Этот режим тоже использует переменный размер блока и сдвиговый регистр ,инициализируемый так же ,как в режиме CFB, а именно-входной блок вначале содержит вектор инициализации 4,выровненный по правому краю. При этом для каждого сеанса шифрования данных необходимо использовать новое начальное состояние регистра, которое должно пересылаться по каналу открыты текстом.
Положим
М=М1М2…Mn
Для всех i=1…n
Ci=MiΘPi
Где Pi-старшие к битов операции DES(Ci-1).
Отличие от режима обратной связи по шифртексту состоит в методе обновления сдвигового регистра.
Это осуществляется путём отбрасывания старших к битов и дописывания справа Рi.
Области применения алгоритма DES
Каждому из рассмотренных режимов(ECB,CBC,CFB,OFB) свойственны свои достоинства и недостатки ,что обусловливает области их применения. Режим ЕСВ хорошо подходит для шифрования ключей: режимCFB,как правило, предназначается для шифрования отдельных символов, а режим OFB нередко применяется для шифрования в спутниковых системах связи.
Режимы СВС и СFB пригодны для аутентификации данных.Эти режимы позволяют использовать алгоритм DES для:
1)Интерактивного шифрования при обмене данными между терминалом и главной ЭВМ;
2)Шифрования криптографического ключа в практике автоматизированного распространения ключей;
3)Шифрования файлов, почтовых отправлений, данных спутников и других практических задач
Первоначально стандарт DES предназначался для шифрования и расшифрования данных ЭВМ. Однако его применение было обобщено и на аутентификацию.
В системах автоматической обработки данных человек не в состоянии просмотреть данные, чтобы установить, не внесены ли в них какие-либо изменения. При огромных объёмах данных проходящих в современных системах обработки, просмотр занял бы слишком много времени. К тому же избыточность данных может оказаться недостаточной для обнаружения ошибок. Даже в тех случаях, когда просмотр человеком возможен, данные могут быть изменены таким образом, что обнаружить эти изменения человеку очень трудно. Например «$1900»-на «$9100».Без дополнительной информации человек при просмотре может легко принять изменённые данные за подлинные. Такие опасности могут существовать даже при использовании шифрования данных.Поэтому желательно иметь автоматическое средство обнаружения преднамеренных и непреднамеренных изменений данных.
Обыкновенные коды, обнаруживающие ошибки, непригодны, так как если алгоритм образования кода известен, противник может выработать правильный код после внесения изменений в даны.Однако с помощью алгоритма DES модно образовать криптографическую контрольную сумму, которая может защитить как от случайных, так и преднамеренных, но несанкционированных изменений данных. Этот процесс описывает стандарт для аутентификации данных ЭВМ(FIPS 113).Суть стандарта состоит в том, что данные зашифровываются в режиме обратной связи по шифртексту или в режиме сцепления блоков шифра, в результате чего получается окончательный блок шифра, представляющий собой функцию всех разрядов открытого текста. После этого сообщение, которое содержит открытый текст, может быть передано с использованием вычисленного окончательного блока шифра, служащего в качестве криптографической контрольной суммы. Одни и те же данные можно защитить, пользуясь как шифрованием, так и аутентификацией. Данные защищаются от ознакомления шифрованием, а изменения обнаруживаются посредством аутентификации. Алгоритм аутентификации можно применить как к открытому, так и к зашифрованному тексту. При финансовых операциях, когда в большинстве случаев реализуются и шифрование и аутентификация, последняя применяется и к открытому тексту. Шифрование и аутентификацию используют для защиты данных, хранящихся в ЭВМ. Во многих ЭВМ пароли зашифровывают необратимым образом и хранят в памяти машины. Когда пользователь обращается к ЭВМ и вводит пароль, последний зашифровывается и сравнивается с хранящимся значением. Если обе зашифрованные величины одинаковы, пользователь получает доступ к машине, а в противном случае следует отказ. Нередко зашифрованный пароль вырабатывают с помощью алгоритма DES,причём ключ полагается равным паролю, а открытый текст-коду идентификации пользователя. С помощью алгоритма DES можно также зашифровать файлы ЭВМ для их хранения. Одним из наиболее важных применений алгоритма DES является защита сообщений электронной системы платежей при операциях с широкой клиентурой и между банками. Алгоритм DES реализуется в банковских автоматах, терминалах в торговых точках, автоматизированных рабочих местах и главных ЭВМ.Диапазон защищаемых им данных весьма шишрок-от оплат 50$ до перевода на многие миллионы вечнозелёных. Гибкость основного алгоритма DES позволяет использовать его в самых разнообразных областях электронной системы платежей
СЛОЖЕНИЕ ПО МОДУЛЮ ДВА= Θ
По мнению Шеннона, в практических шрифтах необходимо использовать два общих принципа: рассеивание и перемешивание.
Рассеивание представляет собой распространение влияния одного знака открытого текста на много знаков шифртекста, что позволяет скрыть статические свойства открытого текста.
Перемешивание предполагает использование таких шифрующих преобразований, которые усложняют восстановление взаимосвязи статических свойств открытого и шифрованного текстов Однако шифр должен не только затруднять раскрытие ,но и обеспечить легкость зашифрования и расшифрования при известном пользователю секретном ключе.
Распространённым способом достижения эффектов рассеивания и перемешивания является использование составного шифра, т.е. такого шифра, который может быть реализован в виде некоторой последовательности простых шифров, каждый из которых вносит свой вклад в значительное суммарное рассеивание и перемешивание.
В составных шифрах в качестве простых шифров чаще всего используются простые перестановки и подстановки. При перестановке просто перемешиваются символы открытого текста, причём конкретный вид перемешивания определяется секретным ключом. При подстановке каждый символ открытого текста заменяют другим символом из того же алфавита, а конкретный вид подстановки так же определяется секретным ключом. Следует заметить, что в современном блочном шифре блок открытого текста и шифртекста представляют собой двоичные последовательности обычно длиной 64 бита.В принципе каждый блок может принимать 264значений. Поэтому подстановки выполняются в очень большом алфавите, содержащем до 264=1019 символов.
При многократном чередовании простых перестановок и подстановок, управляемых достаточно длинным секретным ключом, можно получить очень стойкий шифр с хорошим рассеиванием и перемешиванием. Рассмотрим ниже криптоалгоритмы DES, IDEA и отечественный стандарт шифрования данных построены в полном соответствии с указанной методологией.
Американский стандарт шифрования данных DES
Стандарт шифрования данных DES( Data Encryption Standard) опубликован в 1977г. национальным бюро стандартов США.
Стандарт DES предназначен для защиты информации в государственных и коммерческих организациях США. Алгоритм, положенный в основу стандартов, распространялся достаточно быстро, и уже в 1980г. был одобрен национальным институтом стандартов и технологий США. С этого момента DES превращается в стандарт не только по названию, но и фактически. Появляются микро ЭВМ, предназначенные для шифрования и расшифрования информации сетях передачи данных.
К настоящему времени DES является наиболее распространённым алгоритмом, используемым в системах защиты коммерческой информации. Более того, реализация алгоритма DES в таких системах становится признаком хорошего тона.
Основные достоинства алгоритма DES:
1)Используется только один ключ длиной 56 бит
2)Зашифровав сообщение с помощью одного пакета программ, для расшифровки можно использовать любой другой пакет программ, соответствующий стандарту DES
3)Относительная простота алгоритма обеспечивает высокую скорость обработки
4)Достаточно высокая стойкость алгоритма
Первоначально метод, лежащий в основе стандарта DES, был разработан фирмой IBM для своих целей и реализован в виде системы «Люцифер».Система «Люцифер» основана на комбинировании методов подстановки и перестановки и состоит из чередующейся последовательности блоков перестановки и подстановки. В ней использовался ключ длиной 128 бит, управлявший состояниями блоков перестановки и подстановки. Система «Люцифер» оказалась весьма сложной для практической реализации из-за относительно малой скорости шифрования (2190 байт/с- программная реализация, 96970 бай/с-аппаратная реализация)
Алгоритм DES также использует комбинацию подстановок и перестановок.Des осуществляет шифрование 64-битовых блоков данных с помощью 64-битового ключа, в котором значащими являются 56 бит(остальные 8 бит- проверочные биты для контроля на честность)Дешифрование в DES является операцией обратной шифрованию, и выполняется путем повторения операция шифрования в обратной последовательности. Процесс шифрования заключается в начальной перестановке битов 64-битового блока, шестнадцати циклах шифрования и ,наконец, в конечной перестановке битов.
Основные режимы работы алгоритма DES
Алгоритм DES вполне подходит как для шифрования, так и для аутенфикации данных.Он позволяет непосредственно преобразовывать 64-битовый входной открытый текст в 64-битовый выходной шифрованный текст, однако данные редко ограничиваются 64-разрядами.
Чтобы воспользоваться алгоритмом DES для решения разнообразных криптографических задач, разработаны четыре рабочих режима:
1)Электронная кодовая книга ---ECB(Electronic Code Book);
2)Сцепление блоков шифра --- CBC(Cipher Block Chaining);
3)Обратная связь по шифртексту --- CFB(Cipher Feed Back);
4)Обратная связь по выходу --- OFB(Output Feed Back).
Режим «Электронная кодовая книга»
Длинный файл разбивают на 64-битовые отрезки(блоки)) по 8 байтов. Каждый из этих блоков шифруют независимо с использованием одного и того же ключа шифрования.
Основное достоинство-простота реализации. Недостаток- относительно слабая устойчивость против квалифицированных криптоаналитиков.Из-за фиксированного характера шифрования при ограниченной длине блока 64 бита возможно проведение криптоанализа «со словарём».Блок такого размера может повторится в сообщении вследствие большой избыточности в тексте на естественном языке. Это приводит к тому, что идентичные блоки открытого текста в сообщении будет представлены идентичными блоками шифртекста, что даёт криптоаналитику некоторую информацию о содержании сообщения.
Режим «Сцепление блоков шифра»
В этом режиме исходный файл М разбивается на 64-битовые блоки:
М=М1М2…Мn.Первый блок М1 складывается по модулю 2 с 64-битовым начальным вектором 4,который меняется ежедневно и держится в секрете. Полученная сумма затем шифруется с использованием ключа DES,известного и отправителю и получателю информации. Полученный 64-битовый шифр С1 складывается по модулю 2(Θ) со вторым блоком текста, результат шифруется и получается второй 64-битовый шифр С2,и т.д.Процедура повторяется до тех пор, пока не будут обработаны все блоки текста.
Таким образом, для всех i=1…n(n-число блоков) результат шифрования Сi определяется следующим образом: Сi=DES(MiΘCi-1),где C0=4-начальное значение шифра, равное начальному вектору(вектору инициализации).
Очевидно, что последний 64-битовый блок шифртекста является функцией секретного ключа, начального вектора и каждого бита открытого текста независимо от его длины. Этот блок шифртекста называю кодом аутентификации сообщения(КАС).
Код КАС может быть легко проверен получателем, владеющим секретным ключом и начальным вектором, путём повторения процедуры, выполненной отправителем. Посторонний, однако, не может осуществить генерацию КАС, который воспринялся бы получателем как подлинный, чтобы добавить его к ложному сообщению, либо отделить КАС от истинного сообщения для использования его с изменённым или ложным сообщением.
Достоинство данного режима в том, что он не позволяет накапливаться ошибкам при передаче.
Блок Мi является функцией только Ci-1 и Ci.Поэтому ошибка при передаче приведёт к потере только двух блоков исходного текста
Режим «Обратная связь по шифру»
В этому режиме размер блока может отличаться от 64 бит. Файл, подлежащий шифрованию(расшифрованию),считывается последовательными блоками длиной к битов(к=1…64).Входной блок(64-битовый регистр сдвига) вначале содержит вектор инициализации, выровненный по правому краю.
Предположим, что в результате разбиения на блоки мы получили n блоков длиной к битов каждый(остаток дописывается нулями и пробелами).Тогда для любого i=1…n блок шифртекста Ci=MiΘPi-1
Режим «Обратная связь по выходу»
Этот режим тоже использует переменный размер блока и сдвиговый регистр ,инициализируемый так же ,как в режиме CFB, а именно-входной блок вначале содержит вектор инициализации 4,выровненный по правому краю. При этом для каждого сеанса шифрования данных необходимо использовать новое начальное состояние регистра, которое должно пересылаться по каналу открыты текстом.
Положим
М=М1М2…Mn
Для всех i=1…n
Ci=MiΘPi
Где Pi-старшие к битов операции DES(Ci-1).
Отличие от режима обратной связи по шифртексту состоит в методе обновления сдвигового регистра.
Это осуществляется путём отбрасывания старших к битов и дописывания справа Рi.
Области применения алгоритма DES
Каждому из рассмотренных режимов(ECB,CBC,CFB,OFB) свойственны свои достоинства и недостатки ,что обусловливает области их применения. Режим ЕСВ хорошо подходит для шифрования ключей: режимCFB,как правило, предназначается для шифрования отдельных символов, а режим OFB нередко применяется для шифрования в спутниковых системах связи.
Режимы СВС и СFB пригодны для аутентификации данных.Эти режимы позволяют использовать алгоритм DES для:
1)Интерактивного шифрования при обмене данными между терминалом и главной ЭВМ;
2)Шифрования криптографического ключа в практике автоматизированного распространения ключей;
3)Шифрования файлов, почтовых отправлений, данных спутников и других практических задач
Первоначально стандарт DES предназначался для шифрования и расшифрования данных ЭВМ. Однако его применение было обобщено и на аутентификацию.
В системах автоматической обработки данных человек не в состоянии просмотреть данные, чтобы установить, не внесены ли в них какие-либо изменения. При огромных объёмах данных проходящих в современных системах обработки, просмотр занял бы слишком много времени. К тому же избыточность данных может оказаться недостаточной для обнаружения ошибок. Даже в тех случаях, когда просмотр человеком возможен, данные могут быть изменены таким образом, что обнаружить эти изменения человеку очень трудно. Например «$1900»-на «$9100».Без дополнительной информации человек при просмотре может легко принять изменённые данные за подлинные. Такие опасности могут существовать даже при использовании шифрования данных.Поэтому желательно иметь автоматическое средство обнаружения преднамеренных и непреднамеренных изменений данных.
Обыкновенные коды, обнаруживающие ошибки, непригодны, так как если алгоритм образования кода известен, противник может выработать правильный код после внесения изменений в даны.Однако с помощью алгоритма DES модно образовать криптографическую контрольную сумму, которая может защитить как от случайных, так и преднамеренных, но несанкционированных изменений данных. Этот процесс описывает стандарт для аутентификации данных ЭВМ(FIPS 113).Суть стандарта состоит в том, что данные зашифровываются в режиме обратной связи по шифртексту или в режиме сцепления блоков шифра, в результате чего получается окончательный блок шифра, представляющий собой функцию всех разрядов открытого текста. После этого сообщение, которое содержит открытый текст, может быть передано с использованием вычисленного окончательного блока шифра, служащего в качестве криптографической контрольной суммы. Одни и те же данные можно защитить, пользуясь как шифрованием, так и аутентификацией. Данные защищаются от ознакомления шифрованием, а изменения обнаруживаются посредством аутентификации. Алгоритм аутентификации можно применить как к открытому, так и к зашифрованному тексту. При финансовых операциях, когда в большинстве случаев реализуются и шифрование и аутентификация, последняя применяется и к открытому тексту. Шифрование и аутентификацию используют для защиты данных, хранящихся в ЭВМ. Во многих ЭВМ пароли зашифровывают необратимым образом и хранят в памяти машины. Когда пользователь обращается к ЭВМ и вводит пароль, последний зашифровывается и сравнивается с хранящимся значением. Если обе зашифрованные величины одинаковы, пользователь получает доступ к машине, а в противном случае следует отказ. Нередко зашифрованный пароль вырабатывают с помощью алгоритма DES,причём ключ полагается равным паролю, а открытый текст-коду идентификации пользователя. С помощью алгоритма DES можно также зашифровать файлы ЭВМ для их хранения. Одним из наиболее важных применений алгоритма DES является защита сообщений электронной системы платежей при операциях с широкой клиентурой и между банками. Алгоритм DES реализуется в банковских автоматах, терминалах в торговых точках, автоматизированных рабочих местах и главных ЭВМ.Диапазон защищаемых им данных весьма шишрок-от оплат 50$ до перевода на многие миллионы вечнозелёных. Гибкость основного алгоритма DES позволяет использовать его в самых разнообразных областях электронной системы платежей
СЛОЖЕНИЕ ПО МОДУЛЮ ДВА= Θ