Реферат: Криптография

/>

 

 

Содержание

От автора___________________________________________________________________ 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: sss(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 выбирает пару различных простых pqi и рассчитывает пару целых (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

Число операций Примечания 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<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 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] — вы­чис­ли­тель­ное уст­рой­ст­во, ори­ен­ти­ро­ван­ное на вы­пол­не­ние крип­то­гра­фи­че­скихопе­ра­ций (сло­же­ние по мо­ду­лю, сдвиг и т.д.). Ме­няя про­грамм­ное обес­пе­че­ниядля та­ко­го уст­рой­ст­ва, мож­но вы­би­рать тот или иной ме­тод шиф­ро­ва­ния.Та­кой ме­тод объ­е­ди­ня­ет в се­бе дос­то­ин­ст­ва про­грамм­ных и ап­па­рат­ныхме­то­дов.

Та­кимоб­ра­зом, вы­бор ти­па реа­ли­за­ции крип­то­за­щи­ты для кон­крет­ной ИС в су­ще­ст­вен­нойме­ре за­ви­сит от ее осо­бен­но­стей и дол­жен опи­рать­ся на все­сто­рон­нийана­лиз тре­бо­ва­ний, предъ­яв­ляе­мых к сис­те­ме за­щи­ты ин­фор­ма­ции.

/>/>За­клю­че­ние

В книге сде­лан об­зор наи­бо­леерас­про­стра­нен­ных в на­стоя­щее вре­мя ме­то­дов крип­то­гра­фи­че­ской за­щи­тыин­фор­ма­ции.

 Выбор для кон­крет­ных ИС дол­женбыть ос­но­ван на глу­бо­ком ана­ли­зе сла­бых и силь­ных сто­рон тех или иныхме­то­дов за­щи­ты. Обос­но­ван­ный вы­бор той или иной сис­те­мы за­щи­ты в об­щем-тодол­жен опи­рать­ся на ка­кие-то кри­те­рии эф­фек­тив­но­сти. К со­жа­ле­нию,до сих пор не раз­ра­бо­та­ны под­хо­дя­щие ме­то­ди­ки оцен­ки эф­фек­тив­но­стикрип­то­гра­фи­че­ских сис­тем.

Наи­бо­лее про­стой кри­те­рий та­койэф­фек­тив­но­сти — ве­ро­ят­ность рас­кры­тия клю­ча или мощ­ностьмно­же­ст­ва клю­чей (М). По сути это то же самое, что и криптостойкость.Для ее численной оценки можно использовать также и сложность раскрытия шифрапутем перебора всех ключей.

Од­на­ко, этот кри­те­рий не учи­ты­ва­етдругих важных требований к криптосистемам:

*  невоз­мож­ность рас­кры­тия или ос­мыс­лен­ной мо­ди­фи­ка­ции ин­фор­ма­циина ос­но­ве ана­ли­за ее струк­ту­ры,

*  со­вер­шен­ст­во ис­поль­зуе­мых про­то­ко­лов за­щи­ты,

*  минимальный объ­ем ис­поль­зуе­мой клю­че­вой ин­фор­ма­ции,

*  минимальная слож­ность реа­ли­за­ции (в ко­ли­че­ст­ве ма­шин­ных опе­ра­ций),ее стои­мость,

*  высокая опе­ра­тив­ность.

Же­ла­тель­ноко­неч­но ис­поль­зо­ва­ние не­ко­то­рых ин­те­граль­ных по­ка­за­те­лей, учи­ты­ваю­щихука­зан­ные фак­то­ры.

Для уче­та стои­мо­сти, тру­до­ем­ко­стии объ­е­ма клю­че­вой ин­фор­ма­ции мож­но ис­поль­зо­вать удель­ные по­ка­за­те­ли- от­но­ше­ние ука­зан­ных па­ра­мет­ров к мощ­но­сти мно­же­ст­ва клю­чей шиф­ра.

Час­тобо­лее эф­фек­тив­ным при вы­бо­ре и оцен­ке крип­то­гра­фи­че­ской сис­те­мыяв­ля­ет­ся ис­поль­зо­ва­ние экс­перт­ных оце­нок и ими­та­ци­он­ное мо­де­ли­ро­ва­ние.

 ëþ­áîìñëó­÷àå âû­áðàí­íûéêîì­ïëåêñêðèï­òî­ãðà­ôè­÷å­ñêèõìå­òî­äîâ äîë­æåíñî­÷å­òàòüêàê óäîá­ñò­âî,ãèá­êîñòü èîïå­ðà­òèâ­íîñòüèñ­ïîëü­çî­âà­íèÿ,òàê è íà­äåæ­íóþçà­ùè­òó îòçëî­óìûø­ëåí­íè­êîâöèð­êó­ëè­ðóþ­ùåéâ ÈÑ èí­ôîð­ìà­öèè.

еще рефераты
Еще работы по информатике, программированию