А.В. Петраков - Основы практической защиты информации (1022811), страница 55
Текст из файла (страница 55)
. . , m может быть представлено в следующем виде:ЛГ(1) =Ш(г) = А(Ш(г где ДГ(г') обозначает 64-разрядный блок зашифрованного текста; А(-) —функцию шифрования в режиме простой замены. Аргументом функциина первом шаге итеративного алгоритма является 64-разрядная синхропосылка, а на всех последующих — предыдущий блок зашифрованныхданных Ш(г — 1).В ГОСТ 28147-89 определяется процесс выработки имитовставки,который единообразен для любого из режимов шифрования данных.Имитовставка — это блок из ρ бит (имитоставка Ир), который вырабатывается либо перед шифрованием всего сообщения, либо параллельно с шифрованием по блокам. Первые блоки открытых данных, которые участвуют в выработке имитовставки, могут содержать служебнуюинформацию (например адресную часть, время, синхропосылку) и незашифровываться.
Значение параметра ρ (число двоичных разрядов вимитовставке) определяется криптографическими требованиями с учетом того, что вероятность навязывания ложных помех равна 1/2 р .Для получения имитовставки открытые данные представляются ввиде 64-разрядных блоков Т(г') (г = 1, 2, .. ., га, где m определяетсяобъемом шифруемых данных). Первый блок открытых данных Т(1)подвергается преобразованию, соответствующему первым 16 циклам алгоритма зашифрования в режиме простой замены, причем в качествеключа для выработки имитовставки используется ключ, по которомушифруются данные.Полученное после 16 циклов работы 64-разрядное число суммируется по модулю 2 с вторым блоком открытых данных Т(2). Результатсуммирования снова подвергается преобразованию, соответствующемупервым 16 циклам алгоритма зашифрования в режиме простой замены.Полученное 64-разрядное число суммируется по модулю 2 с третьим блоком открытых данных Т(3) и т.д. Последний блок Т(гп), принеобходимости дополненный до полного 64-разрядного блока нулями,суммируется по модулю 2 с результатом работы на шаге т— 1, послечего зашифровывается в режиме простой замены по первым 16 циклам250работы алгоритма.
Из полученного 64-разрядного числа выбираетсяотрезок И р длиной ρ бит.Имитовставка Ир передается по каналу связи или в память ЭВМ после зашифрованных данных. Поступившие зашифрованные данные расшифровываются и из полученных блоков открытых данных Τ(ι) вырабатывается имитовставка Ир, которая затем сравнивается с имитовставкойИр, полученной из канала связи или из памяти ЭВМ. В случае несовпадения имитовставок все расшифрованные данные считают ложными.7.6. Криптографические системы с открытымключомНаиболее перспективными системами криптографической защитыданных являются системы с открытым ключом, В таких системах длязашифрования данных используется один ключ, а для расшифрованиядругой.
Первый ключ не является секретным и может быть опубликован для использования всеми пользователями системы, которые зашифровывают данные. Расшифрование данных с помощью известногоключа невозможно. Для расшифрования данных получатель зашифрованной информации использует второй ключ, который является секретным. Разумеется, ключ расшифрования не может быть определен изключа зашифрования [3, 8, 44].В настоящее время наиболее развитым методом криптографической защиты информации с известным ключом является RSA (названтак по начальным буквам фамилий ее изобретателей Rivest, Shamir иAdleman).
При рассмотрении метода RSA необходимо вспомнить некоторые школьные термины.Под простым числом понимают такое число, которое делится только на 1 и на само себя. Взаимно простыми числами называют такиечисла, которые не имеют ни одного общего делителя, кроме 1. Подрезультатом операции imodj понимают остаток от целочисленного деления г на j.Чтобы использовать алгоритм RSA, надо сначала сгенерировать открытый и секретный ключи, выполнив следующие шаги.___1.Выбрать два очень больших простых числа ρ и q.2.Определить η как результат умножения ρ на q(n — pq).3.Выбрать большое случайное число d. Оно должно быть взаимнопростым с результатом умножения (р — l)(q — 1).4.Определить такое число е, для которого является истинным следующее соотношение: edmod((p — 1)(<? — 1)) = 1.5.
Назвать открытым ключом числа е и п, а секретным ключом— числа d и п.Далее, чтобы зашифровать данные по известному ключу {е,п},необходимо разбить шифруемый текст на блоки, каждый из которыхможет быть представлен в виде числа М(г) = 0, 1........ η — 1; зашифровать текст, рассматриваемый как последовательность чисел Μ (г) поформуле С (г) = М(г) е mod(ra).251ίЧтобы расшифровать эти данные, используя секретный ключ {d, n},необходимо выполнить следующие вычисления: М(г) = C(i) d mod(n).В результате будет получено множество чисел Μ ( г ) , которое представляет собой исходный текст.Приведем простой пример использования метода RSA для шифрования сообщения «ЕДА».
Для простоты будем использовать очень маленькие числа (на практике используются намного большие числа).1.Выберем ρ = 3 и q = 11.2.Определим η = 3 ■ 11 = 33.3.Найдем (р — l)(q — 1) = 20. Следовательно, в качестве d выберемлюбое число, которое является взаимно простым с 20, например d= 3.4.Выберем число е. В качестве такого числа может быть взято любое число, для которого удовлетворяется соотношение е ■ 3mod(20)= 1,например е = 7.5.Представим шифруемое сообщение как последовательность целых чисел в диапазоне 0...32. Пусть буква Ε изображаетсячислом 6,буква Д — числом 5, а буква А — числом 1. Тогда сообщениеможнопредставить в виде последовательности чисел 651.
Зашифруемсообщение, используя ключ {7,33}:Ci = 67 mod(33) = 279936 mod(33) = 30; С2= Ь1 mod(33) = 78125 mod(33) = 14; С 3 =l 7 mod(33) = 1 mod(33) = 1.Попытаемся расшифровать сообщение {30,14,1}, полученное в результате зашифрования по известному ключу, на основе секретного ключа {3,33}:Mi = 303mod(33) = 27000 mod(33) = 6; ■■' М2= 14 3 mod(33) = 2744mod(33) = 5; Мз = I 3 mod(33) = 1mod(33) = 1.Таким образом, в результате расшифрования сообщения получено исходное сообщение «ЕДА».Криптостойкость алгоритма RSA основывается на предположении,что исключительно трудно определить секретный ключ по известному,поскольку для этого необходимо решить задачу о существовании делителей целого числа. Данная задача не имеет до настоящего времениэффективного (полиномиального) решения.
Более того, вопрос существования эффективных алгоритмов решения таких (NP-полных) задачявляется открытым. В связи с этим для чисел, состоящих из 200 цифр(а именно такие числа рекомендуется использовать), традиционные методы требуют выполнения огромного числа операций (около 10 23 ).252■7.7. Некоторая сравнительная оценкакриптографических методовРезультаты сравнительных оценок криптографических методов приведены в [32].Метод шифрования с использованием датчика ПСЧ наиболее часто используется в программной реализации системы криптографической защиты данных. Это объясняется тем, что, с одной стороны, ондостаточно прост для программирования, а с другой стороны, позволяет создавать алгоритмы с очень высокой криптостойкостью.
Крометого, эффективность данного метода шифрования достаточна высока.Системы, основанные на методе шифрования с использованием датчикаПСЧ, позволяют зашифровать в секунду от нескольких десятков до сотен килобайт данных (здесь оценочные характеристики приведены дляперсональных компьютеров).Основным преимуществом метода DES является то, что он является стандартом. Как утверждает Национальное Бюро Стандартов США,алгоритм обладает следующими свойствами:высоким уровнем защиты данных против дешифрования и возможной модификации данных;простотой в понимании;высокой степенью сложности, которая делает его раскрытие дорожеполучаемой при этом прибыли;метод защиты основывается на ключе и не зависит ни от какой«секретности» алгоритма;экономичен в реализации и эффективен в быстродействии.Важной характеристикой этого алгоритма является его гибкость приреализации и использовании в различных приложениях обработки данных.
Каждый блок данных шифруется независимо от других, что позволяет расшифровывать отдельный блок в зашифрованном сообщениии структуре данных. Поэтому можно осуществлять независимую передачу блоков данных и произвольный доступ к зашифрованным данным.Ни временная, ни позиционная синхронизация для операция шифрования не нужны.Алгоритм вырабатывает зашифрованные данные, в которых каждыйбит является функцией от.
всех битов открытых данных и всех битовключа. Различие лишь в одном бите данных дает в результате равныевероятности изменения для каждого бита зашифрованных данных.Конечно, эти свойства DES выгодно отличают его от метода шифрования с использованием датчика ПСЧ, поскольку большинство ал-"горитмов шифрования, построенных на основе датчиков ПСЧ, не характеризуются всеми преимуществами DES. Однако и DES обладает рядом недостатков.Самым существенным недостатком DES специалисты признают размер ключа, который считается слишком малым. Стандарт не является253неуязвимым, хотя и очень труден для раскрытия.