Отавтора
Эта книга — краткоевведение вкриптографию.С одной стороны, здесь изложенматериал, которыйотвечает намногие вопросы, которые возникаюту тех кто делаетна ниве этойнауке первыешаг, с другойстороны здесьесть тот минимуминформации, который достаточендля того чтобысамостоятельнооценивать любыереальныекриптосистемыили даже создаватьсвои собственные.
Язык книгиделался повозможностидоступным, ноне освобождаетЧитателя отнеобходимостивладенияэлементарнымиосновами математики, в частностиалгебры и теориигрупп и полей.
Многие вопросык сожалениюостались заобложками этойкниги. В частностипосле долгихсомнений Авторрешил отказатьсяот рассмотренияDES, ввидуего крайнейнепрактичностии неуживчивостина российскойпочве1.
Массу полезнойинформацииможно найтина сервереftp.rsa.com.В faq5.doc Вы еслии не найдетеответ на любойвопрос покриптографии, то обнаружитебольшое количествоссылок на другиеисточники.
Автор будетпризнателенза любые замечанияи вопросы, которыепроще всегонаправить поадресу: bar@glasnet.ru
Баричев Сергей
Введение
Проблемазащиты информациипутем еепреобразования, исключающегоее прочтениепостороннимлицом волновалачеловеческийум с давнихвремен. Историякриптографии- ровесницаистории человеческогоязыка. Болеетого, первоначальнописьменностьсама по себебыла криптографическойсистемой, таккак в древнихобществах еювладели толькоизбранные.Священные книгиДревнегоЕгипта, ДревнейИндии томупримеры.
С широкимраспространениемписьменностикриптографиястала формироватьсякак самостоятельнаянаука. Первыекриптосистемывстречаютсяуже в началенашей эры. Так, Цезарь в своейперепискеиспользовалуже более менеесистематическийшифр, получившийего имя.
Бурное развитиекриптографическиесистемыполучилив годы первойи второй мировыхвойн. Начинаяс послевоенноговремени и понынешний деньпоявлениевычислительныхсредств ускорилоразработкуи совершенствование криптографическихметодов.
Почему проблемаиспользованиякриптографическихметодов винформационныхсистемах (ИС)стала в настоящиймомент особоактуальна?
С одной стороны, расширилосьиспользованиекомпьютерныхсетей, в частностиглобальнойсети Интернет, по которымпередаютсябольшие объемыинформациигосударственного, военного, коммерческогои частногохарактера, не допускающеговозможностьдоступа кней постороннихлиц.
С другой стороны, появлениеновых мощныхкомпьютеров, технологийсетевых инейронныхвычисленийсделаловозможнымдискредитациюкриптографическихсистем ещенедавносчитавшихся практическине раскрываемыми.
Проблемойзащиты информациипутем ее преобразованиязанимаетсякриптология(kryptos — тайный,logos — наука).Криптологияразделяетсяна два направления- криптографиюи криптоанализ.Цели этихнаправленийпрямо противоположны.
Криптографиязанимаетсяпоиском иисследованиемматематическихметодовпреобразованияинформации.
Сфера интересовкриптоанализа — исследованиевозможностирасшифровыванияинформациибез знанияключей.
В этой книгеосновноевниманиебудет уделенокриптографическимметодам.
Современнаякриптографиявключает в себячетыре крупныхраздела:
Симметричные криптосистемы.
Криптосистемы с открытым ключом.
Системы электронной подписи.
Управление ключами.
Основные направления использованиякриптографическихметодов — передачаконфиденциальнойинформациипо каналамсвязи (например, электроннаяпочта), установлениеподлинностипередаваемыхсообщений, хранениеинформации(документов, баз данных) наносителяхв зашифрованномвиде.Терминология
Итак, криптографиядает возможностьпреобразоватьинформациютаким образом, что ее прочтение(восстановление)возможно толькопри знанииключа.
В качествеинформации, подлежащейшифрованиюи дешифрованию, будут рассматриватьсятексты, построенныена некоторомалфавите. Подэтими терминамипонимаетсяследующее.
Алфавит — конечноемножествоиспользуемыхдля кодированияинформациизнаков.
Текст — упорядоченныйнабор из элементовалфавита.
В качествепримеров алфавитов, используемыхв современныхИС можно привестиследующие:
алфавит Z33 — 32 буквы русского алфавита и пробел;
алфавит Z256 — символы, входящие в стандартные коды ASCII и КОИ-8;
бинарный алфавит — Z2 = {0,1};
восьмеричный алфавит или шестнадцатеричный алфавит;
Шифрование — преобразовательныйпроцесс: исходныйтекст, которыйносит такженазваниеоткрытоготекста, заменяетсяшифрованнымтекстом.
Криптографическая система
/>/>
/>/>
/>
Дешифрование — обратный шифрованиюпроцесс. Наоснове ключашифрованныйтекст преобразуетсяв исходный.
/>
Ключ — информация, необходимаядля беспрепятственногошифрованияи дешифрованиятекстов.
Криптографическаясистемапредставляетсобой семействоT преобразованийоткрытоготекста. Членыэтого семействаиндексируются, или обозначаютсясимволом k; параметр kявляетсяключом.Пространствоключей K — этонабор возможныхзначенийключа. Обычноключ представляетсобой последовательныйряд букв алфавита.
Криптосистемыразделяютсяна симметричныеи с открытымключом.
В симметричныхкриптосистемахи для шифрования, и для дешифрованияиспользуетсяодин и тот жеключ.
В системах соткрытым ключомиспользуютсядва ключа — открытыйи закрытый, которые математическисвязаны другс другом. Информацияшифруется спомощью открытогоключа, которыйдоступен всемжелающим, арасшифровываетсяс помощью закрытогоключа, известноготолько получателюсообщения.
Терминыраспределениеключей иуправлениеключамиотносятсяк процессамсистемыобработкиинформации, содержаниемкоторыхявляетсясоставлениеи распределениеключей междупользователями.
Электронной(цифровой) подписьюназываетсяприсоединяемоек тексту егокриптографическоепреобразование, которое позволяетпри получениитекста другимпользователемпроверитьавторство иподлинностьсообщения.
Криптостойкостьюназываетсяхарактеристикашифра, определяющаяего стойкостьк дешифрованиюбез знанияключа (т.е.криптоанализу).Имеется несколькопоказателейкриптостойкости, среди которых:
количество всех возможных ключей;
среднее время, необходимое для криптоанализа.
ПреобразованиеTk определяетсясоответствующималгоритмоми значениемпараметраk. Эффективностьшифрованияс целью защитыинформациизависит отсохранениятайны ключаи криптостойкостишифра. Требованияк криптосистемам
Процесскриптографическогозакрытияданных можетосуществлятьсякак программно, так и аппаратно.Аппаратнаяреализацияотличаетсясущественнобольшей стоимостью, однако ейприсущи ипреимущества: высокаяпроизводительность, простота, защищенностьи т.д. Программнаяреализацияболее практична, допускаетизвестнуюгибкость виспользовании.
Для современныхкриптографическихсистем защитыинформациисформулированыследующиеобщепринятыетребования:
зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей;
число операций, необходимых для расшифровывания информации путем перебора всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учетом возможности использования сетевых вычислений);
знание алгоритма шифрования не должно влиять на надежность защиты;
незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа;
структурные элементы алгоритма шифрования должны быть неизменными;
дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте;
длина шифрованного текста должна быть равной длине исходного текста;
не должно быть простых и легко устанавливаемых зависимостью между ключами, последовательно используемыми в процессе шифрования;
любой ключ из множества возможных должен обеспечивать надежную защиту информации;
алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования.Симметричныекриптосистемы
Все многообразиесуществующихкриптографическихметодов можносвести к следующимклассампреобразований:
/>/>
Симметричные
криптосистемы
/>/>
Моно-и многоалфавитныеподстановки.
Наиболеепростой видпреобразований, заключающийсяв заменесимволовисходноготекста на другие(того же алфавита)по более илименее сложномуправилу. Дляобеспечениявысокойкриптостойкоститребуетсяиспользованиебольших ключей.
Перестановки.
Также несложныйметод криптографическогопреобразования.Используетсякак правилов сочетаниис другимиметодами.
Гаммирование.
Этот методзаключаетсяв наложениина исходныйтекст некоторойпсевдослучайнойпоследовательности, генерируемойна основеключа.
Блочныешифры.
Представляютсобой последовательность(с возможнымповторениеми чередованием)основныхметодовпреобразования, применяемуюк блоку (части)шифруемоготекста. Блочныешифры на практикевстречаютсячаще, чем “чистые”преобразованиятого или иногокласса в силуих более высокойкриптостойкости.Российскийи американскийстандартышифрованияоснованыименно на этомклассе шифров.Перестановки
Перестановкой наборацелых чисел(0,1,...,N-1) называетсяего переупорядочение.Для того чтобыпоказать, чтоцелое i перемещеноиз позиции i впозицию (i), где 0 (i) n, будемиспользоватьзапись
=((0),(1),...,(N-1)).
Число перестановокиз (0,1,...,N-1) равноn!=1*2*...*(N-1)*N. Введемобозначение длявзаимно-однозначногоотображения(гомоморфизма)набора S={s0,s1,...,sN-1}, состоящегоизn элементов, на себя.
:S S
:sis(i),0 i n
Будем говорить, что в этомсмысле являетсяперестановкойэлементовS. И, наоборот, автоморфизмS соответствуетперестановкецелых чисел(0,1,2,..,n-1).
КриптографическимпреобразованиемT для алфавитаZm называетсяпоследовательностьавтоморфизмов:T={T(n):1n
T(n):Zm,nZm,n,1n
Каждое T(n)является, таким образом, перестановкойn-грамм из Zm,n.
Поскольку T(i)и T(j) могутбыть определенынезависимо при ij, число криптографическихпреобразованийисходноготекста размерностиn равно (mn)!2.Оно возрастаетнепропорциональнопри увеличенииm иn: так, приm=33 иn=2 числоразличныхкриптографическихпреобразованийравно 1089!.. Отсюдаследует, чтопотенциальносуществуетбольшое числоотображенийисходноготекста в шифрованный.
Практическаяреализациякриптографическихсистем требует, чтобы преобразования{Tk: kK}были определеныалгоритмами, зависящимиот относительнонебольшогочисла параметров(ключей). Системыподстановок
ОпределениеПодстановкой на алфавитеZm называетсяавтоморфизмZm, при которомбуквы исходноготекста t замещеныбуквами шифрованноготекста (t):
ZmZm;:t(t).
Набор всехподстановокназываетсясимметрическойгруппой Zmи будет вдальнейшемобозначатьсякак SYM(Zm).
УтверждениеSYM(Zm) cоперациейпроизведенияявляется группой, т.е. операцией, обладающейследующимисвойствами:
Замкнутость: произведение подстановок 12 является подстановкой:
: t1(2(t)).
Ассоциативность: результат произведения 123 не зависит от порядка расстановки скобок:
(12)3=1(23)
Существование нейтрального элемента: постановка i, определяемая как i(t)=t, 0tm) по операции умножения: i=i для SYM(Zm).
Существование обратного: для любой подстановки существует единственная обратная подстановка -1, удовлетворяющая условию
1= 1=i.
Число возможныхподстановокв симметрическойгруппе Zm называетсяпорядкомSYM(Zm) и равноm!.
Определение.Ключом подстановкиk для Zm называетсяпоследовательностьэлементовсимметрическойгруппы Zm:
k=(p0,p1,...,pn-1,...),pnSYM(Zm),0n
Подстановка, определяемаяключом k, являетсякриптографическимпреобразованиемTk, при помощикоторогоосуществляетсяпреобразованиеn-граммы исходноготекста (x0,x1,..,xn-1) вn-граммушифрованноготекста (y0,y1,...,yn-1):
yi=p(xi), 0i
где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: 0km), содержащееm подстановок
Ck:j(j+k)(modm),0km,
называетсяподстановкойЦезаря.
Умножениекоммутативно,CkCj=CjCk=Cj+k,C0– идентичнаяподстановка, а обратной кCк являетсяCk-1=Cm-k, где 0k3.
Подстановкаопределяетсяпо таблицезамещения, содержащейпары соответствующихбукв “исходныйтекст – шифрованныйтекст”. Для C3подстановкиприведены вТабл. 1. Стрелка() означает, что буква исходноготекста (слева)шифруется припомощи C3 вбукву шифрованноготекста (справа).
Определение.Системой Цезаряназываетсямоноалфавитнаяподстановка, преобразующаяn-грамму исходноготекста (x0,x1,..,xn-1) вn граммушифрованноготекста (y0,y1,...,yn-1) в соответствиис правилом
yi=Ck(xi),0i
Например, ВЫШЛИТЕ_НОВЫЕ_УКАЗАНИЯпосредствомподстановкиC3 преобразуетсяв еюыолхиврсеюивцнгкгрлб.
Таблица 1.
Аг
Йм
Тх
Ыю
Бд
Кн
Уц
Ья
Ве
Ло
Фч
Э_
Гж
Мп
Хш
Юа
Дз
Нр
Цщ
Яб
Еи
Ос
Чъ
_в
Жй
Пт
Шы
Зк
Ру
Щь
Ил
Сф
Ъэ
При своей несложностисистема легкоуязвима. Еслизлоумышленникимеет
1) шифрованныйи соответствующийисходный текстили
2) шифрованныйтекст выбранногозлоумышленникомисходноготекста,
то определениеключа и дешифрованиеисходноготекста тривиальны.
БолееэффективныобобщенияподстановкиЦезаря — шифрХиллаи шифрПлэйфера.Они основанына подстановкене отдельныхсимволов, а2-грамм (шифрПлэйфера) илиn-грамм3(шифр Хилла).При более высокойкриптостойкостиони значительносложнее дляреализациии требуют достаточнобольшого количестваключевой информации.Многоалфавитныесистемы. Системыодноразовогоиспользования.
Слабая криптостойкостьмоноалфавитныхподстановокпреодолеваетсяс применениемподстановокмногоалфавитных.
Многоалфавитнаяподстановкаопределяетсяключом =(1,
2, ...), содержащимне менее двухразличныхподстановок.В начале рассмотриммногоалфавитныесистемы подстановокс нулевым начальнымсмещением.
Пусть {Ki: 0im
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 точек.
Рассмотримнебольшойпример шифрованияс бесконечнымключом. В качествеключа примемтекст
“БЕСКОНЕЧНЫЙ_КЛЮЧ....”.
Зашифруем сего помощьютекст “ШИФР_НЕРАСКРЫВАЕМ”.Шифрованиеоформим в таблицу:
--PAGE_BREAK--ШИФРУЕМЫЙ_ТЕКСТ 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-набор = (0,1, ..., r-1)с элементамивx.
Обобщеннаясистема Вижинерапреобразуетисходный текст(x0,x1 ,...,xn-1) вшифрованныйтекст (y0,y1,...,yn-1) при помощиключа = (0, 1,..., r-1)по правилу
VIGk: (x0,x1,...,xn-1)(y0,y1,...,yn-1)= (0(х0),1(х1),..., n-1(xn-1)),
где используетсяусловие i= imodr .
Следует признать, что и многоалфавитныеподстановкив принципедоступныкриптоаналитическомуисследованию.Криптостойкостьмногоалфавитныхсистем резкоубывает с уменьшениемдлины ключа.
Тем не менеетакая системакак шифр Вижинерадопускаетнесложнуюаппаратнуюили программнуюреализациюи при достаточнобольшой длинеключа можетбыть использованв современныхИС. Гаммирование
Гаммированиеявляетсятакже широкоприменяемымкриптографическимпреобразованием.На самом делеграница междугаммированиеми использованиембесконечныхключей и шифровВижинера, о которыхречь шла выше, весьма условная.
Принцип шифрованиягаммированиемзаключаетсяв генерациигаммы шифрас помощьюдатчикапсевдослучайныхчисел и наложенииполученнойгаммы на открытыеданные обратимымобразом(например, используясложение помодулю 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-2rk-1
Гi:=rk-
Здесь r0r1 … rk-1 — 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-896
Важной задачейв обеспечениигарантированнойбезопасностиинформациив ИС являетсяразработкаи использованиястандартныхалгоритмовшифрованияданных. Первымсреди подобныхстандартовстал американскийDES, представляющийсобой последовательноеиспользованиезамен и перестановок.В настоящеевремя все чащеговорят онеоправданнойсложностии невысокойкриптостойкости.На практикеприходитсяиспользоватьего модификации.
Более эффективнымявляетсяотечественныйстандартшифрованияданных.
Он рекомендованк использованиюдля защитылюбых данных, представленныхв виде двоичногокода, хотяне исключаютсяи другие методышифрования.Данный стандартформировалсяс учетом мировогоопыта, и вчастности, были принятыво вниманиенедостаткии нереализованныевозможностиалгоритмаDES, поэтомуиспользованиестандартаГОСТ предпочтительнее.Алгоритмдостаточносложен и нижебудет описанав основномего концепция.
Введем ассоциативнуюоперациюконкатенации, используядля нее мультипликативнуюзапись. Крометого будемиспользоватьследующиеоперациисложения:
AB — побитовое сложение по модулю 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)mod 8;
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-разрядногочисла выбираетсяотрезок Ирдлиной рбит.
Имитовставкапередаетсяпо каналусвязи послезашифрованныхданных. Наприемнойсторонеаналогичнымобразом изпринятогосообщениявыделяется? имитовставкаи сравниваетсяс полученнойоткуда?.. В случаенесовпаденияимитовставоксообщениесчитаетсяложным.Системыс открытымключом
Как бы ни былисложны и надежныкриптографическиесистемы — ихслабое местпри практическойреализации- проблемараспределенияключей. Длятого, чтобыбыл возможенобмен конфиденциальнойинформациеймежду двумясубъектамиИС, ключ долженбыть сгенерированодним из них, а затем каким-тообразом опятьже в конфиденциальномпорядке передандругому. Т.е.в общем случаедля передачиключа опятьже требуетсяиспользованиекакой-токриптосистемы.
Для решенияэтой проблемына основерезультатов, полученныхклассическойи современнойалгеброй, были предложенысистемы соткрытымключом.
Суть их состоитв том, что каждымадресатомИС генерируютсядва ключа, связанныемежду собойпо определенномуправилу. Одинключ объявляетсяоткрытым, а другой закрытым.Открытыйключ публикуетсяи доступенлюбому, ктожелает послатьсообщениеадресату.Секретный ключсохраняетсяв тайне.
Исходныйтекст шифруетсяоткрытымключом адресатаи передаетсяему. Зашифрованныйтекст в принципене может бытьрасшифровантем же открытымключом. Дешифрованиесообщениевозможнотолько сиспользованиемзакрытогоключа, которыйизвестентолько самомуадресату.
/>/>
/>
/>
Система
с открытым ключом/>
Система
с открытым ключом/>
продолжение
--PAGE_BREAK--
/>/>
/>/>
Криптографическиесистемы соткрытымключом используюттак называемыенеобратимые или односторонниефункции, которыеобладаютследующимсвойством: при заданномзначенииx относительнопросто вычислитьзначениеf(x), однакоеслиy=f(x), тонет простогопути для вычислениязначенияx.
Множествоклассовнеобратимыхфункций ипорождаетвсе разнообразиесистем с открытымключом. Однаконе всякаянеобратимаяфункция годитсядля использованияв реальныхИС.
В самом определениинеобратимостиприсутствуетнеопределенность.Под необратимостьюпонимаетсяне теоретическаянеобратимость, а практическаяневозможностьвычислитьобратное значениеиспользуясовременныевычислительныесредства заобозримыйинтервал времени.
Поэтому чтобыгарантироватьнадежнуюзащиту информации, к системамс открытымключом (СОК)предъявляютсядва важныхи очевидныхтребования:
1. Преобразованиеисходноготекста должнобыть необратимыми исключатьего восстановлениена основеоткрытогоключа.
2. Определениезакрытогоключа на основеоткрытоготакже должнобыть невозможнымна современномтехнологическомуровне. Приэтом желательнаточная нижняяоценка сложности(количестваопераций)раскрытияшифра.
Алгоритмышифрованияс открытымключом получилиширокоераспространениев современныхинформационныхсистемах.Так, алгоритмRSA стал мировымстандартомде-факто дляоткрытыхсистем ирекомендованМККТТ.
Вообще же всепредлагаемыесегодня криптосистемыс открытымключом опираютсяна один из следующихтипов необратимыхпреобразований:
Разложение больших чисел ан простые множители.
Вычисление логарифма в конечном поле.
Вычисление корней алгебраических уравнений.
Здесь же следуетотметить, что алгоритмыкриптосистемыс открытымключом (СОК)можно использоватьв трех назначениях.
1. Как самостоятельныесредствазащиты передаваемыхи хранимыхданных.
2. Как средствадля распределенияключей. АлгоритмыСОК болеетрудоемки, чем традиционныекриптосистемы.Поэтому частона практикерациональнос помощьюСОК распределятьключи, объемкоторых какинформациинезначителен.А потом с помощьюобычных алгоритмовосуществлятьобмен большимиинформационнымипотоками.
Средства аутентификации пользователей. Об этом будет рассказано в главе «Электронная подпись».
Ниже рассматриваютсянаиболеераспространенныесистемы с открытымключом.Алгоритм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= х(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),
0jp
так как C(p,j)=0(mod p)при 0p. С учетомэтого неравенстваи предложенийметода доказательствапо индукциитеорема доказана.
Определение.Функцией Эйлера(n)называетсячисло положительныхцелых, меньшихn и простыхотносительноn. n 2 3 4 5 6 7 8 9 10 11 12 (n) 1 2 2 3 2 6 4 6 4 10 4
Теорема2.Еслиn=pq,(pи q — отличные другот друга простыечисла), то
(n)=(p-1)(q-1).
Теорема3.Еслиn=pq,(pи q — отличные другот друга простыечисла) и х — простоеотносительно р и q, то
x(n)= 1 (modn).
Следствие.Еслиn=pq,(pи q — отличные другот друга простыечисла) и е простоеотносительно(n), то отображение
Еe,n:xxe(modn)
являетсявзаимно однозначнымна Zn.
Очевиден и тотфакт, что еслие — простоеотносительно(n), тосуществуетцелое d, такое, что
ed= 1 (mod (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), которыеявляются простымиотносительно(ni), гдеni=pi qi.Справочнаятаблица содержитпубличные ключи{(ei ,ni)}.
Предположим, что исходныйтекст
x=(x0,x1,...,xn-1),xZn, 0 i n,
сначала представленпо основаниюni:
N= c0+cini+…
Пользовательi зашифровываеттекст при передачеего пользователюj, применяя кn отображениеEdi,ni:
NEdi,nin =n’.
Пользовательj производитдешифрованиеn’, применяяEei,ni:
N’Eei,nin’= Eei,niEdi,nin =n .
Очевидно, длятого чтобынайти инверсиюEdi,niпо отношениюк Eei,ni, требуетсязнание множителейn=pi qi. Времявыполнениянаилучших изизвестныхалгоритмовразложенияприn=10100 насегодняшнийдень выходитза пределысовременныхтехнологическихвозможностей.
Рассмотримнебольшойпример, иллюстрирующийприменениеалгоритма RSA.
ПримерЗашифруемсообщение“САВ”. Для простотыбудем использоватьмаленькие числа(на практикеприменяютсягораздо большие).
Выберем p=3 и q=11.
Определимn=3*11=33.
Найдем (p-1)(q-1)=20. Следовательно, в качестве d, взаимно простое с 20, например, d=3.
Выберем число е. В качестве такого числа может быть взято любое число, для которого удовлетворяется соотношение (е*3) (mod 20) = 1, например 7.
Представим шифруемое сообщение как последовательность целых чисел с помощью отображения: А1, В2, С3. Тогда сообщение принимает вид (3,1,2). Зашифруем сообщение с помощью ключа {7,33}.
ШТ1= (37) (mod 33) = 2187 (mod 33) = 9,
ШТ2 = (17) (mod 33) = 1 (mod 33) = 1,
ШТ3= (27) (mod 33) = 128 (mod 33) = 29.
Расшифруем полученное зашифрованное сообщение (9,1,29) на основе закрытого ключа {3,33}:
ИТ1 = (93) (mod 33) = 729 (mod 33) = 3,
ИТ2= (13) (mod 33) = 1 (mod 33) = 1,
ИТ3= (293) (mod 33) = 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 Число операций Примечания 50
1.4*1010 Раскрываем на суперкомпьютерах 100
2.3*1015 На пределе современных технологий 200
1.2*1023 За пределами современных технологий 400
2.7*1034 Требует существенных изменений в технологии 800
1.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= gkmodp и
y2= myk,
где означает побитовоесложение помодулю 2. ЗатемБорис посылает(y1,y2)Александру.
Александр, получив зашифрованноесообщение, восстанавливаетего:
m =(y1amodp) y2.
Алгоритм цифровойподписи DSA, разработанныйNIST (National Institute of Standardand Technology) и являющийсячастью стандартаDSS частичноопирается нарассмотренныйметод.Криптосистемына основеэллиптическихуравнений
Эллиптическиекривые — математическийобъект, которыйможет определеннад любым полем(конечным, действительным, рациональнымили комплексным).В криптографииобычно используютсяконечные поля.Эллиптическаякривая естьмножество точек(x,y), удовлетворяющееследующемууравнению:
y2= x3 +ax + b,
атакже бесконечноудаленнаяточка. Для точекна кривой довольнолегко вводитсяоперация сложения, которая играетту же роль, чтои операцияумножения вкриптосистемахRSA и Эль-Гамаля.
В реальныхкриптосистемахна базе эллиптическихуравненийиспользуетсяуравнение
y2= x3 +ax + bmodp,
гдер — простое.
Проблема дискретногологарифма наэллиптическойкривой состоитв следующем: дана точка Gна эллиптическойкривой порядкаr (количествоточек на кривой)и другая точкаY на этойже кривой. Нужнонайти единственнуюточку xтакую, что Y= xG, то есть Y естьх-я степеньG.
Электроннаяподпись
В чем состоитпроблемааутентификацииданных?
В конце обычногописьма илидокументаисполнительили ответственноелицо обычноставит своюподпись. Подобноедействиеобычно преследуетдве цели. Во-первых, получательимеет возможностьубедитьсяв истинностиписьма, сличивподпись симеющимсяу него образцом.Во-вторых, личная подписьявляетсяюридическимгарантомавторствадокумента.Последнийаспект особенноважен призаключенииразного родаторговыхсделок, составлениидоверенностей, обязательстви т.д.
Если подделатьподпись человекана бумагевесьма непросто, а установитьавторствоподписисовременнымикриминалистическимиметодами- техническаядеталь, то сподписьюэлектроннойдело обстоитиначе. Подделатьцепочку битов, просто еескопировав, или незаметновнести нелегальныеисправленияв документсможет любойпользователь.
С широкимраспространениемв современноммире электронныхформ документов(в том числеи конфиденциальных)и средств ихобработкиособо актуальнойстала проблемаустановленияподлинностии авторствабезбумажнойдокументации.
В разделекриптографическихсистем с открытымключом былопоказано, что при всехпреимуществахсовременныхсистем шифрованияони не позволяютобеспечитьаутентификациюданных. Поэтомусредствааутентификациидолжны использоватьсяв комплексеи криптографическимиалгоритмами.
Итак, пусть имеютсядва пользователяАлександр иБорис. От какихнарушенийи действийзлоумышленникадолжна защищатьсистемааутентификации.
Отказ(ренегатство).
Александрзаявляет, что он не посылалсообщениеБорису, хотяна самом делеон все-такипосылал.
Для исключенияэтого нарушенияиспользуетсяэлектронная(или цифровая)подпись.
Модификация(переделка).
Борис изменяетсообщениеи утверждает, что данное (измененное)сообщениепослал емуАлександр.
Подделка.
Борис формируетсообщениеи утверждает, что данное (измененное)сообщениепослал емуАлександр.
Активныйперехват.
Владимирперехватываетсообщениямежду Александроми Борисом сцелью их скрытоймодификации.
Для защитыот модификации, подделки имаскировкииспользуютсяцифровыесигнатуры.
Маскировка(имитация).
Владимир посылаетБорису сообщениеот имени Александра.
В этом случаедля защитытакже используетсяэлектроннаяподпись.
Повтор.
Владимир повторяетранее переданноесообщение, котороеАлександрапосылал ранееБорису. Несмотряна то, что принимаютсявсевозможныемеры защитыот повторов, именно на этотметод приходитсябольшинствослучаевнезаконногоснятия и тратыденег в системахэлектронныхплатежей.
Наиболеедейственнымметодом защитыот повтораявляются
использование имитовставок,
учет входящих сообщений.
продолжение
--PAGE_BREAK--
/>/>/>
/>
/>
/>/>/>
Возможныенарушениязащиты сообщений,.посылаемыхпользователемА пользователюВ.Электроннаяподпись наоснове алгоритмаRSA
Наиболеепростым ираспространенныминструментомэлектроннойподписиявляетсяуже знакомыйалгоритмRSA. Ниже оно будетрассмотренав качествепримера. Кромеэтого существуютеще десяткидругих схемцифровой подписи.
Предположим, что
d,p,q — секретные, ае,n=pq — открытые.
Замечания.
1. Разложениепоn дает:(n)=(p-1)(q-1); зная (n)и e, можно найтиd.
2. Из e и d можнонайти кратность(n);кратность (n)позволяетопределитьделителиn.
ПустьDATA — передаваемоеАлександромБорису сообщение.
АлександрподписываетDATA для Борисапри передаче:
EeB,nB{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 Signature Algorithm)стандарт DSS(Digital Signature Standard), воснову которогоположены алгоритмыЭль-Гамаля и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 и цифроваясигнатура К’посылаютсяВ.
V, V'
/>/>/>
сообщение, K'
/>
/>
V, V'
/>
ПолучательВ проверяетсигнатуруследующимобразом. Онвычисляетфункцию 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) — являетсяхэш-функцией, если она удовлетворяетследующимусловиям:
исходный текст может быть произвольной длины;
само значение H(k, T) имеет фиксированную длину;
значение функции H(k, T) легко вычисляется для любого аргумента;
восстановить аргумент по значению с вычислительной точки зрения — практически невозможно;
функция H(k, T)— однозначна14.
Из определенияследует, чтодля любой хэш-функцииесть тексты-близнецы- имеющие одинаковоезначение хэш-функции, так как мощностьмножествааргументовнеограниченнобольше мощностимножествазначений. Такойфакт получилназвание «эффектдня рождения».15
Наиболее известныеиз хэш-функций- MD2, MD4, MD5 и SHA.
Три алгоритмасерии MD разработаныРивестом в1989-м, 90-м и 91-м годусоответственно.Все они преобразуюттекст произвольнойдлины в 128-битнуюсигнатуру.
Алгоритм MD2предполагает:
дополнение текста до длины, кратной 128 битам;
вычисление 16-битной контрольной суммы (старшие разряды отбрасываются);
добавление контрольной суммы к тексту;
повторное вычисление контрольной суммы.
Алгоритм MD4предусматривает:
дополнение текста до длины, равной 448 бит по модулю 512;
добавляется длина текста в 64-битном представлении;
512-битные блоки подвергаются процедуре Damgard-Merkle16, причем каждый блок участвует в трех разных циклах.
В алгоритмеMD4 довольнобыстро былинайдены «дыры», поэтому он былзаменен алгоритмомMD5, в которомкаждый блокучаствует нев трех, а в четырехразличныхциклах.
Алгоритм SHA(Secure Hash Algorithm) разработанNIST (National Institute ofStandard and Technology) и повторяетидеи серии MD.В SHA используютсятексты более264 бит, которыезакрываютсясигнатуройдлиной 160 бит.Данный алгоритмпредполагаетсяиспользоватьв программеCapstone17.
Управлениеключами
Кроме выбораподходящейдля конкретнойИС криптографическойсистемы, важнаяпроблема — управлениеключами. Какбы ни быласложна и надежнасама криптосистема, она основанана использованииключей. Еслидля обеспеченияконфиденциальногообмена информациеймежду двумяпользователямипроцесс обменаключамитривиален, то в ИС, гдеколичествопользователейсоставляетдесятки исотни управлениеключами — серьезнаяпроблема.
Под ключевойинформациейпонимаетсясовокупностьвсех действующих в ИС ключей.Если не обеспеченодостаточнонадежноеуправлениеключевойинформацией, то завладевею, злоумышленникполучаетнеограниченныйдоступ ко всейинформации.
Управлениеключами — информационныйпроцесс, включающийв себя триэлемента:
генерацию ключей;
накопление ключей;
распределение ключей.
Рассмотрим, как они должныбыть реализованыдля того, чтобыобеспечитьбезопасностьключевойинформациив ИС.Генерацияключей
В самом началеразговорао криптографическихметодах былосказано, чтоне стоитиспользоватьнеслучайныеключи с цельюлегкости ихзапоминания.В серьезныхИС используютсяспециальныеаппаратныеи программныеметоды генерациислучайныхключей. Какправилоиспользуютдатчики ПСЧ.Однако степеньслучайностиих генерациидолжна бытьдостаточновысоким.Идеальнымгенераторамиявляютсяустройствана основе“натуральных”случайныхпроцессов.Например, появилисьсерийныеобразцыгенерацииключей наоснове белогорадиошума.Другим случайнымматематическимобъектомявляютсядесятичныезнаки иррациональныхчисел, например или е, которые вычисляютсяс помощью стандартныхматематическихметодов.
В ИС со среднимитребованиямизащищенностивполне приемлемыпрограммныегенераторыключей, которыевычисляют ПСЧкак сложнуюфункцию оттекущего времении (или) числа, введенногопользователем.Накоплениеключей
Под накоплениемключей понимаетсяорганизацияих хранения, учета и удаления.
Посколькуключ являетсясамым привлекательнымдля злоумышленникаобъектом, открывающимему путь кконфиденциальнойинформации, то вопросамнакопленияключей следуетуделять особоевнимание.
Секретныеключи никогдане должнызаписыватьсяв явном видена носителе, который можетбыть считанили скопирован.
В достаточносложной ИСодин пользовательможет работатьс большимобъемомключевойинформации, и иногда дажевозникаетнеобходимостьорганизациимини-баз данныхпо ключевойинформации.Такие базыданных отвечаютза принятие, хранение, учет и удалениеиспользуемыхключей.
Итак, каждаяинформацияоб используемыхключах должнахранитьсяв зашифрованномвиде. Ключи, зашифровывающиеключевуюинформациюназываютсямастер-ключами.Желательно, чтобы мастер-ключикаждый пользовательзнал наизусть, и не хранилих вообщена каких-либоматериальныхносителях.
Оченьважным условиембезопасностиинформацииявляетсяпериодическоеобновлениеключевойинформациив ИС. При этомпереназначатьсядолжны какобычные ключи, так и мастер-ключи.В особо ответственныхИС обновлениеключевойинформациижелательноделать ежедневно.
Вопрос обновленияключевойинформациисвязан и стретьим элементомуправленияключами — распределениемключей.Распределениеключей
Распределениеключей — самыйответственныйпроцесс вуправленииключами. Кнему предъявляютсядва требования:
Оперативность и точность распределения
Скрытность распределяемых ключей.
В последнеевремя заметенсдвиг в сторонуиспользованиякриптосистемс открытымключом, в которыхпроблемараспределенияключей отпадает.Тем не менеераспределениеключевойинформациив ИС требуетновых эффективныхрешений.
Распределениеключей междупользователямиреализуютсядвумя разнымиподходами:
1. Путем созданияодного линесколькихцентровраспределенияключей. Недостатоктакого подходасостоит втом, что в центрераспределенияизвестно, кому и какиеключи назначены и это позволяетчитать всесообщения, циркулирующиев ИС. Возможныезлоупотреблениясущественновлияют назащиту.
2. Прямой обменключами междупользователямиинформационнойсистемы. Вэтом случаепроблемасостоит втом, чтобынадежноудостоверитьподлинностьсубъектов.
В обоихслучаях должнабыть гарантированаподлинностьсеанса связи.Это можнообеспечитьдвумя способами:
1. Механизмзапроса-ответа, который состоитв следующем.Если пользовательА желает бытьуверенным, что сообщениякоторый онполучаетот В, не являютсяложными, онвключает впосылаемоедля В сообщениенепредсказуемыйэлемент (запрос).При ответепользовательВ должен выполнитьнекоторуюоперациюнад этим элементом(например, добавить1). Это невозможноосуществитьзаранее, таккак не известно, какое случайноечисло придетв запросе.После полученияответа срезультатамидействийпользовательА может бытьуверен, чтосеанс являетсяподлинным.Недостаткомэтого методаявляетсявозможностьустановленияхотя и сложнойзакономерностимежду запросоми ответом.
2. Механизмотметки времени(“временнойштемпель”).Он подразумеваетфиксациювремени длякаждогосообщения.В этом случаекаждый пользовательИС может знать, насколько“старым”являетсяпришедшеесообщение.
В обоихслучаях следуетиспользоватьшифрование, чтобы бытьуверенным, что ответпослан незлоумышленникоми штемпельотметки временине изменен.
При использованииотметок временивстает проблемадопустимоговременногоинтервалазадержкидля подтвержденияподлинностисеанса. Ведьсообщениес “временнымштемпелем”в принципене может бытьпереданомгновенно.Кроме этогокомпьютерныечасы получателяи отправителяне могут бытьабсолютносинхронизированы.Какое запаздывание“штемпеля”считатьподозрительным.
Поэтому вреальныхИС, напримерв системахоплаты кредитныхкарточекиспользуетсяименно второймеханизмустановленияподлинностии защиты отподделок.Используемыйинтервалсоставляетот одной донесколькихминут. Большоечисло известныхспособовкражи электронныхденег, основанона “вклинивании”в этот промежутокс подложнымизапросамина снятииденег.
Для обменаключами можноиспользоватькриптосистемыс открытымключом, используятот же алгоритмRSA.
Но весьма эффективнымоказался алгоритмДиффи-Хелмана, позволяющийдвум пользователямбез посредниковобменятьсяключом, которыйможет бытьиспользованзатем длясимметричногошифрования.АлгоритмДиффи-Хеллмана
Диффи и Хелманпредложилидля созданиякриптографическихсистем с открытымключом функциюдискретноговозведенияв степень.
Необратимостьпреобразованияв этом случаеобеспечиваетсятем, что достаточнолегко вычислитьпоказательнуюфункцию вконечномполе Галуасостоящимиз p элементов.(p — либо простоечисло, либопростое в любойстепени). Вычислениеже логарифмовв таких полях- значительноболее трудоемкаяоперация.
Еслиy=x,,1xp-1, где — фиксированныйэлемент поляGF(p), тоx=logy над GF(p). Имеяx, легко вычислитьy. Для этогопотребуется2 ln(x+y) операцийумножения.
Обратная задачавычисленияx изy будетдостаточносложной. Еслиp выбрано достаточноправильно, тоизвлечениелогарифмапотребуетвычислений, пропорциональных
L(p)= exp{ (ln p lnln p)0.5}
Для обменаинформациейпервый пользовательвыбирает случайноечислоx1, равновероятноеиз целых 1...p-1.Это число ондержит в секрете, а другомупользователюпосылает число
y1= xmod p
Аналогичнопоступает ивторой пользователь, генерируяx2и вычисливy2, отправляяего первомупользователю.В результатеэтого они могутвычислять k12= x1x2mod p.
Для того, чтобывычислить k12, первый пользовательвозводитy2в степеньx1.То же делаети второй пользователь.Таким образом, у обоих пользователейоказываетсяобщий ключ k12, который можноиспользоватьдля шифрованияинформацииобычными алгоритмами.В отличие оталгоритма RSA, данный алгоритмне позволяетшифроватьсобственноинформацию.
Не знаяx1 иx2, злоумышленникможет попытатьсявычислить k12, зная толькоперехваченныеy1 иy2. Эквивалентностьэтой проблемыпроблеме вычислениядискретногологарифма естьглавный и открытыйвопрос в системахс открытымключом. Простогорешения донастоящеговремени ненайдено. Так, если для прямогопреобразования1000-битных простыхчисел требуется2000 операций, тодля обратногопреобразования(вычислениялогарифма вполе Галуа) — потребуетсяоколо 1030 операций.
Как видно, привсей простотеалгоритмаДиффи-Хелмана, вторым егонедостаткомпо сравнениюс системой RSAявляется отсутствиегарантированнойнижней оценкитрудоемкостираскрытияключа.
Кроме того, хотя описанныйалгоритм позволяетобойти проблемускрытой передачиключа, необходимостьаутентификацииостается. Бездополнительныхсредств, одиниз пользователейне может бытьуверен, что онобменялсяключами именнос тем пользователем, который емунужен. Опасностьимитации в этомслучае остается.
продолжение
--PAGE_BREAK--
В качествеобобщениясказанногоо распределенииключей следуетсказать следующее.Задача управленияключамисводится кпоиску такогопротоколараспределенияключей, которыйобеспечивалбы:
возможность отказа от центра распределения ключей;
взаимное подтверждение подлинности участников сеанса;
подтверждение достоверности сеанса механизмом запроса-ответа, использование для этого программных или аппаратных средств;
использование при обмене ключами минимального числа сообщений.
Проблемыи перспективыкриптографическихсистемШифрованиебольших сообщенийи потоковданных
Эта проблемапоявиласьсравнительнонедавно споявлениемсредств мультимедиаи сетей свысокойпропускнойспособностью, обеспечивающихпередачумультимедийныхданных.
До сих порговорилосьо защитесообщений.При этом подними подразумеваласьскорее некотораятекстоваяили символическаяинформация.Однако всовременныхИС и информационныхсистемахначинаютприменятьсятехнологии, которые требуютпередачисущественнобольших объемовданных. Средитаких технологий:
факсимильная, видео и речевая связь;
голосовая почта;
системы видеоконференций.
Объем передаваемойинформацииразных типовможно представитьна условнойдиаграмме.
/>Объем
информации
/>
/>/>
Так какпередачаоцифрованнойзвуковой, графическойи видеоинформацииво многихслучаях требуетконфиденциальности, то возникаетпроблемашифрованияогромныхинформационныхмассивов.Для интерактивныхсистем типателеконференций, ведения аудиоили видеосвязи, такое шифрованиедолжно осуществлятьсяв реальноммасштабевремени ипо возможностибыть “прозрачным”для пользователей.
Это немыслимобез использованиясовременныхтехнологийшифрования.
Наиболеераспространеннымявляетсяпотоковоешифрованиеданных. Еслив описанныхранее криптосистемахпредполагалось, что на входеимеетсянекотороеконечноесообщение, к которомуи применяетсякриптографическийалгоритм, то в системахс потоковымшифрованиемпринцип другой.
Системазащиты неждет, когдазакончитсяпередаваемоесообщение, а сразу жеосуществляетего шифрованиеи передачу.
/>
Потоковоешифрованиеданных
Наиболееочевиднымявляетсяпобитовоесложениевходящейпоследовательности(сообщения)с некоторымбесконечнымили периодическимключом, получаемымнапример отгенератораПСП18.Примером стандартапотоковогошифрованияявляется RC4, разработанныйРивестом. Однако, техническиеподробностиэтого алгоритмадержатся всекрете19.
Другим, иногдаболее эффективнымметодомпотоковогошифрованияявляетсяшифрованиеблоками. Т.е.накапливаетсяфиксированныйобъем информации(блок), а затемпреобразованныйнекоторымкриптографическимметодомпередаетсяв канал связи.Использование“блуждающихключей”
Как былонеоднократноотмечено, проблемараспределенияключей являетсянаиболееострой в крупныхинформационныхсистемах.Отчасти этапроблемарешается(а точнееснимается)за счет использованияоткрытыхключей. Нонаиболеенадежныекриптосистемыс открытымключом типаRSA достаточнотрудоемки, а для шифрованиямультимедийныхданных и вовсене пригодны.
Оригинальныерешенияпроблемы “блуждающихключей” активноразрабатываютсяспециалистами.Эти системыявляютсянекоторымкомпромиссоммежду системамис открытымиключами иобычнымиалгоритмами, для которыхтребуетсяналичие одногои того же ключау отправителяи получателя.
Идеяметода достаточнопроста.
После того, как ключ использованв одном сеансепо некоторомуправилу онсменяетсядругим. Этоправило должнобыть известнои отправителю, и получателю.Зная правило, после полученияочередногосообщенияполучательтоже меняетключ. Еслиправило сменыключей аккуратнособлюдаетсяи отправителеми получателем, то в каждыймомент времениони имеютодинаковыйключ. Постояннаясмена ключазатрудняетраскрытиеинформациизлоумышленником.
Основнаязадача вреализацииэтого метода- выбор эффективногоправила сменыключей. Наиболеепростой путь- генерацияслучайногосписка ключей.Смена ключейосуществляетсяв порядкесписка. Однако, очевидносписок придетсякаким-то образомпередавать.
Другой вариант- использованиематематическихалгоритмов, основанныхна так называемыхперебирающихпоследовательностях.На множествеключей путемодной и тойже операциинад элементомполучаетсядругой элемент.Последовательностьэтих операцийпозволяетпереходитьот одногоэлемента кдругому, покане будет перебрановсе множество.
Наиболеедоступнымявляетсяиспользованиеполей Галуа.За счет возведенияв степеньпорождающегоэлементаможно последовательнопереходитьот одногочисла к другому.Эти числапринимаютсяв качествеключей.
Ключевойинформациейв данном случаеявляетсяисходныйэлемент, которыйперед началомсвязи долженбыть известени отправителюи получателю.
Надежностьтаких методовдолжна бытьобеспеченас учетомизвестностизлоумышленникуиспользуемогоправила сменыключей.
Интереснойи перспективнойзадачейявляетсяреализацияметода “блуждающихключей” недля двух абонентов, а для достаточнобольшой сети, когда сообщенияпересылаютсямежду всемиучастниками.Шифрование, кодированиеи сжатие информации
Этитри видапреобразованияинформациииспользуютсяв разных целях, что можнопредставитьв таблице.
Вид преобразования
Цель
Изменение объема информации после преобразования.
Шифрование
передача конфиденциальной информации;
обеспечение аутентификации и защиты от преднамеренных изменений; обычно не изменяется, увеличивается лишь в цифровых сигнатурах и подписях
Помехоустойчивое кодирование
защита от искажения помехами в каналах связи увеличивается
Сжатие (компрессия)
сокращение объема передаваемых или хранимых данных уменьшается
Как видноэти три видапреобразованияинформацииотчасти дополняютдруг друга иих комплексноеиспользованиепоможет эффективноиспользоватьканалы связидля надежнойзащиты предаваемойинформации.
Особенноинтереснымпредставляетсявозможностьобъединенияметодовкодированияи шифрования.Можно утверждать, что по сутикодирование- это элементарноешифрование, а шифрование- это элементарноепомехоустойчивоекодирование.
Другая возможность- комбинированиеалгоритмовшифрованияи сжатия информации.Задача сжатиясостоит в том, чтобы преобразоватьсообщение впределах одногои того же алфавитатаким образом, чтобы его длина(количествобукв алфавита)стала меньше, но при этомсообщение можнобыло восстановитьбез использованиякакой-то дополнительнойинформации.Наиболее популярныеалгоритмысжатия — RLE, коды Хаффмана, алгоритмЛемпеля-Зива.Для сжатияграфическойи видеоинформациииспользуютсяалгоритмы JPEGи MPEG.
Главное достоинствоалгоритмовсжатия с точкизрения криптографиисостоит в том, что они изменяютстатистикувходного текстав сторону еевыравнивания20.Так, в обычномтексте, сжатомс помощьюэффективногоалгоритма всесимволы имеютодинаковыечастотныехарактеристикии даже использованиепростых системышифрованиясделают текстнедоступнымдля криптоанализа.
Разработкаи реализациятаких универсальныхметодов — перспективасовременныхинформационныхсистем21.Реализациякриптографическихметодов
Проблемареализацииметодов защитыинформацииимеет двааспекта:
разработку средств, реализующих криптографические алгоритмы,
методику использования этих средств.
Каждый израссмотренныхкриптографическихметодов могутбыть реализованылибо программным, либо аппаратнымспособом.
Возможностьпрограммнойреализацииобуславливаетсятем, что всеметодыкриптографическогопреобразованияформальныи могут бытьпредставленыв виде конечнойалгоритмическойпроцедуры.
При аппаратнойреализациивсе процедурышифрованияи дешифрованиявыполняютсяспециальнымиэлектроннымисхемами.Наибольшеераспространениеполучилимодули, реализующиекомбинированныеметоды.
При этом непременнымкомпонентоввсех аппаратнореализуемыхметодовявляетсягаммирование.Это объясняетсятем, что методгаммированияудачно сочетаетв себе высокуюкриптостойкостьи простотуреализации.
Наиболеечасто в качествегенератораиспользуется широко известныйрегистр сдвигас обратнымисвязями(линейнымиили нелинейными).Минимальныйпериод порождаемойпоследовательностиравен 2N-1 бит.Для повышениякачествагенерируемойпоследовательностиможно предусмотретьспециальныйблок управленияработойрегистрасдвига. Такоеуправлениеможет заключаться, например, втом, что послешифрованияопределенногообъема информациисодержимоерегистрасдвига циклическиизменяется.
Другая возможностьулучшениякачествагаммированиязаключаетсяв использованиинелинейныхобратныхсвязей. Приэтом улучшениедостигаетсяне за счетувеличениядлины гаммы, а за счет усложнениязакона ееформирования, что существенноусложняеткриптоанализ.
Большинствозарубежныхсерийныхсредств шифрованияоснованона американскомстандартеDES. Отечественныеже разработки, такие как, например, устройствоКРИПТОН, используетотечественныйстандартшифрования.
Основнымдостоинствомпрограммныхметодовреализациизащиты являетсяих гибкость, т.е. возможностьбыстрогоизмененияалгоритмовшифрования.
Основным женедостаткомпрограммнойреализацииявляетсясущественноменьшеебыстродействиепо сравнениюс аппаратнымисредствами(примерно в10 раз).
Впоследнеевремя сталипоявлятьсякомбинированныесредствашифрования, так называемыепрограммно-аппаратныесредства. Вэтом случаев компьютереиспользуетсясвоеобразный“криптографическийсопроцессор”22 — вычислительноеустройство, ориентированноена выполнениекриптографическихопераций(сложениепо модулю, сдвиг и т.д.). Меняяпрограммноеобеспечениядля такогоустройства, можно выбиратьтот или инойметод шифрования.Такой методобъединяетв себе достоинствапрограммныхи аппаратныхметодов.
Такимобразом, выбортипа реализациикриптозащитыдля конкретнойИС в существенноймере зависитот ее особенностейи должен опиратьсяна всестороннийанализ требований, предъявляемыхк системезащиты информации.Заключение
В книге сделанобзор наиболеераспространенныхв настоящеевремя методовкриптографическойзащиты информации.
Выбор дляконкретныхИС должен бытьоснован наглубокоманализе слабыхи сильныхсторон техили иных методовзащиты. Обоснованныйвыбор той илииной системызащиты вобщем-то долженопиратьсяна какие-токритерииэффективности.К сожалению, до сих пор неразработаныподходящиеметодикиоценки эффективностикриптографическихсистем.
Наиболеепростой критерийтакой эффективности— вероятностьраскрытияключа илимощностьмножестваключей (М). Посути это то жесамое, что икриптостойкость.Для ее численнойоценки можноиспользоватьтакже и сложностьраскрытия шифрапутем переборавсех ключей.
Однако, этоткритерий неучитываетдругих важныхтребованийк криптосистемам:
невозможность раскрытия или осмысленной модификации информации на основе анализа ее структуры,
совершенство используемых протоколов защиты,
минимальный объем используемой ключевой информации,
минимальная сложность реализации (в количестве машинных операций), ее стоимость,
высокая оперативность.
Желательноконечноиспользованиенекоторыхинтегральныхпоказателей, учитывающихуказанныефакторы.
Для учетастоимости, трудоемкостии объемаключевойинформацииможно использоватьудельныепоказатели- отношениеуказанныхпараметровк мощностимножестваключей шифра.
Частоболее эффективнымпри выбореи оценкекриптографическойсистемыявляетсяиспользованиеэкспертныхоценок иимитационноемоделирование.
В любомслучае выбранныйкомплекскриптографическихметодов долженсочетатькак удобство, гибкость иоперативностьиспользования, так и надежнуюзащиту отзлоумышленниковциркулирующейв ИС информации.
Содержание