Смекни!
smekni.com

Криптография (стр. 2 из 8)

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

· чис­ло опе­ра­ций, не­об­хо­ди­мых для рас­шиф­ро­вы­ва­ния ин­фор­ма­ции пу­тем пе­ре­бо­ра все­воз­мож­ных ключей долж­но иметь стро­гую ниж­нюю оцен­ку и вы­хо­дить за пре­де­лы воз­мож­но­стей со­вре­мен­ных ком­пь­ю­те­ров (с учетом возможности использования сетевых вычислений);

· зна­ние ал­го­рит­ма шиф­ро­ва­ния не долж­но вли­ять на на­деж­ность за­щи­ты;

· не­зна­чи­тель­ное из­ме­не­ние клю­ча долж­но при­во­дить к су­ще­ст­вен­но­му из­ме­не­нию ви­да за­шиф­ро­ван­но­го сообщения да­же при ис­поль­зо­ва­нии од­но­го и то­го же клю­ча;

· струк­тур­ные эле­мен­ты ал­го­рит­ма шиф­ро­ва­ния долж­ны быть не­из­мен­ны­ми;

· до­пол­ни­тель­ные би­ты, вво­ди­мые в сообщение в про­цес­се шиф­ро­ва­ния, должен быть пол­но­стью и на­деж­но скры­ты в шиф­ро­ван­ном тек­сте;

· дли­на шиф­ро­ван­но­го тек­ста долж­на быть рав­ной дли­не ис­ход­но­го тек­ста;

· не долж­но быть про­стых и лег­ко ус­та­нав­ли­вае­мых зависимостью ме­ж­ду клю­ча­ми, по­сле­до­ва­тель­но ис­поль­зуе­мы­ми в про­цес­се шиф­ро­ва­ния;

· лю­бой ключ из мно­же­ст­ва возможных дол­жен обес­пе­чи­вать на­деж­ную за­щи­ту ин­фор­ма­ции;

· ал­го­ритм должен до­пус­кать как про­грамм­ную, так и ап­па­рат­ную реа­ли­за­цию, при этом из­ме­не­ние длины к­лю­ча не долж­но вес­ти к ка­че­ст­вен­но­му ухуд­ше­нию алгоритма шифрования.

1.Симметричные криптосистемы

1.1. Классификация крип­то­гра­фи­че­ских ме­то­дов

Все мно­го­об­ра­зие су­ще­ст­вую­щих крип­то­гра­фи­че­ских ме­то­дов мож­но све­сти к сле­дующим клас­сам пре­об­ра­зо­ва­ний:


Перестановки


Рис.1.1.Классы преобразований симметричных криптосистем.

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

Пе­ре­ста­нов­ки - не­слож­ный ме­тод крип­то­гра­фи­че­ско­го пре­об­ра­зо­ва­ния. Ис­поль­зу­ет­ся как пра­ви­ло в со­че­та­нии с дру­ги­ми ме­то­да­ми.

Гам­ми­ро­ва­ние - этот ме­тод за­клю­ча­ет­ся в на­ло­же­нии на ис­ход­ный текст не­ко­то­рой псев­до­слу­чай­ной по­сле­до­ва­тель­но­сти, ге­не­ри­руе­мой на ос­но­ве клю­ча.

Блочные шифры со­бой по­сле­до­ва­тель­ность (с воз­мож­ным по­вто­ре­ни­ем и че­ре­до­ва­ни­ем) ос­нов­ных ме­то­дов пре­об­ра­зо­ва­ния, при­ме­няе­мую к блоку (части) шиф­руе­мого­ тек­ста. Блочные шифры на прак­ти­ке встре­ча­ют­ся ча­ще, чем “чис­тые” пре­об­ра­зо­ва­ния то­го или ино­го клас­са в си­лу их бо­лее вы­со­кой крип­то­стой­ко­сти. Рос­сий­ский и аме­ри­кан­ский стан­дар­ты шиф­ро­ва­ния ос­но­ва­ны имен­но на этом классе шифров.

Перестановкойs набора целых чисел (0,1,...,N-1) называется его переупорядочение. Для того чтобы показать, что целое i пере­мещено из позиции i в позицию s(i), где 0 £(i) < n, будем использовать запись

s=(s(0), s(1),..., s(N-1)).

Число перестановок из (0,1,...,N-1) равно n!=1*2*...*(N-1)*N. Введем обозначение s для взаимно-однозначного отображения (гомо­морфизма) набора S={s0,s1,...,sN-1}, состоящего из n элементов, на себя.

s: S ® S

s: si ®ss(i), 0 £ i < n

Будем говорить, что вэтом смысле s является перестановкой элементов S. И, наоборот, автоморфизм S соответствует пере­становке целых чисел (0,1,2,.., n-1).

Криптографическим преобразованием T для алфавита Zm называется последовательность автоморфизмов: T={T(n):1£n<¥}

T(n): Zm,n®Zm,n, 1£n<¥

Каждое T(n)является, таким образом, перестановкой n-грамм из Zm,n.

Поскольку T(i) и T(j) могут быть определены независимо при i¹j, число криптографических преобразований исходного текста размерности n равно (mn)![1]. Оно возрастает непропорционально при увеличении m и n: так, при m=33и n=2 число различных криптографических преобразований равно 1089!. Отсюда следует, что потенциально существует большое число отображений исходного текста в шифрованный.

Практическая реализация криптогра­фических систем требует, чтобы преобразо­вания {Tk: kÎK} были определены алгоритмами, зависящими от относительно небольшого числа параметров (ключей).

1.2. Сис­те­мы под­ста­но­вок

ОпределениеПодстановкой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.

1.3. Подстановка Цезаря

Подстановка Цезаря является самым простым вариантом подстановки. Она относится к группе моноалфавитных подстановок.

Определение. Подмножество Cm={Ck: 0£k<m} симметрической группы SYM(Zm), содержащее m подстановок

Ck: j®(j+k) (mod m), 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: Применение подстановки Цезвря.