Реферат: Криптография
/>
Содержание
От автора___________________________________________________________________ 1
Введение____________________________________________________________________ 2
Терминология______________________________________________________________ 3
Требования к криптосистемам________________________________________________ 4
Симметричные криптосистемы________________________________________________ 6
Перестановки______________________________________________________________ 7
Системы подстановок_______________________________________________________ 7
Гаммирование_____________________________________________________________ 13
Датчики ПСЧ_____________________________________________________________ 13
Стандарт шифрования данных ГОСТ28147-89_________________________________ 15
Системы с открытым ключом________________________________________________ 19
Алгоритм RSA____________________________________________________________ 20
Криптосистема Эль-Гамаля__________________________________________________ 24
Криптосистемы на основеэллиптических уравнений___________________________ 25
Электронная подпись________________________________________________________ 26
Электронная подпись на основеалгоритма RSA________________________________ 27
Цифровая сигнатура________________________________________________________ 29
Управление ключами________________________________________________________ 32
Генерация ключей_________________________________________________________ 32
Накопление ключей________________________________________________________ 32
Распределение ключей______________________________________________________ 33
Проблемы и перспективыкриптографических систем___________________________ 36
Шифрование больших сообщений ипотоков данных____________________________ 36
Использование “блуждающихключей”________________________________________ 37
Шифрование, кодирование исжатие информации______________________________ 39
Реализация криптографическихметодов______________________________________ 40
Заключение_________________________________________________________________ 42
От автораЭта книга — краткое введение вкриптографию. С одной стороны, здесь изложен материал, который отвечает намногие вопросы, которые возникают у тех кто делает на ниве этой науке первыешаг, с другой стороны здесь есть тот минимум информации, который достаточен длятого чтобы самостоятельно оценивать любые реальные криптосистемы или даже создаватьсвои собственные.
Язык книги делался по возможностидоступным, но не освобождает Читателя от необходимости владения элементарнымиосновами математики, в частности алгебры и теории групп и полей.
Многие вопросы к сожалению осталисьза обложками этой книги. В частности после долгих сомнений Автор решилотказаться от рассмотрения DES, ввиду его крайней непрактичности и неуживчивости нароссийской почве[1].
Массу полезной информации можнонайти на сервере ftp.rsa.com. В faq5.doc Вы если и не найдете ответ на любой вопрос покриптографии, то обнаружите большое количество ссылок на другие источники.
Автор будет признателен за любыезамечания и вопросы, которые проще всего направить по адресу: bar@glasnet.ru
Баричев Сергей
ВведениеПроблема защиты информации путемее преобразования, исключающего ее прочтение посторонним лицом волновалачеловеческий ум с давних времен. История криптографии — ровесница историичеловеческого языка. Более того, первоначально письменность сама по себе былакриптографической системой, так как в древних обществах ею владели только избранные.Священные книги Древнего Египта, Древней Индии тому примеры.
С широким распространениемписьменности криптография стала формироваться как самостоятельная наука. Первыекриптосистемы встречаются уже в начале нашей эры. Так, Цезарь в своей перепискеиспользовал уже более менее систематический шифр, получивший его имя.
Бурное развитие криптографическиесистемы получили в годы первой и второй мировых войн. Начиная спослевоенного времени и по нынешний день появление вычислительных средствускорило разработку и совершенствование криптографических методов.
Почему проблема использованиякриптографических методов в информационных системах (ИС) стала в настоящиймомент особо актуальна?
С одной стороны, расширилосьиспользование компьютерных сетей, в частности глобальной сети Интернет,по которым передаются большие объемы информации государственного,военного, коммерческого и частного характера, не допускающеговозможность доступа к ней посторонних лиц.
С другой стороны, появление новыхмощных компьютеров, технологий сетевых и нейронных вычисленийсделало возможным дискредитацию криптографических систем еще недавносчитавшихся практически не раскрываемыми.
Проблемой защиты информации путемее преобразования занимается криптология (kryptos — тайный, logos — наука). Криптология разделяется на два направления- криптографию и криптоанализ. Цели этих направленийпрямо противоположны.
Криптография занимается поиском и исследованием математическихметодов преобразования информации.
Сфера интересов криптоанализа- исследование возможности расшифровывания информации без знанияключей.
В этой книге основное вниманиебудет уделено криптографическим методам.
Современная криптография включает всебя четыре крупных раздела:
1. Симметричные криптосистемы.
2. Криптосистемы с открытым ключом.
3. Системы электронной подписи.
4. Управление ключами.
Основные направления использованиякриптографических методов — передача конфиденциальной информации по каналамсвязи (например, электронная почта), установление подлинности передаваемыхсообщений, хранение информации (документов, баз данных) на носителяхв зашифрованном виде.
/>/>ТерминологияИтак, криптография даетвозможность преобразовать информацию таким образом, что ее прочтение (восстановление)возможно только при знании ключа.
В качестве информации,подлежащей шифрованию и дешифрованию, будут рассматриваться тексты,построенные на некотором алфавите. Под этими терминами понимаетсяследующее.
Алфавит — конечное множество используемых для кодированияинформации знаков.
Текст — упорядоченный набор из элементов алфавита.
В качестве примеровалфавитов, используемых в современных ИС можно привести следующие:
* алфавит Z33 — 32 буквырусского алфавита и пробел;
* алфавит Z256 — символы, входящие в стандартные коды ASCII и КОИ-8;
* бинарный алфавит — Z2= {0,1};
* восьмеричный алфавит илишестнадцатеричный алфавит;
Шифрование — преобразовательный процесс: исходныйтекст, который носит также название открытого текста, заменяетсяшифрованным текстом.
/>
Дешифрование — обратный шифрованию процесс. На основе ключашифрованный текст преобразуется в исходный.
/>
Ключ — информация, необходимая для беспрепятственногошифрования и дешифрования текстов.
Криптографическая системапредставляет собой семейство Tпреобразований открытого текста. Члены этого семейства индексируются,или обозначаются символом k; параметр k является ключом.Пространство ключей K — это набор возможных значений ключа.Обычно ключ представляет собой последовательный ряд букв алфавита.
Криптосистемы разделяются на симметричныеи с открытым ключом.
В симметричныхкриптосистемах и для шифрования, и для дешифрования используется один итот же ключ.
В системах с открытымключом используются два ключа — открытый и закрытый, которыематематически связаны друг с другом. Информация шифруется с помощью открытогоключа, который доступен всем желающим, а расшифровывается с помощью закрытогоключа, известного только получателю сообщения.
Термины распределениеключей и управление ключами относятся к процессам системыобработки информации, содержанием которых является составлениеи распределение ключей между пользователями.
Электронной (цифровой)подписью называется присоединяемое ктексту его криптографическое преобразование, которое позволяет при получениитекста другим пользователем проверить авторство и подлинность сообщения.
Криптостойкостью называется характеристика шифра, определяющаяего стойкость к дешифрованию без знания ключа (т.е. криптоанализу).Имеется несколько показателей криптостойкости, среди которых:
· количество всех возможных ключей;
· среднее время, необходимое длякриптоанализа.
Преобразование Tkопределяется соответствующим алгоритмом и значением параметраk. Эффективность шифрования с целью защиты информации зависитот сохранения тайны ключа и криптостойкости шифра.
Требованияк криптосистемамПроцесс криптографического закрытияданных может осуществляться как программно, так и аппаратно. Аппаратнаяреализация отличается существенно большей стоимостью, однако ейприсущи и преимущества: высокая производительность, простота, защищенностьи т.д. Программная реализация более практична, допускает известнуюгибкость в использовании.
Для современных криптографическихсистем защиты информации сформулированы следующие общепринятыетребования:
· зашифрованное сообщение должноподдаваться чтению только при наличии ключа;
· число операций, необходимыхдля определения использованного ключа шифрования по фрагментушифрованного сообщения и соответствующего ему открытого текста,должно быть не меньше общего числа возможных ключей;
· число операций, необходимыхдля расшифровывания информации путем перебора всевозможныхключей должно иметь строгую нижнюю оценку и выходить за пределы возможностейсовременных компьютеров (с учетом возможности использования сетевыхвычислений);
· знание алгоритма шифрованияне должно влиять на надежность защиты;
· незначительное изменениеключа должно приводить к существенному изменению вида зашифрованногосообщения даже при использовании одного и того же ключа;
· структурные элементы алгоритмашифрования должны быть неизменными;
· дополнительные биты, вводимыев сообщение в процессе шифрования, должен быть полностью и надежноскрыты в шифрованном тексте;
· длина шифрованного текстадолжна быть равной длине исходного текста;
· не должно быть простых и легкоустанавливаемых зависимостью между ключами, последовательно используемымив процессе шифрования;
· любой ключ из множествавозможных должен обеспечивать надежную защиту информации;
· алгоритм должен допускать какпрограммную, так и аппаратную реализацию, при этом изменение длины ключане должно вести к качественному ухудшению алгоритма шифрования.
Симметричные криптосистемыВсе многообразие существующихкриптографических методов можно свести к следующим классам преобразований:
/>
Моно-и многоалфавитные подстановки.
Наиболее простой вид преобразований,заключающийся в замене символов исходного текста на другие (того жеалфавита) по более или менее сложному правилу. Для обеспечения высокойкриптостойкости требуется использование больших ключей.
Перестановки.
Также несложный метод криптографическогопреобразования. Используется как правило в сочетании с другимиметодами.
Гаммирование.
Этот метод заключается в наложениина исходный текст некоторой псевдослучайной последовательности,генерируемой на основе ключа.
Блочныешифры.
Представляют собой последовательность(с возможным повторением и чередованием) основных методов преобразования,применяемую к блоку (части) шифруемого текста. Блочные шифры на практикевстречаются чаще, чем “чистые” преобразования того или иного классав силу их более высокой криптостойкости. Российский и американскийстандарты шифрования основаны именно на этом классе шифров.
/>/>ПерестановкиПерестановкой s набора целых чисел(0,1,...,N-1) называется его переупорядочение. Для того чтобы показать, чтоцелое i перемещено из позиции i в позицию s(i), где 0 £ (i)<n, будем использовать запись
s=(s(0), s(1),..., s(N-1)).
Число перестановок из (0,1,...,N-1)равноn!=1*2*...*(N-1)*N. Введем обозначение s для взаимно-однозначного отображения (гомоморфизма)набора S={s0,s1, ...,sN-1}, состоящего изn элементов, на себя.
s: S ® S
s: si® ss(i), 0 £ i<n
Будем говорить, что в этом смысле s является перестановкой элементов S. И, наоборот, автоморфизм Sсоответствует перестановке целых чисел (0,1,2,..,n-1).
Криптографическим преобразованием T для алфавита Zmназывается последовательность автоморфизмов: T={T(n):1£n<¥}
T(n):Zm,n®Zm,n,1£n<¥
Каждое T(n) является, такимобразом, перестановкойn-грамм из Zm,n.
Поскольку T(i) и T(j) могут быть определены независимо при i¹j, число криптографических преобразований исходноготекста размерностиn равно (mn)![2]. Оно возрастает непропорционально при увеличенииmиn: так, приm=33 иn=2 число различных криптографическихпреобразований равно 1089!.. Отсюда следует, что потенциально существует большоечисло отображений исходного текста в шифрованный.
Практическая реализация криптографическихсистем требует, чтобы преобразования {Tk: kÎK} былиопределены алгоритмами, зависящими от относительно небольшого числа параметров(ключей).
/>/>Системы подстановокОпределение Подстановкой p на алфавитеZm называется автоморфизм Zm, при котором буквы исходноготекста t замещены буквами шифрованного текста p(t):
Zm à Zm; p: t à p(t).
Наборвсех подстановок называется симметрической группой Zm è будет в дальнейшем обозначаться как SYM(Zm).
Утверждение SYM(Zm) c операцией произведения является группой, т.е. операцией, обладающейследующими свойствами:
Замкнутость:произведение подстановок p1p2 является подстановкой:
p: tàp1(p2(t)).
Ассоциативность:результат произведения p1p2p3 независит от порядка расстановки скобок:
(p1p2)p3=p1(p2p3)
Существование нейтрального элемента: постановка i, определяемая как i(t)=t, 0£t<m, являетсянейтральным элементом SYM(Zm) по операции умножения: ip=pi для «pÎSYM(Zm).
Существование обратного: для любой подстановки p существуетединственная обратная подстановка p-1, удовлетворяющая условию
pp‑1=p‑1p=i.
Число возможных подстановок всимметрической группе Zm называется порядком SYM(Zm)и равноm! .
Определение.Ключомподстановки k для Zm называется последовательность элементовсимметрической группы Zm:
k=(p0,p1,...,pn-1,...), pnÎSYM(Zm),0£n<¥
Подстановка, определяемая ключом k,является криптографическим преобразованием Tk, при помощикоторого осуществляется преобразованиеn-граммы исходного текста (x0,x1 ,..,xn-1) вn-грамму шифрованного текста (y0,y1 ,...,yn-1):
yi=p(xi), 0£i<n
гдеn – произвольное(n=1,2,..). Tk называется моноалфавитной подстановкой, еслиp неизменно при любом i, i=0,1,..., в противном случае Tkназывается многоалфавитной подстановкой.
Примечание. К наиболее существенным особенностям подстановки Tkотносятся следующие:
1. Исходный текст шифруетсяпосимвольно. Шифрованияn-граммы(x0,x1 ,..,xn-1) и ее префикса (x0,x1 ,..,xs-1) связаны соотношениями
Tk(x0,x1 ,..,xn-1)=(y0,y1 ,...,yn-1)
Tk(x0,x1 ,..,xs-1)=(y0,y1,...,ys-1)
2. Буква шифрованного текста yiявляется функцией только i-й компоненты ключа pi и i-й буквы исходноготекста xi.
ПодстановкаЦезаряПодстановка Цезаря является самымпростым вариантом подстановки. Она относится к группе моноалфавитных подстановок.
Определение. Подмножество Cm={Ck: 0£k<m}симметрической группы SYM(Zm), содержащееm подстановок
Ck: j®(j+k) (modm), 0£k <m,
называетсяподстановкой Цезаря.
Умножение коммутативно, CkCj=CjCk=Cj+k,C0– идентичная подстановка, а обратной к Cк является Ck-1=Cm-k,где 0<k<m. Семейство подстановок Цезаря названо по имени римскогоимператора Гая Юлия Цезаря, который поручал Марку Туллию Цицерону составлятьпослания с использованием 50-буквенного алфавита и подстановки C3.
Подстановка определяется по таблицезамещения, содержащей пары соответствующих букв “исходный текст – шифрованныйтекст”. Для C3 подстановки приведены в Табл. 1. Стрелка (à) означает, что буква исходного текста (слева)шифруется при помощи C3 в букву шифрованного текста (справа).
Определение. СистемойЦезаря называется моноалфавитная подстановка, преобразующаяn-граммуисходного текста (x0,x1 ,..,xn-1) вn‑грамму шифрованного текста (y0,y1 ,...,yn-1)в соответствии с правилом
yi=Ck(xi),0£i<n.
Например, ВЫШЛИТЕ_НОВЫЕ_УКАЗАНИЯпосредством подстановки C3 преобразуется в еюыолхиврсеюивцнгкгрлб.
Таблица 1.
Аàг Йàм Тàх Ыàю Бàд Кàн Уàц Ьàя Вàе Лàо Фàч Эà_ Гàж Мàп Хàш Юàа Дàз Нàр Цàщ Яàб Еàи Оàс Чàъ _àв Жàй Пàт Шàы Зàк Рàу Щàь Иàл Сàф ЪàэПри своей несложности система легкоуязвима. Если злоумышленник имеет
1) шифрованный и соответствующийисходный текст или
2) шифрованный текст выбранногозлоумышленником исходного текста,
то определение ключа и дешифрованиеисходного текста тривиальны.
Болееэффективны обобщения подстановки Цезаря — шифр Хилла и шифр Плэйфера.Они основаны на подстановке не отдельных символов, а 2-грамм (шифр Плэйфера)илиn-грамм[3](шифр Хилла). При более высокой криптостойкости они значительно сложнее дляреализации и требуют достаточно большого количества ключевой информации.
/>Многоалфавитные системы. Системыодноразового использования.Слабая криптостойкостьмоноалфавитных подстановок преодолевается с применением подстановокмногоалфавитных.
Многоалфавитная подстановка определяется ключом p=(p1,
p2, ...),содержащим не менее двух различных подстановок. В начале рассмотрим многоалфавитныесистемы подстановок с нулевым начальным смещением.
Пусть {Ki: 0£i<n} — независимые случайные переменные содинаковым распределением вероятностей, принимающие значения на множестве Zm
Pкл{(K0,K1, ..., Kn-1)=(k0, k1,..., kn-1)}=(1/m)n
Система одноразовогоиспользования преобразует исходныйтекст
X=(X0,x1,...,xn-1)
в шифрованный текст
Y=(Y0,y1, ...,yn-1)
при помощи подстановки Цезаря
Yi=CKi(xi)=(Ki+Xi)(modm) i=0...n-1 (1)
Для такой системы подстановкииспользуют также термин “одноразовая лента” и “одноразовый блокнот”.Пространство ключей К системы одноразовой подстановки является вектором рангов(K0, K1, ..., Kn-1) исодержитmn точек.
Рассмотримнебольшой пример шифрования с бесконечным ключом. В качестве ключа примем текст
“БЕСКОНЕЧНЫЙ_КЛЮЧ....”.
Зашифруемс его помощью текст “ШИФР_НЕРАСКРЫВАЕМ”. Шифрование оформим в таблицу:
ШИФРУЕМЫЙ_ТЕКСТ 24 8 20 16 19 5 12 27 9 32 18 5 10 17 18 БЕСКОНЕЧНЫЙ_КЛЮЧ 1 5 17 10 14 13 5 23 13 27 9 32 10 11 30 ЩРДЪАТТССЦЪЫДФЬП 25 13 4 26 18 17 17 22 26 27 4 20 28 15Исходныйтекст невозможно восстановить без ключа.
Наложение белого шума в видебесконечного ключа на исходный текст меняет статистические характеристики языкаисточника. Системы одноразового использованиятеоретически не расшифруемы[4],так как не содержат достаточной информации для восстановления текста.
Почему же эти системы неприменимыдля обеспечения секретности при обработке информации? Ответ простой — онинепрактичны, так как требуют независимого выбора значения ключа для каждойбуквы исходного текста. Хотя такое требование может быть и не слишком труднымпри передаче по прямому кабелю Москва — Нью-Йорк, но для информационных ононепосильно, поскольку там придется шифровать многие миллионы знаков.
Посмотрим, что получится, еслиослабить требование шифровать каждую букву исходного текста отдельным значениемключа.
/>Системы шифрования ВижинераНачнем с конечной последовательностиключа
k= (k0,k1 ,...,kn),
которая называется ключом пользователя, ипродлим ее до бесконечной последовательности, повторяя цепочку. Таким образом,получим рабочий ключ
k = (k0,k1 ,...,kn), kj = k(jmod r, 0 £j < ¥.
Например, при r = ¥ и ключе пользователя 15 8 2 10 11 4 18 рабочий ключ будетпериодической последовательностью:
15 8 2 10 11 4 18 15 8 2 10 11 4 18 15 8 2 10 11 4 18...
Определение.Подстановка Вижинера VIGk определяется как
VIGk: (x0,x1, ...,xn-1) ® (y0,y1, ...,yn-1)= (x0+k,x1+k,. ..,xn-1+k).
Таким образом:
1) исходный текстx делитсяна r фрагментов
xi = (xi,xi+r, ...,xi+r(n-1)), 0 £ i < r;
2) i-й фрагмент исходного текстаxi шифруется при помощи подстановки Цезаря Ck:
(xi,xi+r, ...,xi+r(n-1)) ® (yi ,yi+r, ...,yi+r(n-1)),
Вариант системы подстановок Вижинераприm=2 называется системой Вернама (1917 г).
В то время ключ k=(k0,k1 ,...,kк-1) записывался на бумажнойленте. Каждая буква исходного текста в алфавите, расширенном некоторымидополнительными знаками, сначала переводилась с использованием кода Бодов пятибитовый символ. К исходному тексту Бодо добавлялся ключ (по модулю 2).Старинный телетайп фирмы AT&T со считывающим устройством Вернама иоборудованием для шифрования, использовался корпусом связи армии США.
Очень распространена плохая с точкизрения секретности практика использовать слово или фразу в качестве ключадля того, чтобы k=(k0,k1 ,...,kк-1)было легко запомнить. В ИС для обеспечения безопасности информации этонедопустимо. Для получения ключей должны использоваться программные или аппаратныесредства случайной генерации ключей.
Пример.Преобразование текста с помощью подстановки Вижинера (r=4)
Исходныйтекст (ИТ1):
НЕ_СЛЕДУЕТ_ВЫБИРАТЬ_НЕСЛУЧАЙНЫЙ_КЛЮЧ
Ключ: КЛЮЧ
Разобьем исходный текст на блоки по 4 символа:
НЕ_С ЛЕДУ ЕТ_В ЫБИР АТЬ_ НЕСЛ УЧАЙ НЫЙ_КЛЮЧ
и наложим на них ключ(используя таблицу Вижинера):
H+К=Ч, Е+Л=Р и т.д.
Получаем зашифрованный (ЗТ1) текст:
ЧРЭЗ ХРБЙ ПЭЭЩ ДМЕЖ КЭЩЦ ЧРОБ ЭБЮ_ ЧЕЖЦ ФЦЫН
Можно выдвинуть и обобщенную системуВижинера. ЕЕ можно сформулировать не только при помощи подстановки Цезаря.
Пустьx — подмножествосимметрической группы SYM(Zm).
Определение.r-многоалфавитный ключ шифрования есть r-набор p = (p0, p1, ..., pr-1) с элементами вx.
Обобщеннаясистема Вижинера преобразует исходныйтекст (x0,x1 ,...,xn-1) в шифрованныйтекст (y0,y1 ,...,yn-1) при помощи ключа p = (p0, p1, ..., pr-1) по правилу
VIGk: (x0,x1 ,...,xn-1) ® (y0,y1,...,yn-1) = (p0(х0),p1(х1),..., pn-1(xn-1)),
гдеиспользуется условие pi = pimod r .
Следует признать, что имногоалфавитные подстановки в принципе доступны криптоаналитическомуисследованию. Криптостойкость многоалфавитных систем резко убывает суменьшением длины ключа.
Тем не менее такая система как шифрВижинера допускает несложную аппаратную или программную реализацию и придостаточно большой длине ключа может быть использован в современных ИС.
/>/>ГаммированиеГаммирование является такжешироко применяемым криптографическим преобразованием. На самомделе граница между гаммированием и использованием бесконечныхключей и шифров Вижинера, о которых речь шла выше, весьма условная.
Принцип шифрования гаммированиемзаключается в генерации гаммы шифра с помощью датчика псевдослучайныхчисел и наложении полученной гаммы на открытые данные обратимымобразом (например, используя сложение по модулю 2).
Процесс дешифрования данныхсводится к повторной генерации гаммы шифра при известном ключе и наложениитакой гаммы на зашифрованные данные.
Полученный зашифрованныйтекст является достаточно трудным для раскрытия в том случае, еслигамма шифра не содержит повторяющихся битовых последовательностей.По сути дела гамма шифра должна изменяться случайным образом для каждогошифруемого слова. Фактически же, если период гаммы превышает длинувсего зашифрованного текста и неизвестна никакая часть исходноготекста, то шифр можно раскрыть только прямым перебором (пробой наключ). Криптостойкость в этом случае определяется размером ключа.
Метод гаммирования становитсябессильным, если злоумышленнику становится известен фрагмент исходноготекста и соответствующая ему шифрограмма. Простым вычитанием помодулю получается отрезок ПСП и по нему восстанавливается вся последовательность. Злоумышленники может сделать это на основе догадок о содержании исходноготекста. Так, если большинство посылаемых сообщений начинается сослов “СОВ.СЕКРЕТНО”, то криптоанализ всего текста значительно облегчается.Это следует учитывать при создании реальных систем информационнойбезопасности.
Ниже рассматриваются наиболеераспространенные методы генерации гамм, которые могут быть использованы напрактике.
/>/>Датчики ПСЧЧтобы получить линейные последовательностиэлементов гаммы, длина которых превышает размер шифруемых данных,используются датчики ПСЧ. На основе теории групп было разработанонесколько типов таких датчиков.
/>Конгруэнтные датчикиВ настоящее время наиболее доступнымии эффективными являются конгруэнтные генераторы ПСП. Дляэтого класса генераторов можно сделать математически строгое заключениео том, какими свойствами обладают выходные сигналы этих генераторовс точки зрения периодичности и случайности.
Одним из хороших конгруэнтныхгенераторов является линейный конгруэнтный датчик ПСЧ. Он вырабатываетпоследовательности псевдослучайных чисел T(i), описываемые соотношением
T(i+1)= (A*T(i)+C)modm,
где А и С — константы, Т(0) — исходная величина,выбранная в качестве порождающего числа. Очевидно, что эти три величиныи образуют ключ.
Такой датчик ПСЧ генерируетпсевдослучайные числа с определенным периодом повторения, зависящимот выбранных значений А и С. Значение m обычно устанавливаетсяравным 2n, гдеn — длина машинного слова в битах. Датчик имеетмаксимальный период М до того, как генерируемая последовательностьначнет повторяться. По причине, отмеченной ранее, необходимо выбиратьчисла А и С такие, чтобы период М был максимальным. Как показано Д.Кнутом, линейный конгруэнтный датчик ПСЧ имеет максимальную длину Мтогда и только тогда, когда С — нечетное, и Аmod 4 = 1.
Для шифрования данных с помощьюдатчика ПСЧ может быть выбран ключ любого размера. Например, пустьключ состоит из набора чиселx(j) размерностью b, где j=1, 2,...,n. Тогда создаваемую гамму шифра G можно представитькак объединение непересекающихся множеств H(j).
/>Датчики М-последовательностей[5]М-последовательности такжепопулярны, благодаря относительной легкости их реализации.
М-последовательности представляютсобой линейные рекуррентные последовательности максимального периода,формируемые k-разрядными генераторами на основе регистров сдвига.На каждом такте поступивший бит сдвигает k предыдущих и кнему добавляется их сумма по модулю 2. Вытесняемый бит добавляется к гамме.
Строго это можно представить в видеследующих отношений:
r1:=r0 r2:=r1 ... rk-1:=rk-2
r0:=a0r1 Å a1 r2 Å… Å ak-2 rk-1
Гi:=<sub/>rk-
Здесь r0r1 ... rk-1<sub/>-k однобитных регистров, a0a1 ... ak-1 — коэффициенты неприводимого двоичного полинома степени k-1.Гi — i-е значение выходной гаммы.
Период М-последовательности исходя из ее свойств равен 2k-1.
Другим важным свойствомМ-последовательности является объем ансамбля, т.е. количество различныхМ-последовательностей для заданного k. Этахарактеристика приведена в таблице:
k
Объем ансамбля 5 6 6 8 7 18 8 16 9 48 10 60 16 2048Очевидно, что такие объемы ансамблейпоследовательности неприемлемы.
Поэтому на практике часто используютпоследовательности Голда, образующиеся суммированием несколькихМ-последовательностей. Объем ансамблей этих последовательностей на несколькопорядков превосходят объемы ансамблей порождающих М-последовательностей. Такпри k=10 ансамбль увеличивается от 1023 (М-последовательности) до 388000.
Такжеперспективными представляются нелинейные датчики ПСП (например сдвиговыерегистры с элементом И в цепи обратной связи), однако их свойства ещенедостаточно изучены.
Возможны и другие, более сложныеварианты выбора порождающих чисел для гаммы шифра.
Шифрование с помощью датчикаПСЧ является довольно распространенным криптографическим методом.Во многом качество шифра, построенного на основе датчика ПСЧ, определяетсяне только и не столько характеристиками датчика, сколько алгоритмомполучения гаммы. Один из фундаментальных принципов криптологическойпрактики гласит, даже сложные шифры могут быть очень чувствительны кпростым воздействиям.
/>/>Стандарт шифрованияданных ГОСТ 28147-89[6]Важной задачей в обеспечениигарантированной безопасности информации в ИС является разработкаи использования стандартных алгоритмов шифрования данных. Первымсреди подобных стандартов стал американский DES, представляющий собойпоследовательное использование замен и перестановок. В настоящеевремя все чаще говорят о неоправданной сложности и невысокой криптостойкости.На практике приходится использовать его модификации.
Более эффективным являетсяотечественный стандарт шифрования данных.
Онрекомендован к использованию для защиты любых данных, представленныхв виде двоичного кода, хотя не исключаются и другие методы шифрования.Данный стандарт формировался с учетом мирового опыта, и в частности,были приняты во внимание недостатки и нереализованные возможностиалгоритма DES, поэтому использование стандарта ГОСТ предпочтительнее.Алгоритм достаточно сложен и ниже будет описана в основном его концепция.
Введем ассоциативную операциюконкатенации, используя для нее мультипликативную запись. Крометого будем использовать следующие операции сложения:
· AÅB — побитовое сложение по модулю 2;
· A[+]B — сложение по модулю 232;
· A{+}B — сложение по модулю 232-1;.
Алгоритмкриптографического преобразования предусматривает несколько режимов работы. Вовсех режимах используется ключ W длиной 256 бит, представляемый в виде восьми32-разрядных чиселx(i).
W=X(7)X(6)X(5)X(4)X(3)X(2)X(1)X(0)
Для дешифрования используется тот жеключ, но процесс дешифрования является инверсным по отношению к исходному.
Самыйпростой из возможных режимов — замена.
Пустьоткрытые блоки разбиты на блоки по 64 бит в каждом, которые обозначим как T(j).
Очереднаяпоследовательность бит T(j) разделяется на две последовательности B(0) и A(0)по 32 бита (правый и левый блоки). Далее выполняется итеративный процессшифрования описываемый следующими формулами, вид который зависит от :i:
· Для i=1, 2, ..., 24, j=(i-1)mod8;
A(i) = f(A(i-1) [+]x(j)) Å B(i-1)
B(i) = A(i-1)
· Для i=25, 26, ..., 31, j=32-i;
A(i) = f(A(i-1) [+]x(j))Å B(i-1)
B(i) = A(i-1)
· Для i=32
A(32) = A(31)
B(32) = f(A(31) [+]x(0))Å B(31).
Здесьi обозначает номер итерации. Функция f – функция шифрования.
Функцияшифрования включает две операции над 32-разрядным аргументом.
Перваяоперация является подстановкой K. Блок подстановки К состоит из 8 узловзамены К(1)… К(8) с памятью 64 бита каждый. Поступающий на блок подстановки32-разрядный вектор разбивается на 8 последовательно идущих 4-разрядныхвектора, каждый из который преобразуется в 4-разрядный вектор соответствующимузлом замены, представляющим из себя таблицу из 16 целых чисел в диапазоне0...15. Входной вектор определяет адрес строки в таблице, число из которойявляется выходным вектором. Затем 4-разрядные векторы последовательнообъединяются в 32-разрядный выходной.
Втораяоперация — циклический сдвиг влево 32-разрядного вектора, полученного врезультате подстановки К. 64-разрядный блок зашифрованных данных Тпредставляется в виде
Т=А(32)В(32).
Остальныеблоки открытых данных в режиме простой замены зашифровываются аналогично.
Следуетучитывать, что данный режим шифрования обладает ограниченной криптостойкостью.
Другой режим шифрования называется режимомгаммирования.
Открытыеданные, разбитые на 64-разрядные блоки T(i) (i=1,2,...,m)(m определяетсяобъемом шифруемых данных), зашифровываются в режиме гаммирования путем поразрядногосложения по модулю 2 с гаммой шифра Гш, которая вырабатываетсяблоками по 64 бит, т.е.
Гш=(Г(1), Г(2),...., Г(m)).
Уравнениешифрования данных в режиме гаммирования может быть представлено в следующемвиде:
Ш(i)=A(Y(i-1)Å C2, Z(i-1)) {+}C(1) Å T(i)=Г(i) Å T(i)
Вэтом уравнении Ш(i) обозначает 64-разрядный блок зашифрованного текста, А — функцию шифрования в режиме простой замены (аргументами этой функции являютсядва 32-разрядных числа). С1 и С2 — константы, заданные в ГОСТ 28147-89.Величиныy(i) и Z(i) определяются итерационно по мере формирования гаммыследующим образом:
(Y(0),Z(0))=A(S), S — 64-разряднаядвоичная последовательность
(Y(i),Z(i))=(Y(i-1) [+] C2, Z(i-1) {+}C(1)), i=1, 2, ...,m.
64-разряднаяпоследовательность, называемая синхропосылкой, не является секретным элементомшифра, но ее наличие необходимо как на передающей стороне, так и на приемной.
Режим гаммирования с обратнойсвязью очень похож на режимгаммирования. Как и в режиме гаммирования открытые данные, разбитые на64-разрядные блоки T(i), зашифровываются путем поразрядного сложения по модулю2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит:
Гш=(Г(1),Г(2), ..., Г(m)).
Уравнениешифрования данных в режиме гаммирования с обратной связью выглядят следующим образом:
Ш(1)=A(S)ÅT(1)=Г(1)ÅT(1),
Ш(i)=A(Ш(i-1)ÅT(i)=Г(i)ÅT(i), i=2, 3,...,m.
ВГОСТ 28147-89 определяется процесс выработки имитовставки, которыйединообразен для всех режимов шифрования. Имитовставка — это блок из рбит (имитовставка Ир), который вырабатывается либо перед шифрованиемвсего сообщения. либо параллельно с шифрованием по блокам. Параметр рвыбирается в соответствии с необходимым уровнем имитозащищенности.
Дляполучения имитовставки открытые данные представляются также в видеблоков по 64 бит. Первый блок открытых данных Т(1) подвергается преобразованию,соответствующему первым 16 циклам алгоритма режима простой замены.Причем в качестве ключа используется тот же ключ, что и для шифрованияданных. Полученное 64-разрядно число суммируется с открытым блокомТ(2) и сумма вновь подвергается 16 циклам шифрования для режима простойзамены. Данная процедура повторятся для всехm блоков сообщения.Из полученного 64-разрядного числа выбирается отрезок Ирдлиной р бит.
Имитовставка передается по каналусвязи после зашифрованных данных. На приемной стороне аналогичнымобразом из принятого сообщения выделяется? имитовставка и сравниваетсяс полученной откуда?.. В случае несовпадения имитовставок сообщениесчитается ложным.
/>/>Системы с открытым ключомКак бы ни были сложны и надежныкриптографические системы — их слабое мест при практической реализации- проблема распределения ключей. Для того, чтобы был возможенобмен конфиденциальной информацией между двумя субъектами ИС,ключ должен быть сгенерирован одним из них, а затем каким-то образомопять же в конфиденциальном порядке передан другому. Т.е. в общемслучае для передачи ключа опять же требуется использование какой-токриптосистемы.
Для решения этой проблемы на основерезультатов, полученных классической и современной алгеброй, былипредложены системы с открытым ключом.
Суть их состоит в том, что каждымадресатом ИС генерируются два ключа, связанные между собой по определенномуправилу. Один ключ объявляется открытым, а другой закрытым.Открытый ключ публикуется и доступен любому, кто желает послать сообщениеадресату. Секретный ключ сохраняется в тайне.
Исходный текст шифруется открытымключом адресата и передается ему. Зашифрованный текст в принципе неможет быть расшифрован тем же открытым ключом. Дешифрование сообщениевозможно только с использованием закрытого ключа, который известентолько самому адресату.
/> /> /> /> /> /> /> /> <td/> /> /> /> /> /> />Криптографические системы соткрытым ключом используют так называемые необратимые или односторонниефункции, которые обладают следующим свойством: при заданном значенииx относительно просто вычислить значение f(x), однако еслиy=f(x), то нет простого пути для вычисления значенияx.
Множество классов необратимыхфункций и порождает все разнообразие систем с открытым ключом. Однаконе всякая необратимая функция годится для использования в реальныхИС.
В самом определении необратимостиприсутствует неопределенность. Под необратимостью понимается нетеоретическая необратимость, а практическая невозможность вычислить обратноезначение используя современные вычислительные средства за обозримый интервалвремени.
Поэтому чтобы гарантироватьнадежную защиту информации, к системам с открытым ключом (СОК)предъявляются два важных и очевидных требования:
1. Преобразование исходноготекста должно быть необратимым и исключать его восстановление на основеоткрытого ключа.
2. Определение закрытого ключана основе открытого также должно быть невозможным на современномтехнологическом уровне. При этом желательна точная нижняя оценкасложности (количества операций) раскрытия шифра.
Алгоритмы шифрования с открытымключом получили широкое распространение в современных информационныхсистемах. Так, алгоритм RSA стал мировым стандартом де-факто для открытыхсистем и рекомендован МККТТ.
Вообще же все предлагаемые сегоднякриптосистемы с открытым ключом опираются на один из следующих типовнеобратимых преобразований:
1. Разложение больших чисел ан простые множители.
2. Вычисление логарифма в конечном поле.
3. Вычисление корней алгебраических уравнений.
Здесь же следует отметить, что алгоритмы криптосистемы с открытым ключом (СОК)можно использовать в трех назначениях.
1. Как самостоятельные средствазащиты передаваемых и хранимых данных.
2. Как средства для распределенияключей. Алгоритмы СОК более трудоемки, чем традиционные криптосистемы.Поэтому часто на практике рационально с помощью СОК распределятьключи, объем которых как информации незначителен. А потом с помощьюобычных алгоритмов осуществлять обмен большими информационнымипотоками.
3. Средствааутентификации пользователей.Об этом будет рассказано в главе «Электронная подпись».
Ниже рассматриваются наиболеераспространенные системы с открытым ключом.
/>/>Алгоритм RSAНесмотря на довольно большоечисло различных СОК, наиболее популярна — криптосистема RSA, разработанная в1977 году и получившая название в честь ее создателей: Рона Ривеста[7],Ади Шамира и Леонарда Эйдельмана.
Они воспользовались тем фактом,что нахождение больших простых чисел в вычислительном отношенииосуществляется легко, но разложение на множители произведениядвух таких чисел практически невыполнимо. Доказано (теорема Рабина),что раскрытие шифра RSA эквивалентно такому разложению. Поэтомудля любой длины ключа можно дать нижнюю оценку числа операций для раскрытияшифра, а с учетом производительности современных компьютеров оценитьи необходимое на это время.
Возможность гарантированнооценить защищенность алгоритма RSA стала одной из причин популярностиэтой СОК на фоне десятков других схем. Поэтому алгоритм RSA используетсяв банковских компьютерных сетях, особенно для работы с удаленнымиклиентами (обслуживание кредитных карточек).
В настоящее время алгоритм RSAиспользуется во многих стандартах, среди которых SSL, S-HHTP, S-MIME, S/WAN,STT и PCT.
Рассмотрим математическиерезультаты, положенные в основу этого алгоритма.
Теорема 1.(Малая теорема Ферма.)
Если р — простоечисло, то
xp-1 = 1 (mod p) (1)
для любого х,простого относительно р, и
xp<sup/>= х (mod p) (2)
для любогох.
Доказательство. Достаточно доказать справедливость уравнений (1) и(2) для хÎZp. Проведем доказательство методоминдукции.
Очевидно, что уравнение (8.2.2) выполняется при х=0 и1. Далее
xp=(x-1+1)p=å C(p,j)(x-1)j=(x-1)p+1(mod p),
0£j£p
так как C(p,j)=0(mod p) при 0<j<p.С учетом этого неравенства и предложений метода доказательства по индукциитеорема доказана.
Определение.Функцией Эйлера j(n) называется числоположительных целых, меньшихn и простых относительноn.
n 2 3 4 5 6 7 8 9 10 11 12 j(n) 1 2 2 3 2 6 4 6 4 10 4
Теорема 2.Еслиn=pq,(p и q — отличные друг от друга простые числа), то
j(n)=(p-1)(q-1).
Теорема 3.Еслиn=pq,(p и q — отличные друг от друга простые числа) и х — простое относительно р и q, то
xj(n) = 1 (modn).
Следствие .Еслиn=pq,(p и q — отличные друг от друга простые числа) и е простоеотносительно j(n), тоотображение
Еe,n:x®xe (modn)
является взаимно однозначным на Zn.
Очевиден и тот факт, что если е — простое относительно j(n), то существует целое d, такое, что
ed = 1 (mod j(n)) (3)
На этих математических фактах иоснован популярный алгоритм RSA.
Пустьn=pq, где pи q — различные простые числа. Если e и d удовлетворяют уравнению(8.2.3), то отображения Еe,n и Еd,n являются инверсиямина Zn. Как Еe,n, так и Еd,n легкорассчитываются, когда известны e, d, p, q. Если известны e иn,но p и q неизвестны, то Еe,n представляет собойодностороннюю функцию; нахождение Еd,n по заданномуnравносильно разложениюn. Если p и q — достаточно большиепростые, то разложениеn практически не осуществимо. Это и заложено воснову системы шифрования RSA.
Пользователь i выбирает пару различных простых piи qi и рассчитывает пару целых (ei, di),которые являются простыми относительно j(ni), гдеni=pi qi. Справочнаятаблица содержит публичные ключи {(ei ,ni)}.
Предположим, что исходный текст
x =(x0,x1, ...,xn-1),xÎZn,0 £ i <n,
сначала представлен по основаниюni:
N= c0+cini+…
Пользователь i зашифровывает текстпри передаче его пользователю j, применяя кn отображение Edi,ni:
N® Edi,nin =n’.
Пользователь j производитдешифрованиеn’, применяя Eei,ni :
N’® Eei,nin’= Eei,ni Edi,nin =n .
Очевидно, для того чтобы найтиинверсию Edi,ni по отношению к Eei,ni,требуется знание множителейn=pi qi.Время выполнения наилучших из известных алгоритмов разложения приn=10100на сегодняшний день выходит за пределы современных технологических возможностей.
Рассмотрим небольшой пример,иллюстрирующий применение алгоритма RSA.
ПримерЗашифруемсообщение “САВ”. Для простоты будем использовать маленькие числа (на практикеприменяются гораздо большие).
1. Выберем p=3 и q=11.
2. Определимn=3*11=33.
3. Найдем (p-1)(q-1)=20. Следовательно, вкачестве d, взаимно простое с 20, например, d=3.
4. Выберем число е. В качестве такого числа может бытьвзято любое число, для которого удовлетворяется соотношение (е*3) (mod 20) = 1,например 7.
5. Представим шифруемое сообщение как последовательностьцелых чисел с помощью отображения: А®1, В®2, С®3. Тогда сообщение принимает вид (3,1,2). Зашифруемсообщение с помощью ключа {7,33}.
ШТ1 = (37) (mod33) = 2187 (mod 33) = 9,
ШТ2 = (17) (mod33) = 1 (mod 33) = 1,
ШТ3 = (27) (mod33) = 128 (mod 33) = 29.
6. Расшифруем полученное зашифрованное сообщение (9,1,29)на основе закрытого ключа {3,33}:
ИТ1 = (93) (mod33) = 729 (mod 33) = 3,
ИТ2= (13) (mod33) = 1 (mod 33) = 1,
ИТ3 = (293) (mod33) = 24389 (mod 33) = 2.
Итак, в реальных системах алгоритмRSA реализуется следующим образом: каждый пользователь выбирает два большихпростых числа, и в соответствии с описанным выше алгоритмом выбирает двапростых числа e и d. Как результат умножения первых двух чисел (pи q) устанавливаетсяn.
{e,n} образует открытый ключ, а {d,n} — закрытый(хотя можно взять и наоборот).
Открытый ключ публикуется идоступен каждому, кто желает послать владельцу ключа сообщение,которое зашифровывается указанным алгоритмом. После шифрования,сообщение невозможно раскрыть с помощью открытого ключа. Владелецже закрытого ключа без труда может расшифровать принятое сообщение.
Практическаяреализация RSAВ настоящее время алгоритм RSA активнореализуется как в виде самостоятельных криптографических продуктов[8],так и в качестве встроенных средств в популярных приложениях[9].
Важная проблема практическойреализации — генерация больших простых чисел. Решение задачи «в лоб» — генерация случайного большого числа n(нечетного) и проверка его делимостина множители от 3 вплоть до n0.5. Вслучае неуспеха следует взять n+2 и так далее.[10]
Впринципе в качестве p и q можно использовать «почти» простые числа, то естьчисла для которых вероятность того, что они простые, стремится к 1. Но вслучае, если использовано составное число, а не простое, криптостойкость RSAпадает. Имеются неплохие алгоритмы, которые позволяют генерировать «почти»простые числа с уровнем доверия 2-100.
Другая проблема — ключи какойдлины следует использовать?
Для практическойреализации алгоритмов RSA полезно знать оценки трудоемкости разложенияпростых чисел различной длины, сделанные Шроппелем.
log10n
Число операций Примечания 501.4*1010
Раскрываем на суперкомпьютерах 1002.3*1015
На пределе современных технологий 2001.2*1023
За пределами современных технологий 4002.7*1034
Требует существенных изменений в технологии 8001.3*1051
Не раскрываемВ конце 1995 года удалось практическиреализовать раскрытие шифра RSA для 500-значного ключа. Для этого спомощью сети Интернет было задействовано 1600 компьютеров.
Сами авторы RSA рекомендуютиспользовать следующие размеры модуля n:
· 768 бит — для частных лиц;
· 1024 бит — для коммерческойинформации;
· 2048 бит — для особо секретнойинформации.[11]
Третий немаловажный аспектреализации RSA — вычислительный.Ведь приходится использовать аппарат длинной арифметики. Если используется ключдлиной k бит, то для операций по открытому ключу требуетсяО(k2) операций,по закрытому ключу — О(k3) операций,а для генерации новых ключей требуется О(k4) операций.
Криптографический пакет BSAFE 3.0 (RSA D.S.) на компьютере Pentium-90 осуществляетшифрование со скоростью 21.6 Кбит/c для 512-битного ключа и со скоростью 7.4 Кбит/cдля 1024 битного. Самая «быстрая» аппаратная реализация обеспечивает скорости в60 раз больше.
По сравнению с тем же алгоритмом DES, RSA требуетв тысячи и десятки тысяч раз большее время.
КриптосистемаЭль-ГамаляДанная система являетсяальтернативой RSA и при равном значении ключа обеспечивает ту же криптостойкость[12].
В отличие от RSAметод Эль-Гамаля основан на проблеме дискретного логарифма. Этим он похож на алгоритмДиффи-Хелмана. Если возводить число в степень в конечном поле достаточнолегко, то восстановить аргумент по значению (то есть найти логарифм) довольнотрудно.
Основу системы составляют параметры p и g — числа, первоеиз которых — простое, а второе — целое.
Александр генерирует секретный ключ аи вычисляет открытый ключ y = gаmodp. Если Борисхочет послать Александру сообщение m, то он выбирает случайноечисло k, меньшее p и вычисляет
y1<sub/>=gkmodp и
y2<sub/>=m Å yk,
где Å означает побитовое сложение по модулю 2. Затем Бориспосылает (y1,y2) Александру.
Александр, получив зашифрованноесообщение, восстанавливает его:
m =(y1a modp) Å y2.
Алгоритм цифровой подписи DSA,разработанный NIST (National Institute of Standard andTechnology) и являющийся частью стандарта DSS частичноопирается на рассмотренный метод.
Криптосистемына основе эллиптических уравненийЭллиптические кривые — математический объект, который может определен над любым полем (конечным,действительным, рациональным или комплексным). В криптографии обычноиспользуются конечные поля. Эллиптическая кривая есть множество точек(x,y), удовлетворяющее следующемууравнению:
y2 = x3 + ax + b,
а такжебесконечно удаленная точка. Для точек на кривой довольно легко вводитсяоперация сложения, которая играет ту же роль, что и операция умножения вкриптосистемах RSA и Эль-Гамаля.
В реальных криптосистемах на базеэллиптических уравнений используется уравнение
y2 = x3 + ax + bmodp,
где р — простое.
Проблема дискретного логарифма наэллиптической кривой состоит в следующем: дана точка G наэллиптической кривой порядка r (количество точек на кривой) и другая точка Y наэтой же кривой. Нужно найти единственную точку x такую, чтоY = xG, то есть Y есть х-я степень G.
/>/>Электронная подпись
В чем состоит проблема аутентификацииданных?
В конце обычного письма или документаисполнитель или ответственное лицо обычно ставит свою подпись. Подобноедействие обычно преследует две цели. Во-первых, получатель имеетвозможность убедиться в истинности письма, сличив подпись с имеющимсяу него образцом. Во-вторых, личная подпись является юридическим гарантомавторства документа. Последний аспект особенно важен при заключенииразного рода торговых сделок, составлении доверенностей, обязательстви т.д.
Если подделать подпись человекана бумаге весьма непросто, а установить авторство подписи современнымикриминалистическими методами — техническая деталь, то с подписьюэлектронной дело обстоит иначе. Подделать цепочку битов, просто еескопировав, или незаметно внести нелегальные исправления в документсможет любой пользователь.
С широким распространением всовременном мире электронных форм документов (в том числе и конфиденциальных)и средств их обработки особо актуальной стала проблема установленияподлинности и авторства безбумажной документации.
В разделе криптографическихсистем с открытым ключом было показано, что при всех преимуществахсовременных систем шифрования они не позволяют обеспечить аутентификациюданных. Поэтому средства аутентификации должны использоваться вкомплексе и криптографическими алгоритмами.
Итак,пусть имеются два пользователя Александр и Борис. От каких нарушенийи действий злоумышленника должна защищать система аутентификации.
Отказ(ренегатство).
Александр заявляет, что он не посылалсообщение Борису, хотя на самом деле он все-таки посылал.
Для исключения этого нарушенияиспользуется электронная (или цифровая) подпись.
Модификация(переделка).
Борис изменяет сообщение и утверждает,что данное (измененное) сообщение послал ему Александр.
Подделка.
Борис формирует сообщение и утверждает,что данное (измененное) сообщение послал ему Александр.
Активныйперехват.
Владимир перехватывает сообщениямежду Александром и Борисом с целью их скрытой модификации.
Для защиты от модификации, подделкии маскировки используются цифровые сигнатуры.
Маскировка(имитация).
Владимир посылает Борису сообщениеот имени Александра.
В этом случае для защиты также используетсяэлектронная подпись.
Повтор.
Владимир повторяет ранее переданноесообщение, которое Александра посылал ранее Борису. Несмотря на то,что принимаются всевозможные меры защиты от повторов, именно наэтот метод приходится большинство случаев незаконного снятия итраты денег в системах электронных платежей.
Наиболее действенным методомзащиты от повтора являются
* использование имитовставок,
* учет входящих сообщений.
/> /> /> /> /> /> /> /> /> <td/> /> <td/> /> /> /> /> /> /> /> />Возможные нарушения защиты сообщений,. посылаемых пользователем Апользователю В.
/>Электронная подпись на основе алгоритма RSAНаиболее простым и распространенныминструментом электронной подписи является уже знакомый алгоритмRSA. Ниже оно будет рассмотрена в качестве примера. Кроме этого существуютеще десятки других схем цифровой подписи.
Предположим,что
d,p,q — секретные, а е,n=pq — открытые.
Замечания.
1. Разложение поn дает: j(n)=(p-1)(q-1); зная j(n) и e,можно найти d.
2. Из e и d можнонайти кратность j(n);кратность j(n)позволяет определить делителиn.
ПустьDATA — передаваемое Александром Борису сообщение.
Александр подписывает DATA дляБориса при передаче :
EeB,nB{<sub/>EdA,nA {DATA}}.
При этом он использует:
* закрытый ключ EdA,nA Александра,
* открытый ключ EeB,nB Бориса.
Борис может читать это подписанноесообщение сначала при помощи закрытого ключа EdВ,nВ Бориса с целью получения
EdA,nA{DATA} = EdB,nB {EeB,nB {EdA,nA{DATA}}}
и затем — открытого ключа EeA,nA Александрадля получения
DATA= EeA,nA { EdA,nA {DATA}}.
Таким образом, у Бориса появляетсясообщение DATA, посланное ему Александром.
Очевидно, что данная схема позволяетзащититься от нескольких видов нарушений.
Александр не может отказаться отсвоего сообщения, если он признает, что секретный ключ известен только ему.
Нарушитель без знания секретногоключа не может ни сформировать, ни сделать осмысленное изменение сообщения,передаваемого по линии связи.
Данная схема позволяет при решениимногих конфликтных ситуаций обходиться без посредников.
Иногда нет необходимостизашифровывать передаваемое сообщение, но нужно его скрепить электроннойподписью. В этом случае текст шифруется закрытым ключом отправителя иполученная цепочка символов прикрепляется к документу. Получатель с помощьюоткрытого ключа отправителя расшифровывает подпись и сверяет ее с текстом.
/>
В 1991 г. Национальный институтстандартов и технологии (NIST)предложилдля появившегося тогда алгоритма цифровой подписи DSA (Digital SignatureAlgorithm) стандарт DSS (Digital SignatureStandard), в основу которого положены алгоритмы Эль-Гамаля и RSA. [13]
/>/>ЦифроваясигнатураЧасто возникают ситуации, когдаполучатель должен уметь доказать подлинность сообщения внешнему лицу. Чтобыиметь такую возможность, к передаваемым сообщениям должны быть приписаны такназываемые цифровые сигнатуры.
Цифровая сигнатура — это строка символов, зависящая как отидентификатора отправителя, так и содержания сообщения.
/> /> /> /> /> /> /> /> /> />Цифровая сигнатура
Никтопри этом кроме пользователя А не может вычислить цифровую сигнатуруА для конкретного сообщения. Никто, даже сам пользователь не можетизменить посланного сообщения так, чтобы сигнатура осталась неизменной.Хотя получатель должен иметь возможность проверить является ли цифроваясигнатура сообщения подлинной. Чтобы проверить цифровую сигнатуру,пользователь В должен представить посреднику С информацию, которуюон сам использовал для верификации сигнатуры.
Если помеченное сигнатурой сообщениепередается непосредственно от отправителя к получателю, минуяпромежуточное звено, то в этом случае идет речь об истинной цифровойсигнатуре.
Рассмотримтипичную схему цифровой сигнатуры.
Пусть Е — функция симметричногошифрования иf — функция отображения некоторого множества сообщений наподмножество мощностир из последовательности {1, ...,n}.
Например р=3 иn=9. Еслиm — сообщение, то в качествеf можно взять функцию f(m) ={2, 5, 7}.
Для каждого сообщения пользователь Авыбирает некоторое множество ключей K=[K1, ..., Kn}и параметров V={v1, ...,vn} для использования в качествепометок сообщения, которое будет послано В. Множества V и V’={E(v1,K1)..., E(vn,Kn)} посылаются пользователю В и заранеевыбранному посреднику С.
Пустьm — сообщение и idm — объединение идентификационных номеров отправителя, получателя и номерасообщения. Если f({idm, m}), то цифровая сигнатураm естьмножество K’=[Ki, ..., Kj}.Сообщениеm, идентификационный номер idm и цифровая сигнатура К’посылаются В.
/>
Получатель В проверяет сигнатуруследующим образом. Он вычисляет функцию f({idm, m}) и проверяетее равенство К’. Затем он проверяет, что подмножество {vi, ...,vj}правильно зашифровано в виде подмножества {E(vi,Ki)..., E(vj,Kj)} множества V’.
В конфликтной ситуации В посылаетС сообщениеm, идентификационный номер idm и множество ключейK’, которое В объявляет сигнатуройm. Тогда посредникС так же, как и В, будет способен проверить сигнатуру. Вероятностьраскрытия двух сообщений с одним и тем же значением функции f должнабыть очень мала. Чтобы гарантировать это, число n должно бытьдостаточно большим, а число р должно быть больше 1, но меньшеn.
Ряднедостатков этой модели очевиден:
* должно быть третье лицо — посредник, которому доверяют какполучатель, так и отправитель;
* получатель, отправитель и посредник должны обменяться существеннымобъемом информации, прежде чем будет передано реальное сообщение;
* передача этой информации должна осуществляться в закрытомвиде;
* эта информация используется крайне неэффективно, посколькумножества K, V, V’ используются только один раз.
Тем не менее даже такая схемацифровой сигнатуры может использоваться в информационных системах,в которых необходимо обеспечить аутентификацию и защиту передаваемыхсообщений.
Хэш-функцииИспользование цифровой сигнатурыпредполагает использование некоторых функций шифрования:
S = H(k, T),
где S — сигнатура, k — ключ,T — исходный текст.
Функция H(k, T) — является хэш-функцией, если она удовлетворяетследующим условиям:
1) исходный текст может быть произвольной длины;
2) само значение H(k, T) имеет фиксированную длину;
3) значение функции H(k, T) легко вычисляется для любогоаргумента;
4) восстановить аргумент по значению с вычислительнойточки зрения — практически невозможно;
5) функция H(k, T)— однозначна[14].
Из определения следует, что длялюбой хэш-функции есть тексты-близнецы — имеющие одинаковое значениехэш-функции, так как мощность множества аргументов неограниченно большемощности множества значений. Такой факт получил название «эффект дня рождения».[15]
Наиболее известные из хэш-функций — MD2, MD4, MD5 и SHA.
Три алгоритма серии MD разработаны Ривестом в1989-м, 90-м и 91-м году соответственно. Все они преобразуют текст произвольнойдлины в 128-битную сигнатуру.
Алгоритм MD2 предполагает:
· дополнение текста до длины,кратной 128 битам;
· вычисление 16-битной контрольнойсуммы (старшие разряды отбрасываются);
· добавление контрольной суммы к тексту;
· повторное вычисление контрольнойсуммы.
Алгоритм MD4 предусматривает:
· дополнение текста до длины, равной448 бит по модулю 512;
· добавляется длина текста в64-битном представлении;
· 512-битные блоки подвергаютсяпроцедуре Damgard-Merkle[16], причем каждый блок участвует в трех разных циклах.
В алгоритме MD4 довольнобыстро были найдены «дыры», поэтому он был заменен алгоритмом MD5,в котором каждый блок участвует не в трех, а в четырех различных циклах.
Алгоритм SHA (Secure Hash Algorithm) разработан NIST (National Instituteof Standard and Technology) и повторяет идеи серии MD. ВSHA используются тексты более 264 бит, которыезакрываются сигнатурой длиной 160 бит. Данный алгоритм предполагаетсяиспользовать в программе Capstone[17].
/>/>Управление ключамиКроме выбора подходящей дляконкретной ИС криптографической системы, важная проблема — управлениеключами. Как бы ни была сложна и надежна сама криптосистема, она основанана использовании ключей. Если для обеспечения конфиденциальногообмена информацией между двумя пользователями процесс обменаключами тривиален, то в ИС, где количество пользователей составляетдесятки и сотни управление ключами — серьезная проблема.
Под ключевой информацией понимаетсясовокупность всех действующих в ИС ключей. Если не обеспечено достаточнонадежное управление ключевой информацией, то завладев ею, злоумышленникполучает неограниченный доступ ко всей информации.
Управление ключами — информационный процесс, включающий в себятри элемента:
* генерацию ключей;
* накопление ключей;
* распределение ключей.
Рассмотрим, как они должны бытьреализованы для того, чтобы обеспечить безопасность ключевой информациив ИС.
/>/>Генерация ключейВ самом начале разговора окриптографических методах было сказано, что не стоит использоватьнеслучайные ключи с целью легкости их запоминания. В серьезных ИСиспользуются специальные аппаратные и программные методы генерациислучайных ключей. Как правило используют датчики ПСЧ. Однако степеньслучайности их генерации должна быть достаточно высоким. Идеальнымгенераторами являются устройства на основе “натуральных” случайныхпроцессов. Например, появились серийные образцы генерации ключейна основе белого радиошума. Другим случайным математическимобъектом являются десятичные знаки иррациональных чисел, например p или е, которые вычисляются с помощью стандартных математическихметодов.
В ИС со средними требованиямизащищенности вполне приемлемы программные генераторы ключей, которые вычисляютПСЧ как сложную функцию от текущего времени и (или) числа, введенного пользователем.
/>/>Накопление ключейПод накоплением ключей понимаетсяорганизация их хранения, учета и удаления.
Поскольку ключ является самымпривлекательным для злоумышленника объектом, открывающим ему путьк конфиденциальной информации, то вопросам накопления ключей следуетуделять особое внимание.
Секретные ключи никогда недолжны записываться в явном виде на носителе, который может бытьсчитан или скопирован.
В достаточно сложной ИС одинпользователь может работать с большим объемом ключевой информации,и иногда даже возникает необходимость организации мини-баз данныхпо ключевой информации. Такие базы данных отвечают за принятие,хранение, учет и удаление используемых ключей.
Итак, каждая информация об используемыхключах должна храниться в зашифрованном виде. Ключи, зашифровывающиеключевую информацию называются мастер-ключами. Желательно,чтобы мастер-ключи каждый пользователь знал наизусть, и не хранил ихвообще на каких-либо материальных носителях.
Оченьважным условием безопасности информации является периодическоеобновление ключевой информации в ИС. При этом переназначаться должныкак обычные ключи, так и мастер-ключи. В особо ответственных ИС обновлениеключевой информации желательно делать ежедневно.
Вопрос обновления ключевой информациисвязан и с третьим элементом управления ключами — распределениемключей.
/>/>РаспределениеключейРаспределение ключей — самыйответственный процесс в управлении ключами. К нему предъявляютсядва требования:
Оперативность и точность распределения
Скрытность распределяемых ключей.
В последнее время заметен сдвигв сторону использования криптосистем с открытым ключом, в которыхпроблема распределения ключей отпадает. Тем не менее распределениеключевой информации в ИС требует новых эффективных решений.
Распределениеключей между пользователями реализуются двумя разными подходами:
1. Путем создания одного линескольких центров распределения ключей. Недостаток такого подходасостоит в том, что в центре распределения известно, кому и какие ключиназначены и это позволяет читать все сообщения, циркулирующие вИС. Возможные злоупотребления существенно влияют на защиту.
2. Прямой обмен ключами междупользователями информационной системы. В этом случае проблема состоитв том, чтобы надежно удостоверить подлинность субъектов.
Вобоих случаях должна быть гарантирована подлинность сеанса связи.Это можно обеспечить двумя способами:
1. Механизм запроса-ответа,который состоит в следующем. Если пользователь А желает быть уверенным,что сообщения который он получает от В, не являются ложными, онвключает в посылаемое для В сообщение непредсказуемый элемент (запрос).При ответе пользователь В должен выполнить некоторую операцию надэтим элементом (например, добавить 1). Это невозможно осуществитьзаранее, так как не известно, какое случайное число придет в запросе.После получения ответа с результатами действий пользователь А можетбыть уверен, что сеанс является подлинным. Недостатком этого методаявляется возможность установления хотя и сложной закономерностимежду запросом и ответом.
2. Механизм отметки времени(“временной штемпель”). Он подразумевает фиксацию времени длякаждого сообщения. В этом случае каждый пользователь ИС можетзнать, насколько “старым” является пришедшее сообщение.
Вобоих случаях следует использовать шифрование, чтобы быть уверенным,что ответ послан не злоумышленником и штемпель отметки времени не изменен.
При использовании отметок временивстает проблема допустимого временного интервала задержки дляподтверждения подлинности сеанса. Ведь сообщение с “временным штемпелем”в принципе не может быть передано мгновенно. Кроме этого компьютерныечасы получателя и отправителя не могут быть абсолютно синхронизированы.Какое запаздывание “штемпеля” считать подозрительным.
Поэтому в реальных ИС, напримерв системах оплаты кредитных карточек используется именно второймеханизм установления подлинности и защиты от подделок. Используемыйинтервал составляет от одной до нескольких минут. Большое число известныхспособов кражи электронных денег, основано на “вклинивании” в этотпромежуток с подложными запросами на снятии денег.
Для обмена ключами можноиспользовать криптосистемы с открытым ключом, используя тот же алгоритм RSA.
Но весьма эффективным оказалсяалгоритм Диффи-Хелмана, позволяющий двум пользователям без посредниковобменяться ключом, который может быть использован затем для симметричногошифрования.
/>Алгоритм Диффи-ХеллманаДиффи и Хелман предложили для созданиякриптографических систем с открытым ключом функцию дискретноговозведения в степень.
Необратимость преобразованияв этом случае обеспечивается тем, что достаточно легко вычислить показательнуюфункцию в конечном поле Галуа состоящим из p элементов. (p — либо простое число, либо простое в любой степени). Вычисление же логарифмов втаких полях — значительно более трудоемкая операция.
Еслиy=ax,, 1<x<p-1, где — фиксированныйэлемент поля GF(p), тоx=logay надGF(p). Имеяx, легко вычислитьy. Для этого потребуется 2ln(x+y) операций умножения.
Обратная задача вычисленияxизy будет достаточно сложной. Если p выбрано достаточноправильно, то извлечение логарифма потребует вычислений, пропорциональных
L(p) = exp {(ln p ln ln p)0.5 }
Для обмена информацией первыйпользователь выбирает случайное числоx1, равновероятное из целых1...p-1. Это число он держит в секрете, а другому пользователю посылаетчисло
y1 = axmod p
Аналогично поступает и второйпользователь, генерируяx2 и вычисливy2,отправляя его первому пользователю. В результате этого они могут вычислять k12= ax1x2mod p.
Для того, чтобы вычислить k12,первый пользователь возводитy2 в степеньx1.То же делает и второй пользователь. Таким образом, у обоих пользователейоказывается общий ключ k12, который можно использовать дляшифрования информации обычными алгоритмами. В отличие от алгоритма RSA, данныйалгоритм не позволяет шифровать собственно информацию.
Не знаяx1 иx2,злоумышленник может попытаться вычислить k12, зная толькоперехваченныеy1 иy2. Эквивалентностьэтой проблемы проблеме вычисления дискретного логарифма есть главный и открытыйвопрос в системах с открытым ключом. Простого решения до настоящего времени ненайдено. Так, если для прямого преобразования 1000-битных простых чиселтребуется 2000 операций, то для обратного преобразования (вычисления логарифмав поле Галуа) — потребуется около 1030 операций.
Как видно, при всей простотеалгоритма Диффи-Хелмана, вторым его недостатком по сравнению с системой RSAявляется отсутствие гарантированной нижней оценки трудоемкости раскрытия ключа.
Кроме того, хотя описанный алгоритмпозволяет обойти проблему скрытой передачи ключа, необходимость аутентификацииостается. Без дополнительных средств, один из пользователей не может быть уверен,что он обменялся ключами именно с тем пользователем, который ему нужен.Опасность имитации в этом случае остается.
В качестве обобщения сказанногоо распределении ключей следует сказать следующее. Задача управленияключами сводится к поиску такого протокола распределения ключей,который обеспечивал бы:
* возможность отказа от центра распределения ключей;
* взаимное подтверждение подлинности участников сеанса;
* подтверждение достоверности сеанса механизмом запроса-ответа,использование для этого программных или аппаратных средств;
* использование при обмене ключами минимального числа сообщений.
/>/>Проблемы и перспективы криптографических систем/>/>Шифрованиебольших сообщений и потоков данныхЭта проблема появилась сравнительнонедавно с появлением средств мультимедиа и сетей с высокойпропускной способностью, обеспечивающих передачу мультимедийныхданных.
До сих пор говорилось о защитесообщений. При этом под ними подразумевалась скорее некоторая текстоваяили символическая информация. Однако в современных ИС и информационныхсистемах начинают применяться технологии, которые требуют передачисущественно больших объемов данных. Среди таких технологий:
* факсимильная, видео и речевая связь;
* голосовая почта;
* системы видеоконференций.
Объем передаваемой информацииразных типов можно представить на условной диаграмме.
Объем
информации
/>/>/>
Таккак передача оцифрованной звуковой, графической и видеоинформацииво многих случаях требует конфиденциальности, то возникает проблемашифрования огромных информационных массивов. Для интерактивныхсистем типа телеконференций, ведения аудио или видеосвязи, такоешифрование должно осуществляться в реальном масштабе времени ипо возможности быть “прозрачным” для пользователей.
Это немыслимо без использованиясовременных технологий шифрования.
Наиболее распространенным являетсяпотоковое шифрование данных. Если в описанных ранее криптосистемахпредполагалось, что на входе имеется некоторое конечное сообщение,к которому и применяется криптографический алгоритм, то в системахс потоковым шифрованием принцип другой.
Системазащиты не ждет, когда закончится передаваемое сообщение, а сразуже осуществляет его шифрование и передачу.
/>
Потоковоешифрование данных
Наиболееочевидным является побитовое сложение входящей последовательности(сообщения) с некоторым бесконечным или периодическим ключом, получаемымнапример от генератора ПСП[18].Примером стандарта потокового шифрования является RC4, разработанныйРивестом. Однако, технические подробности этого алгоритма держатся в секрете[19].
Другим, иногда более эффективнымметодом потокового шифрования является шифрование блоками.Т.е. накапливается фиксированный объем информации (блок), а затемпреобразованный некоторым криптографическим методом передаетсяв канал связи.
/>/>Использование“блуждающих ключей”Как было неоднократно отмечено,проблема распределения ключей является наиболее острой в крупныхинформационных системах. Отчасти эта проблема решается (а точнееснимается) за счет использования открытых ключей. Но наиболее надежныекриптосистемы с открытым ключом типа RSA достаточно трудоемки, адля шифрования мультимедийных данных и вовсе не пригодны.
Оригинальные решения проблемы“ блуждающих ключей” активно разрабатываются специалистами. Этисистемы являются некоторым компромиссом между системами с открытымиключами и обычными алгоритмами, для которых требуется наличие одногои того же ключа у отправителя и получателя.
Идеяметода достаточно проста.
После того, как ключ использованв одном сеансе по некоторому правилу он сменяется другим. Это правилодолжно быть известно и отправителю, и получателю. Зная правило, послеполучения очередного сообщения получатель тоже меняет ключ. Еслиправило смены ключей аккуратно соблюдается и отправителем и получателем,то в каждый момент времени они имеют одинаковый ключ. Постояннаясмена ключа затрудняет раскрытие информации злоумышленником.
Основная задача в реализацииэтого метода — выбор эффективного правила смены ключей. Наиболеепростой путь — генерация случайного списка ключей. Смена ключей осуществляетсяв порядке списка. Однако, очевидно список придется каким-то образомпередавать.
Другой вариант — использованиематематических алгоритмов, основанных на так называемых перебирающихпоследовательностях. На множестве ключей путем одной и той жеоперации над элементом получается другой элемент. Последовательностьэтих операций позволяет переходить от одного элемента к другому,пока не будет перебрано все множество.
Наиболее доступным являетсяиспользование полей Галуа. За счет возведения в степень порождающегоэлемента можно последовательно переходить от одного числа к другому.Эти числа принимаются в качестве ключей.
Ключевой информацией в данномслучае является исходный элемент, который перед началом связи долженбыть известен и отправителю и получателю.
Надежность таких методов должнабыть обеспечена с учетом известности злоумышленнику используемогоправила смены ключей.
Интереснойи перспективной задачей является реализация метода “блуждающихключей” не для двух абонентов, а для достаточно большой сети, когда сообщенияпересылаются между всеми участниками.
/>/>Шифрование, кодированиеи сжатие информацииЭти тривида преобразования информации используются в разных целях, чтоможно представить в таблице.
Вид преобразования Цель Изменение объема информации после преобразования.Шифрование
· передача конфиденциальной информации;
· обеспечение аутентификации и защиты от преднамеренных изменений;
/>обычно не изменяется, увеличивается лишь в цифровых сигнатурах и подписях
Помехоустойчивое кодирование
· защита от искажения помехами в каналах связи увеличиваетсяСжатие (компрессия)
· сокращение объема передаваемых или хранимых данных уменьшаетсяКаквидно эти три вида преобразования информации отчасти дополняют друг друга и ихкомплексное использование поможет эффективно использовать каналы связидля надежной защиты предаваемой информации.
Особенно интересным представляетсявозможность объединения методов кодирования и шифрования.Можно утверждать, что по сути кодирование — это элементарное шифрование,а шифрование — это элементарное помехоустойчивое кодирование.
Другая возможность — комбинированиеалгоритмов шифрования и сжатия информации. Задача сжатия состоит в том,чтобы преобразовать сообщение в пределах одного и того же алфавита такимобразом, чтобы его длина (количество букв алфавита) стала меньше, но при этомсообщение можно было восстановить без использования какой-то дополнительнойинформации. Наиболее популярные алгоритмы сжатия — RLE, кодыХаффмана, алгоритм Лемпеля-Зива. Для сжатия графической и видеоинформациииспользуются алгоритмы JPEG и MPEG.
Главное достоинство алгоритмовсжатия с точки зрения криптографии состоит в том, что они изменяют статистикувходного текста в сторону ее выравнивания[20].Так, в обычном тексте, сжатом с помощью эффективного алгоритма все символыимеют одинаковые частотные характеристики и даже использование простых системышифрования сделают текст недоступным для криптоанализа.
Разработка и реализация такихуниверсальных методов — перспектива современных информационных систем[21].
/>/>Реализациякриптографических методовПроблема реализации методовзащиты информации имеет два аспекта:
* разработку средств, реализующих криптографические алгоритмы,
* методику использования этих средств.
Каждый из рассмотренных криптографическихметодов могут быть реализованы либо программным, либо аппаратнымспособом.
Возможность программной реализацииобуславливается тем, что все методы криптографическогопреобразования формальны и могут быть представлены в виде конечнойалгоритмической процедуры.
При аппаратной реализации всепроцедуры шифрования и дешифрования выполняются специальнымиэлектронными схемами. Наибольшее распространение получили модули,реализующие комбинированные методы.
При этом непременным компонентоввсех аппаратно реализуемых методов является гаммирование.Это объясняется тем, что метод гаммирования удачно сочетает в себевысокую криптостойкость и простоту реализации.
Наиболее часто в качестве генератораиспользуется широко известный регистр сдвига с обратными связями(линейными или нелинейными). Минимальный период порождаемой последовательностиравен 2N-1 бит. Для повышения качества генерируемой последовательностиможно предусмотреть специальный блок управления работой регистрасдвига. Такое управление может заключаться, например, в том, что послешифрования определенного объема информации содержимое регистрасдвига циклически изменяется.
Другая возможность улучшения качествагаммирования заключается в использовании нелинейных обратных связей.При этом улучшение достигается не за счет увеличения длины гаммы, аза счет усложнения закона ее формирования, что существенно усложняеткриптоанализ.
Большинство зарубежных серийныхсредств шифрования основано на американском стандарте DES. Отечественныеже разработки, такие как, например, устройство КРИПТОН, используетотечественный стандарт шифрования.
Основнымдостоинством программных методов реализации защиты является ихгибкость, т.е. возможность быстрого изменения алгоритмов шифрования.
Основным же недостатком программнойреализации является существенно меньшее быстродействие по сравнениюс аппаратными средствами (примерно в 10 раз).
Впоследнее время стали появляться комбинированные средствашифрования, так называемые программно-аппаратные средства. В этом случаев компьютере используется своеобразный “криптографический сопроцессор”[22] — вычислительное устройство, ориентированное на выполнение криптографическихопераций (сложение по модулю, сдвиг и т.д.). Меняя программное обеспечениядля такого устройства, можно выбирать тот или иной метод шифрования.Такой метод объединяет в себе достоинства программных и аппаратныхметодов.
Такимобразом, выбор типа реализации криптозащиты для конкретной ИС в существенноймере зависит от ее особенностей и должен опираться на всестороннийанализ требований, предъявляемых к системе защиты информации.
/>/>ЗаключениеВ книге сделан обзор наиболеераспространенных в настоящее время методов криптографической защитыинформации.
Выбор для конкретных ИС долженбыть основан на глубоком анализе слабых и сильных сторон тех или иныхметодов защиты. Обоснованный выбор той или иной системы защиты в общем-тодолжен опираться на какие-то критерии эффективности. К сожалению,до сих пор не разработаны подходящие методики оценки эффективностикриптографических систем.
Наиболее простой критерий такойэффективности — вероятность раскрытия ключа или мощностьмножества ключей (М). По сути это то же самое, что и криптостойкость.Для ее численной оценки можно использовать также и сложность раскрытия шифрапутем перебора всех ключей.
Однако, этот критерий не учитываетдругих важных требований к криптосистемам:
* невозможность раскрытия или осмысленной модификации информациина основе анализа ее структуры,
* совершенство используемых протоколов защиты,
* минимальный объем используемой ключевой информации,
* минимальная сложность реализации (в количестве машинных операций),ее стоимость,
* высокая оперативность.
Желательноконечно использование некоторых интегральных показателей, учитывающихуказанные факторы.
Для учета стоимости, трудоемкостии объема ключевой информации можно использовать удельные показатели- отношение указанных параметров к мощности множества ключей шифра.
Частоболее эффективным при выборе и оценке криптографической системыявляется использование экспертных оценок и имитационное моделирование.
 ëþáîìñëó÷àå âûáðàííûéêîìïëåêñêðèïòîãðàôè÷åñêèõìåòîäîâ äîëæåíñî÷åòàòüêàê óäîáñòâî,ãèáêîñòü èîïåðàòèâíîñòüèñïîëüçîâàíèÿ,òàê è íàäåæíóþçàùèòó îòçëîóìûøëåííèêîâöèðêóëèðóþùåéâ ÈÑ èíôîðìàöèè.