Криптографические методы
Криптографические
методы
Содержание.
В в е д е н и е 3
1.Симметричные
криптосистемы 8
1.1.
Классификация криптографических методов 8
1.2.
Системы подстановок 9
1.3.
Подстановка Цезаря 11
1.4.Многоалфавитные
системы. Системы одноразового использования 12
1.5.Системы
шифрования Вижинера 14
1.6.
Гаммирование 16
1.7.
Шифрование с помощью аналитических преобразований 17
1.8.
Криптосистемы на основе эллиптических уравнений 18
2.
Эллиптические фунции – реализация метода открытых ключей 20
2.1.Системы
с открытым ключом 20
2.2.
Типы криптографических услуг 22
2.3.
Цифровые представления 24
2.4.
Эллиптическая криптография кривой. 24
2.5.Электронные
платы и код с исправлением ошибок 25
3.Описание
алгоритма 27
3.1.
Целочисленная проблема факторизации (IFP): RSA и Рабин-Уильям 27
3.1.1. Описание
задачи 27
3.1.2.
Разложения на множетели 28
3.2.Дискретная
проблема логарифма (процессор передачи данных): 29
3.2.1
Описание задачи 29
3.2.2.
Разложение на множетели 30
3.3.Эллиптическая
кривая дискретная проблема логарифма (ECDLP) 31
3.3.1.
Описание задачи 31
3.3.2.
Разложения на множетели 33
3.3.3.
Программные разложения фунции на множетели 34
3.3.4
Выбор основного поля Fq и эллиптической
кривой E 35
3.3.5.Стандарты
кода с исправлением ошибок 36
ЗАКЛЮЧЕНИЕ. 38
Список
литературы. 40
В
в е д е н и е
Проблема защиты информации
путем ее преобразования, исключающего ее прочтение посторонним лицом
волновала человеческий ум с давних времен. История криптографии -
ровесница истории человеческого языка. Более того, первоначально письменность
сама по себе была криптографической системой, так как в древних обществах ею
владели только избранные. Священные книги Древнего Египта, Древней Индии
тому примеры.
С широким распространением
письменности криптография стала формироваться как самостоятельная наука. Первые
криптосистемы встречаются уже в начале нашей эры. Так, Цезарь в своей переписке
использовал уже более менее систематический шифр, получивший его имя.
Бурное развитие криптографические
системы получили в годы первой и второй мировых войн. Начиная с
послевоенного времени и по нынешний день появление вычислительных средств
ускорило разработку и совершенствование криптографических методов.
Криптографические методы защиты
информации в автоматизированных системах могут применяться как для защиты
информации, обрабатываемой в ЭВМ или хранящейся в различного типа ЗУ, так и для
закрытия информации, передаваемой между различными элементами системы по линиям
связи. Криптографическое преобразование как метод предупреждения
несационированного доступа к информации имеет многовековую историю. В настоящее
время разработано большое колличество различных методов шифрования, созданы
теоретические и практические основы их применения. Подавляющие число этих
методов может быть успешно использовано и для закрытия информации. Под
шифрованием в данном едаваемых сообщений, хранение информации (документов,
баз данных) на носителях в зашифрованном виде.
Почему проблема
использования криптографических методов в информационных системах
(ИС) стала в настоящий момент особо актуальна?
С одной стороны, расширилось
использование компьютерных сетей, в частности глобальной сети
Интернет, по которым передаются большие объемы информации государственного,
военного, коммерческого и частного характера, не допускающего
возможность доступа к ней посторонних лиц.
С другой стороны, появление
новых мощных компьютеров, технологий сетевых и нейронных вычислений
сделало возможным дискредитацию криптографических систем еще недавно
считавшихся практически не раскрываемыми.
Проблемой
защиты информации путем ее преобразования занимается криптология (kryptos
- тайный, logos
- наука). Криптология разделяется на два направления - криптографию
и криптоанализ. Цели этих направлений прямо противоположны.
Криптография
занимается поиском и исследованием математических методов преобразования
информации.
Сфера интересов криптоанализа
- исследование возможности расшифровывания информации без знания
ключей.
Современная
криптография включает в себя четыре крупных раздела:
1. Симметричные криптосистемы.
2. Криптосистемы с открытым ключом.
3. Системы электронной подписи.
4. Управление ключами.
Основные направления использования
криптографических методов - передача конфиденциальной информации по каналам
связи (например, электронная почта), установление подлинности передаваемых
сообщений ,хранение информации (документов,баз данных) на носителях в
зашифрованном виде.
Криптографические методы защиты
информации в автоматизированных системах могут применяться как для защиты
информации, обрабатываемой в ЭВМ или хранящейся в различного типа ЗУ, так и для
закрытия информации, передаваемой между различными элементами системы по линиям
связи. Криптографическое преобразование как метод предупреждения
несационированного доступа к информации имеет многовековую историю. В настоящее
время разработано большое колличество различных методов шифрования, созданы
теоретические и практические основы их применения. Подавляющие число этих
методов может быть успешно использовано и для закрытия информации.
Итак, криптография дает возможность
преобразовать информацию таким образом, что ее прочтение (восстановление)
возможно только при знании ключа.
В качестве информации, подлежащей
шифрованию и дешифрованию, будут рассматриваться тексты, построенные на
некотором алфавите. Под этими терминами понимается следующее.
Алфавит
- конечное множество используемых для кодирования информации знаков.
Текст
- упорядоченный набор из элементов алфавита.
В качестве примеров алфавитов,
используемых в современных ИС можно привести следующие:
*
алфавит
Z33
- 32 буквы русского алфавита и пробел;
*
алфавит
Z256
- символы, входящие в стандартные коды ASCII
и КОИ-8;
*
бинарный
алфавит - Z2 = {0,1};
*
восьмеричный алфавит или шестнадцатеричный алфавит;
Шифрование -
преобразовательный процесс: исходный текст, который носит
также название открытого текста, заменяется шифрованным
текстом.
Дешифрование
- обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется
в исходный.
Рис. 1. Процедура шифрования файлов.
Ключ - информация,
необходимая для беспрепятственного шифрования и дешифрования
текстов.
Криптографическая
система представляет собой семейство T
преобразований
открытого текста. Члены этого семейства индексируются, или обозначаются
символом k; параметр k
является ключом. Пространство ключей K
- это набор возможных значений ключа. Обычно ключ представляет собой
последовательный ряд букв алфавита.
Криптосистемы разделяются на симметричные
и с открытым ключом.
В симметричных криптосистемах
и для шифрования, и для дешифрования используется один и тот же ключ.
В системах с открытым ключом
используются два ключа - открытый и закрытый, которые
математически связаны друг с другом. Информация шифруется с помощью открытого
ключа, который доступен всем желающим, а расшифровывается с помощью закрытого
ключа, известного только получателю сообщения.
Электронной (цифровой)
подписью называется присоединяемое к тексту его
криптографическое преобразование, которое позволяет при получении текста другим
пользователем проверить авторство и подлинность сообщения.
Криптостойкостью называется
характеристика шифра, определяющая его стойкость к дешифрованию
без знания ключа (т.е. криптоанализу). Имеется несколько показателей
криптостойкости, среди которых:
· количество
всех возможных ключей;
· среднее
время, необходимое для криптоанализа.
Преобразование Tk
определяется соответствующим алгоритмом и значением параметра
k. Эффективность шифрования
с целью защиты информации зависит от сохранения тайны ключа и
криптостойкости шифра.
Процесс криптографического
закрытия данных может осуществляться как программно, так и аппаратно.
Аппаратная реализация отличается существенно большей стоимостью,
однако ей присущи и преимущества: высокая производительность,
простота, защищенность и т.д. Программная реализация более практична,
допускает известную гибкость в использовании.
Для современных
криптографических систем защиты информации сформулированы следующие
общепринятые требования:
·
зашифрованное
сообщение должно поддаваться чтению только при наличии ключа;
·
число
операций, необходимых для определения использованного ключа шифрования
по фрагменту шифрованного сообщения и соответствующего ему открытого
текста, должно быть не меньше общего числа возможных ключей;
·
число
операций, необходимых для расшифровывания информации путем перебора
всевозможных ключей должно иметь строгую нижнюю оценку и выходить за
пределы возможностей современных компьютеров (с учетом возможности
использования сетевых вычислений);
·
знание
алгоритма шифрования не должно влиять на надежность защиты;
·
незначительное
изменение ключа должно приводить к существенному изменению вида
зашифрованного сообщения даже при использовании одного и того же
ключа;
·
структурные
элементы алгоритма шифрования должны быть неизменными;
·
дополнительные
биты, вводимые в сообщение в процессе шифрования, должен быть полностью
и надежно скрыты в шифрованном тексте;
·
длина
шифрованного текста должна быть равной длине исходного текста;
·
не
должно быть простых и легко устанавливаемых зависимостью между ключами,
последовательно используемыми в процессе шифрования;
·
любой
ключ из множества возможных должен обеспечивать надежную защиту информации;
· алгоритм
должен допускать как программную, так и аппаратную реализацию, при
этом изменение длины ключа не должно вести к качественному ухудшению
алгоритма шифрования.
Все многообразие существующих
криптографических методов можно свести к следующим классам преобразований:
Перестановки
Рис.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)![i].
Оно возрастает непропорционально при увеличении 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)
(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: Применение подстановки
Цезвря.
При своей несложности система легко
уязвима. Если злоумышленник имеет
1) шифрованный и соответствующий
исходный текст или
2) шифрованный текст выбранного
злоумышленником исходного текста,
то определение ключа и дешифрование
исходного текста тривиальны.
Более
эффективны обобщения подстановки Цезаря - шифр Хилла и шифр Плэйфера.
Они основаны на подстановке не отдельных символов, а 2-грамм (шифр Плэйфера)
или n-грамм[ii]
(шифр Хилла). При более высокой криптостойкости они значительно сложнее для
реализации и требуют достаточно большого количества ключевой информации.
Слабая криптостойкость
моноалфавитных подстановок преодолевается с применением подстановок
многоалфавитных.
Многоалфавитная
подстановка определяется ключом 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)
(mod m) 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
|
17
|
10
|
14
|
13
|
5
|
23
|
13
|
27
|
9
|
32
|
10
|
11
|
30
|
ЩРДЪАТТССЦЪЫДФЬП
|
25
|
13
|
4
|
26
|
0
|
18
|
17
|
17
|
22
|
26
|
27
|
4
|
20
|
28
|
15
|
Исходный текст невозможно
восстановить без ключа.
Наложение белого
шума в виде бесконечного ключа на исходный текст меняет статистические
характеристики языка источника. Системы одноразового использования
теоретически не расшифруемы[iii],
так как не содержат достаточной информации для восстановления текста.
Почему же эти системы неприменимы
для обеспечения секретности при обработке информации? Ответ простой - они
непрактичны, так как требуют независимого выбора значения ключа для каждой
буквы исходного текста. Хотя такое требование может быть и не слишком трудным
при передаче по прямому кабелю Москва - Нью-Йорк, но для информационных оно
непосильно, поскольку там придется шифровать многие миллионы знаков.
Посмотрим, что получится, если
ослабить требование шифровать каждую букву исходного текста отдельным значением
ключа.
Начнем с конечной
последовательности ключа
k = (k0 ,k1
,...,kn),
которая называется ключом
пользователя, и продлим ее до бесконечной последовательности, повторяя
цепочку. Таким образом, получим рабочий ключ
k = (k0
,k1 ,...,kn), kj = k(j
mod 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
= pi
mod r. Следует признать, что и
многоалфавитные подстановки в принципе доступны криптоаналитическому
исследованию. Криптостойкость многоалфавитных систем резко убывает с
уменьшением длины ключа.
Тем не менее такая система как шифр
Вижинера допускает несложную аппаратную или программную реализацию и при
достаточно большой длине ключа может быть использован в современных ИС.
Гаммирование является также
широко применяемым криптографическим преобразованием. На самом
деле граница между гаммированием и использованием бесконечных
ключей и шифров Вижинера, о которых речь шла выше, весьма условная.
Принцип шифрования гаммированием
заключается в генерации гаммы шифра с помощью датчика псевдослучайных
чисел и наложении полученной гаммы на открытые данные обратимым
образом (например, используя сложение по модулю 2).
Процесс дешифрования данных
сводится к повторной генерации гаммы шифра при известном ключе и наложении
такой гаммы на зашифрованные данные.
Полученный зашифрованный
текст является достаточно трудным для раскрытия в том случае, если
гамма шифра не содержит повторяющихся битовых последовательностей.
По сути дела гамма шифра должна изменяться случайным образом для каждого
шифруемого слова. Фактически же, если период гаммы превышает длину
всего зашифрованного текста и неизвестна никакая часть исходного
текста, то шифр можно раскрыть только прямым перебором (пробой на
ключ). Криптостойкость в этом случае определяется размером ключа.
Метод гаммирования становится
бессильным, если злоумышленнику становится известен фрагмент исходного
текста и соответствующая ему шифрограмма. Простым вычитанием по
модулю получается отрезок ПСП и по нему восстанавливается вся последовательность.
Злоумышленники может сделать это на основе догадок о содержании исходного
текста. Так, если большинство посылаемых сообщений начинается со
слов “СОВ.СЕКРЕТНО”, то криптоанализ всего текста значительно облегчается.
Это следует учитывать при создании реальных систем информационной
безопасности.
Достаточно
надежное закрытие информации может быть обеспечено при использовании для
шифрования некоторых аналитических преобразований. Для этого нужно использовать
методы алгебры матриц , например , умножение матрицы на вектор по правилу:
||
aij ||
bj = cj =S aij
bj
Если матрицу || aij
||
использовать в качестве ключа , а вместо компонента вектора bj подставить
символы текста , то компоненты вектора cj будут представлять собой символы
зашифрованного текста.
Приведем пример , взяв в качестве ключа квадратную матрицу третьего порядка
14 8 3
8 5 2
3 2 1
Заменим буквы алфавита цифрами, соответствующими порядковому номеру в алфавите.
Тогда отрывку текста ВАТАЛА соответствует последовательность номеров
3,0,19,0,12,0. По принятому алгоритму шифрования выполним необходимые действия:
14
8 3 3 99 14 8 3
0 96
8
5 2 * 0 = 62 ; 8 5 2 * 12
= 60
3
2 1 19 28 3 2 1
0 24
При этом зашифрованый текст будет иметь вид:99,62,28,96,60,24.
Расшифрование
осуществляетсяс использованием того же правила умножения матрицы на вектор,
только в качестве основы берется матрица, обратная той, с помощью которой
осуществляется закрытие, а в качестве вектора-самножителя – соответствующие
колличество символов закрытого текста; тогда значениями вектора-результата
будут цифровые эквиваленты знаков открытого текста. Обратной к данной
называется матрица, полущающая из так называемой присоединенной матрицы
делением всех ее элементов на определитель данной матрицы. В свою очередь
присоединенной называется матрица, составленная из алгеброических дополнений А
,к элементам данной матрицы, которые вычисляются по формуле: Aij =
(-1)^i+j Dij ,
где Dij
– определитель матрицы, получаемый вычеркиванием i-й
ее строки и j-го столбца.
Определителем же как известно, называется алгеброическая сумма n!
членов (для определения n-ого
порядка), составленная следующим образом: членами служат всевозможные
произведения n элементов матрицы,
взятых по одному в каждой строке и в каждом столбце, причем член суммы берется
со знаком ''+'', если его индексы составлят подставку, и со знаком ''-'' - в
противоположном случае. Для матрицы третьего порядка, например, определитель
вычисляется по следующей формуле:
D=а11а22а33+а12а23а31+а13а21а32-а11а23а32-а12а21а33-а13а22а31.
Тогда
процесс раскрытия выглядит так:
1
-2 1 99
1*99-2*62+1*28 3
-2
5 -4 * 62 = -2*99+5*62-4*28 = 0
1
-4 6 28
1*99-4*62+6*28 19
1 -2 1
96 1*96-2*60+1*24 0
2
5 -4 * 60 = -2*96+5*60-4*24 =
12
1
-4 6 24 1*96-4*60+6*24
0
Таким образом, получили следующюю последовательность знаков раскрытого
текста:3,0,19,0,12,0, что соответствует исходному тексту. Этот метод шифрования
является формальнным , что позволяет легко реализовать его программными
средствами.
Эллиптические
кривые - математический объект, который может определен
над любым полем (конечным, действительным, рациональным или комплексным). В
криптографии обычно используются конечные поля. Эллиптическая кривая есть
множество точек (x,y), удовлетворяющее
следующему уравнению:
y2 = x3 + ax + b,
а также бесконечно удаленная точка.
Для точек на кривой довольно легко вводится операция сложения, которая играет
ту же роль, что и операция умножения в криптосистемах RSA и Эль-Гамаля.
В реальных криптосистемах на базе
эллиптических уравнений используется уравнение
y2 = x3 + ax + b mod p,
где р - простое.
Проблема дискретного логарифма на
эллиптической кривой состоит в следующем: дана точка G на эллиптической
кривой порядка r
(количество точек на кривой) и другая точка Y на этой же кривой.
Нужно найти единственную точку x такую, что Y = xG, то есть Y
есть
х-я степень G.
Как бы ни были сложны и надежны
криптографические системы - их слабое мест при практической реализации
- проблема распределения ключей. Для того, чтобы был возможен
обмен конфиденциальной информацией между двумя субъектами ИС,
ключ должен быть сгенерирован одним из них, а затем каким-то образом
опять же в конфиденциальном порядке передан другому. То есть , в общем
случае для передачи ключа опять же требуется использование какой-то
криптосистемы.
Для решения этой проблемы на основе
результатов, полученных классической и современной алгеброй, были
предложены системы с открытым ключом.
Суть их состоит в том, что каждым
адресатом ИС генерируются два ключа, связанные между собой по определенному
правилу. Один ключ объявляется открытым, а другой закрытым.
Открытый ключ публикуется и доступен любому, кто желает послать сообщение
адресату. Секретный ключ сохраняется в тайне.
Исходный текст шифруется открытым
ключом адресата и передается ему. Зашифрованный текст в принципе не
может быть расшифрован тем же открытым ключом. Дешифрование сообщение
возможно только с использованием закрытого ключа, который известен
только самому адресату.
Рис.2.1.Реализация
процедуры шифрования с открытым ключом.
Криптографические системы с
открытым ключом используют так называемые необратимые или односторонние
функции, которые обладают следующим свойством: при заданном значении x относительно
просто вычислить значение f(x), однако если y=f(x), то нет простого пути
для вычисления значения x.
Множество классов необратимых
функций и порождает все разнообразие систем с открытым ключом. Однако
не всякая необратимая функция годится для использования в реальных
ИС.
В самом определении необратимости
присутствует неопределенность. Под необратимостью понимается не
теоретическая необратимость, а практическая невозможность вычислить обратное
значение используя современные вычислительные средства за обозримый интервал
времени.
Поэтому чтобы гарантировать
надежную защиту информации, к системам с открытым ключом (СОК)
предъявляются два важных и очевидных требования:
1. Преобразование исходного
текста должно быть необратимым и исключать его восстановление на основе
открытого ключа.
2. Определение закрытого ключа
на основе открытого также должно быть невозможным на современном
технологическом уровне. При этом желательна точная нижняя оценка
сложности (количества операций) раскрытия шифра.
Алгоритмы шифрования с открытым
ключом получили широкое распространение в современных информационных
системах. Так, алгоритм RSA стал мировым стандартом де-факто для открытых
систем и рекомендован МККТТ.
Вообще же все предлагаемые сегодня
криптосистемы с открытым ключом опираются на один из следующих типов
необратимых преобразований:
1. Разложение больших чисел ан простые
множители.
2. Вычисление логарифма в конечном
поле.
3. Вычисление корней алгебраических
уравнений.
Здесь же следует отметить, что
алгоритмы криптосистемы с открытым ключом (СОК) можно использовать в
трех назначениях.
1. Как самостоятельные средства
защиты передаваемых и хранимых данных.
2. Как средства для распределения
ключей. Алгоритмы СОК более трудоемки, чем традиционные криптосистемы.
Поэтому часто на практике рационально с помощью СОК распределять
ключи, объем которых как информации незначителен. А потом с помощью
обычных алгоритмов осуществлять обмен большими информационными
потоками.
3. Средства аутентификации
пользователей. Об этом будет рассказано в главе
«Электронная подпись».
Ниже рассматриваются наиболее
распространенные системы с открытым ключом.
Несмотря на довольно большое
число различных СОК, наиболее популярна - криптосистема RSA, разработанная в
1977 году и получившая название в честь ее создателей: Рона Ривеста[iv],
Ади Шамира и Леонарда Эйдельмана.
Они воспользовались тем фактом,
что нахождение больших простых чисел в вычислительном отношении
осуществляется легко, но разложение на множители произведения
двух таких чисел практически невыполнимо. Доказано (теорема Рабина),
что раскрытие шифра RSA эквивалентно такому разложению. Поэтому
для любой длины ключа можно дать нижнюю оценку числа операций для раскрытия
шифра, а с учетом производительности современных компьютеров оценить
и необходимое на это время.
Возможность гарантированно
оценить защищенность алгоритма RSA стала одной из причин популярности
этой СОК на фоне десятков других схем. Поэтому алгоритм RSA используется
в банковских компьютерных сетях, особенно для работы с удаленными
клиентами (обслуживание кредитных карточек).
В настоящее время алгоритм RSA
используется во многих стандартах, среди которых SSL, S-HHTP, S-MIME, S/WAN, STT и
PCT.
2.2. Типы криптографических услуг
Сегодня безопасные решения используют
некоторую комбинацию из пяти различных криптографических услуг. Эти услуги:
Проверка пользователя
– введением пути в оперативную транзакцию, пользователь подтверждает, что это
именно он.
Идентификация
Начала координат Данных - обеспечение источника сообщения.
Целостность Данных
- обеспечение сохранения данных неправомочными сторонами.
Не отказ - получатель
транзакции способен демонстрировать нейтральному третьему лицу, что требуемый
передатчик действительно посылал транзакцию.
Существуют два главных типа
криптографии симметрично - ключевые и шифрование с открытым ключом, которые
основаны на комплексных математических алгоритмах и управляются ключами.
Симметрично - ключевые схемы криптографии требуют две стороны, которые хотят
войти в доверие, чтобы разделить общий, секретный ключ. Каждый пользователь
должен доверять другому, чтобы не обнародовать общий ключ третьему лицу. Эти
системы эффективно зашифруют большое колличество данных ; однако, они излагают
существенные ключевые проблемы управления в сетях больше чем в маленьком числе
пользователей, и обычно используются вместе с шифрованием с открытым ключом.
В
системах шифрования отправитель сообщения шифрует его открытым ключом
получателя. Получатель расшифровывает это сообщение своим личным (секретным)
ключом. Имея открытый ключ получателя, каждый момент послать ему сообщение ,а
прочитать его может только обладатель личного ключа. При этом получить личный
ключ из открытого с помощью каких-либо математических операций невозможно.
В системах цифровой лодписи
подпись ''накладывается'' с использованием секретного ключа , а снимается с
помощью открытого отправителя .
Схемы Шифрования с открытым ключом
требуют, чтобы каждая сторона имела ключевую пару: секретный ключ, который не
должен быть раскрыт другому пользователю, и общий ключ, который может быть
доступным в общем каталоге. Эти два ключа связаны жесткой односторонней
функцией, так что в вычислительном отношении неосуществимо определить секретный
ключ от общего ключа. Секретный ключ часто сохраняется в программном
обеспечении с использованием пароля; однако, секретный ключ должен идеально
быть сохранен в безопасной аппаратной лексеме, которая предотвращает прямой
доступ или вмешательство.
Криптосистемы с ключом общего
пользования решают ключевые проблемы управления, связанные с симметрично -
ключевым кодированием; однако, шифрование с открытым ключом предлагает
способность эффективно осуществить цифровые представления.
2.3. Цифровые
представления
Цифровые представления
– это электронный эквивалент традиционных рукописных сигнатур. Рукописные
сигнатуры обеспечивают службу безопасности, потому что уникальность почерка
личностей делает сигнатуры интенсивными.
Цифровые представления могут
использоваться, чтобы использовать три криптогафических услуги: идентификацию,
неотказ, и целостность данных. код с исправлением ошибок может использоваться,
чтобы генерировать сильные цифровые представления с маленьким количеством
обработки энергии.
2.4. Эллиптическая
криптография кривой.
После изобретения шифрования с открытым
ключом, были предложены многочисленные общее - ключевые системы засекречивания
на ее основе.Криптография с открытым ключом может применяться как для
шифрования сообщений , так и для аутентификации (так называемая цифровая
подпись).
Каждая из этих систем полагается
на трудную математическую проблему для ее защиты. Они являются
труднообрабатываемыми, потому что годы интенсивного изучения ведущими
математиками и компьютерными учеными не сумели создать эффективные алгоритмы
для их решения, так, чтобы практически, они остались труднообрабатываемыми с
текущей вычислительной технологией. Требуется время , чтобы получить
безопасный ключ с лучшим известным алгоритмом для этой проблемы. Обще -
ключевая система шифрования, основана на этой проблеме. Эллиптические кривые
- математические конструкции, которые изучились математиками начиная с
семнадцатого столетия. В 1985 Нейл Коблиц и Виктор Миллер независимо
предложили криптосистемы с ключом общего пользования, использующие группу точек
на эллиптической кривой, и эллиптическая криптография кривой (код с
исправлением ошибок) была рождена. Начиная с того времени, многочисленные
исследователи и разработчики потратили несколько лет, исследуя силу кода с
исправлением ошибок и улучшая методы для его выполнения. Сегодня более быстрая
криптосистема с ключом общего пользования предлагает практическую и безопасную
технологию для наиболее сдерживаемой среды.
Код с исправлением ошибок дает
самую высокую силу в любой известной криптосистемы с ключом общего пользования
из-за трудности жесткой проблемы, на которой это основано. Эта большая
трудность жесткой проблемы эллиптической кривой, дискретной проблемы логарифма
(ECDLP) означает что меньший
размер ключа выдает эквивалентные уровни защиты. Учитывая лучшие известные
алгоритмы к целым числам множителя и вычисляют эллиптические логарифмы кривой,
размеры ключа являются эквивалентной силой, основанной на MIPS
годах, необходимых, чтобы восстановить один ключ.
Трудность проблемы и заканчивающихся
размеров ключа эквивалентной силы предоставляет несколько прямых выгод к
выполнению электроной платы.
Электроные платы
– это маленькие, переносные, устройства противодействия вмешательству,
обеспечивающие пользователей с хранением памятью и возможностью обработки.
Из-за их уникальной формы, электроные платы предложены для использования в
широком разнообразии приложений типа электронной торговли, идентификации, и
здравоохранения. Для многих из этих предложенных приложений, требовались бы
криптогафические
услуги, предлагаемые цифровыми представлениями. Чтобы быть практическим для
широкого применения электроные платы также должны быть недорогими.
Электроная плата поддается
криптогафическому выполнению по нескольким причинам. Плата содержит много
особенностей защиты, которые допускают защиту чувствительных криптогафических
данных и обеспечивают безопасную среду обработки. Защита секретного ключа
критическая; чтобы обеспечивать криптогафические услуги, этот ключ никогда не должен
быть показан. Электроная плата защищает секретный ключ, и многие рассматривают
ее как идеальную криптогафическую лексему.
Осуществление шифрования с открытым
ключом в электроном применении платы излагает многочисленные проблемы.
Электроные платы представляют комбинацию связей выполнения, которые другие
платформы не делают: сдерживаемая память и ограниченные вычислительные
возможности.
Как упомянуто ранее, секретный ключ
в общее - ключевой паре должен сохраниться секретным. Для истинного неотказа,
секретный ключ должен быть полностью недоступен всем другим сторонам. В
приложениях, использующих другие типы используемых в настоящее время
криптосистем с ключом общего пользования, платы индивидуализированы в
безопасной среде, чтобы выполнить это требование. Из-за сложности требуемого
вычисления, плата, неэффективена и обычно непрактичена.
С кодом исправления ошибок, время,
необходимое генерировать ключевую пару настолько коротко, что даже устройство с
самыми ограниченными вычислительными возможностями электроной платы может
генерировать ключевую пару, если хороший генератор случайных чисел доступен.
Это означает, что процесс персонализации платы можно придавать обтекаемую форму
для приложений, в которых неотказ является важным.
При подведении итогов, преимущества
размера ключа кода с исправлением ошибок предоставляют много выгод для
электроных плат, и превосходящая деятельность, предлагаемая выполнением кода с
исправлением ошибок делает приложения выполнимыми в низких конечных
устройствах без специализированных аппаратных средств.
Прежде, чем системы засекречивания
и соответствующие математические проблемы могут быть обсуждены, должна быть
определена трудность проблемы. Алгоритм – это процесс, описывающий проблему ,
которую нужно решить.
При поиске математической
проблемы, чтобы базировать криптографическую систему, шифровальщики ищут такую
проблему, для которой самый быстрый алгоритм берет показательное время. Чем
больше времени требуется, чтобы вычислить лучший алгоритм для этой проблемы,
тем более безопасной будет общее - ключевая система шифрования, основанная на
той проблеме.
Сегодня должны рассмотреться только
три типа безопасных и эффективных систем:
1.
Целочисленная
проблема факторизации (IFP): RSA и Rabin-Уильям.
2.
Дискретная
проблема логарифма (ПРОЦЕССОР ПЕРЕДАЧИ ДАННЫХ).
3.
Эллиптическая
кривая дискретная проблема логарифма (ECDLP).
Рассмотрим каждую систему в
отдельности.
Целочисленная проблема факторизации
(IFP): находит p и q, учитывая составное число n, который является произведением
двух больших простых чисел p и q.
Обнаружение больших
простых чисел - относительно простая задача, а проблема разложения на
множители, произведение двух таких чисел рассматривается в вычислительном
отношении труднообрабатываемым. Базирующиеся на трудности этой проблемы Ривест,
Чамир и Адлеман разработали RSA общее - ключевую систему шифрования.
В то время как целочисленная
проблема факторизации занимала внимание известных математиков подобно Фермату
и Гауссу более чем столетия ,только в прошлых 20 годах был сделан прогресс в
разрешении этой проблемы. Имеются две главных причины для этого явления.
Сначала, изобретение RSA-системы шифрования в 1978 стимулировало много
математиков к изучению этой проблему. И быстродействующие ЭВМ стали доступными
для выполнения и испытания сложных алгоритмов. Фермат и Гаусс имели небольшой
стимул для изобретения алгоритма разложения на множители решета поля цифр, так
как этот алгоритм более громоздкий ,чем испытательное деление с целью
разложения на множители целых чисел вручную.
Имеются в основном два типа
специализированных и универсальных алгоритмов разложения на множители.
Специализированные алгоритмы разложения на множители пытаются эксплуатировать
специальные особенности номера n разлагаемого на множители. Текущие времена
универсальных алгоритмов разложения на множители зависят только от размера n.
Один из наиболее мощных
специализированных алгоритмов разложения на множители - эллиптический метод
разложения на множители кривой (режим исправления ошибок), который был
изобретен в 1985 Х.Ленстром младшим. Текущее время этого метода зависит от
размера главных множителей n, и следовательно алгоритм имеет тенденцию находить
сначала маленькие множители. 21 июня 1995 Andreas Mueller (студент в
Universitaet des Saarlandes, Германия) объявил, что он нашел 44-десятичную
цифру с 147-разрядным множителем 99-десятичной цифрой с 329-разрядным
составным целым числом, используя режим исправления ошибок. Вычисление было
выполнено на сети АРМ, и долговечность была приблизительно 60 MIPS годы. Самый
большой главный множитель, найденный к настоящему времени режимом исправления
ошибок - 47-десятичная цифра с 157-разрядным главным множетелем
135-десятичной цифры 449-разрядный номер. До развития RSA системы шифрования,
лучший универсальный алгоритм разложения на множители был алгоритм цепной дроби
, который имел числа множителя до 40 десятичных цифр (133 бита). Этот алгоритм
был основан на идее относительного использования основы множителя штрихов и
производства связанного с набором линейных уравнений, чее решение в конечном
счете вело к факторизации. Та же самая идея лежит в основе лучших универсальных
алгоритмов, используемых сегодня: квадратичное решето (QS) и решето поля цифр
(NFS). Оба эти алгоритмы могут быть легко параллелизованы, чтобы разрешить
разложение на множители на распределительных сетях АРМ. Квадратичное решето
было разработано Карлом Померансом 1984. Первоначально, это применялось к
числам множителя в 70-десятичной цифре 233-разрядный диапазон. В 1994 это
использовалось группой исследователей во главе с А.Ленстром к множителю
129-десятичной цифры 429-разрядного номера проблемы RSA, который был изложен
Мартином Гарднером 14 1977. Факторизация была выполнена через 8 месяцев
примерно на 1600 компьютерах во всем мире. Долговечность для факторизации была
оценена как 5000 MIPS годы.
Сначала было разработано в 1989
,что Решето поля цифр работает лучше всего на числах специальной формы.
Алгоритм привык к множителю 155-десятичной цифры 513-разрядного номера. Это
было впоследствии расширено к универсальному алгоритму факторизациию.
Эксперименты доказали, что NFS является действительно превосходящим алгоритмом
для целых чисел разложения на множители, имеющих по крайней мере 120 десятичных
цифр (400 битов). В 1996, группа во главе с А.Ленстром использовала NFS к
множителю 130-десятичной цифры 432-разрядного номера. Это - самый большой
номер, разложенный на множители до настоящего времени. Факторизация, как
оценивали, брала меньше чем 15 % из 5000 MIPS годы, которые требовались для
факторизации 129-десятичной цифры проблемы RSA. Разложение на множители 155
десятичной цифры 512-разрядного номера могло брать меньше усилия в 5 раз. 512-разрядный
модуль n обеспечивает только крайнюю защиту , когда используется в RSA системе
шифрования.
Алгоритм
цифрового представления Американского правительства (системный агент
каталога), Diffie-Hellman ключевая схема соглашения, ElGamal кодирование и
схемы сигнатуры, Schnorr схема сигнатуры, и Nyberg-Rueppel схема сигнатуры.
Если
p - простое число, то Zp обозначает набор целых чисел 0, 1, 2,..., p - 1, где
сложение и амплитудное искажение - выполняются с модулем. Известно, что
существует ненулевой элемент О Zp такой, что каждый ненулевой элемент в Zp
может быть написан как мощность a, такой элемент называется генератором Zp.
Дискретная проблема логарифма
(процессор передачи данных) заключается в следующем: учитывая штрих p,
генератор Zp, и ненулевой элемент О Zp, находит уникальное целое число
0,1,2,..., p - 2, такое что b принадлежит
al (mod p). Целое число l
называется дискретным логарифмом b к основе a.
Базируясь на трудности этой
проблемы, Диффи и Хеллман предложили известную Diffie-Hellman ключевую схему
соглашения в 1976. С тех пор были предложены многочисленные другие
криптогафические протоколы, чья защита зависит от процессора передачи данных,
включая: Американский правительственный алгоритм цифрового представления
(системный агент каталога), ElGamal кодирование и схемы сигнатуры, Schnorr
схема сигнатуры, и Nyberg-Rueppel схема сигнатуры.С должным интересом
процессор передачи данных экстенсивно изучился математиками в течение прошлых
20 лет.
Как с целочисленной проблемой
факторизации, имеются два типа алгоритмов для решения дискретной проблемы
логарифма. Специализированные алгоритмы пытаются эксплуатировать специальные
особенности главной с. Текущие времена универсальных алгоритмов зависят только
от размера с.
Самые быстрые универсальные
алгоритмы, известные за решение процессора передачи данных ,основаны на методе
называемом конкрементом индекса. В этом методе создана база данных маленьких
штрихов и их соответствующих логарифмов, в последствии за которой логарифмы
произвольных полевых элементов могут быть легко получены. Это напоминание о
методах основы множителя для целочисленной факторизации. По этой причине, если
уточнение в алгоритмах для IFP или процессора передачи данных найдено, то
вскоре подобный улучшенный алгоритм может ожидаться, чтобы быть решеным в
пользу другай проблемы. С методами разложения на множители, алгоритмы
конкремента индекса могут быть легко параллелизованы.
В случае с разложением на
множители, лучшим текущим алгоритмом является процессор передачи данных - решето
поля цифр. Он имеет то же самое асимптотическое текущее время , как
соответствующий алгоритм для целочисленной факторизации. Это может свободно
интерпретироваться с таким сообщением: что обнаружение логарифмов в случае
k-бита главного модуля p
стольже трудно как разложение на
множители k-бит составного число n.
Выполнение дискретных алгоритмов
логарифма отстало от аналогичных усилий для разложения на множители целых
чисел. В 1990 Брайен ЛаМакчия и O.Эндрю использовали вариант метода
конкремента индекса, называемого методом Комплексного целого числа вычисляемого
дискретный модуль логарифмов 191-разрядный штрих. Раньше Вебер, Дэнни и Зауер
(студенты в Universitaet des Saarlandes, Германия) вычислили дискретный модуль
логарифмов 248-разрядный штрих, используя решето поля цифр.
Проект, инициализированный
в Университете Waterloo (Канады) пытается улучшать эту технологию, и в теории и
в практике с целью принятия модуля логарифмов штрих p длины более 400 битов.
Лучшие оценки состоят в том, что эта цель далека от достижения на несколько
лет. Можно сказать, что принятие модуля логарифмов 512-разрядный штрих p
останется труднообрабатываемым в течение следующих трех или четырех лет. На
сравнении, 512-разрядный RSA модуль будет вероятно разложен на множители в
пределах года или около этого.
Тем не менее, для долгой защиты,
1024-разрядный или больший moduli p должен использоваться в дискретных системах
шифрования логарифма.
Эллиптический аналог
кривой системного агента каталога (ECDSA),
и эллиптических аналогов кривой Diffie-Hellman
ключевой схемы соглашения, ElGamal
кодирования и схем сигнатуры, Schnorr
схемы сигнатуры, и Nyberg-Rueppel
схемы сигнатуры.
Должно быть подчеркнуто, что эти
проблемы являются труднообрабатываемыми, потому что годы интенсивного изучения
ведущими математиками и компьютерными учеными не сумели выдать эффективные
алгоритмы для их решения .
Если q - главная мощность, то Fq
обозначает конечное поле, содержащее q элементы. В приложениях q - обычно
мощность 2 (2m) или вспомогательное простое число (p).
Эллиптическая кривая дискретная
проблема логарифма (ECDLP) заключается в следующем: учитывая эллиптическую
кривую E определенную по Fq, точка PОE (Fq) порядка n, и точки QОE (Fq),
определяются целым числом 0, l, 2,..., n - 1, так что Добротность = lP, при
условии, что такое целое число существует.
Базируясь на трудности этой
проблемы, Нейл Коблиц и Виктор Миллер независимо друг от друга в 1985
предложили использовать группу точек на эллиптической кривой, определенной по
конечному полю, для осуществления различных дискретных систем шифрования
логарифма. Один такой криптогафический протокол, который стандартизируется
аккредитованными организациями стандартов - эллиптический аналог кривой
системного агента каталога, называемого ECDSA.
Имеется только два
главных способа в методах для решения IFP: квадратичный алгоритм разложения на
множители решета (вместе с его предшественником, алгоритм разложения на
множители цепной дроби), и решето поля цифр. Последний алгоритм возводит в
степень некоторую сложную математику (особенно алгебраическая теория номера), и
только полностью понят маленьким семейством теоретиков. До появления
компьютеров, математики не искали алгоритмы для IFP, которые были эффективны
вручную скорее , чем на больших сетях компьютеров. Другой факт, который обычно
пропускается - то многое из работы, сделанной на процессоре передачи данных до
1985, также применяется к ECDLP , так как ECDLP может просматриваться как
похожий на процессор передачи данных, но в различной алгебраической установке.
Начиная с 1985, на ECDLP обратили
значительное внимание ведущие математики во всем мире. Алгоритм из-за Pohlig и
Hellman приводит определениеl к определениюl модуля каждый из главных
множителей n. Следовательно, чтобы достичь возможно максимального уровня
защиты, n должен быть главным. Лучший алгоритм, известный до настоящего времени
для ECDLP - Pollard метод ро, где шаг имеется эллиптическое сложение кривой. В
1993 Р. Oorschot и Майкл Винер показали, как Pollard метод ро может быть
параллелизован так, чтобы, если r процессоры использовались, то ожидаемое число
с каждым процессором перед одиночным дискретным логарифмом получено - ( ) /r.
Наиболее существенно, алгоритмы " типа показателя степени " не являются
известными из-за ECDLP ,что касается процессора передачи данных. По этой
причине, ECDLP является намного тяжелее или чем IFP или процессор передачи
данных .
В 1991 Menezes, Okamoto и Vanstone
(MOV) показал, как ECDLP может быть сокращен к процессу перпдачи данных в полях
Fq, где могут применяться методы конкремента индекса. Однако, этот MOV алгоритм
приведения эффективен только для очень специальной категории кривых ,известных
как суперсингулярные кривые. Имеется простое испытание, чтобы гарантировать,
что эллиптическая кривая не уязвима к этому разложению. Суперсингулярные кривые
специально запрещены во всех стандартах эллиптических систем кривой типа ИИЭРА
P1363, ANSI X9.62, и ANSI X9.63.
Другой жидкий класс эллиптических
кривых - так называемые аномальные кривые - кривые E определенные по Fq,
которые имеют точно q точки. Разложение на этих кривых было обнаружено Semaev, Smart,
и Satoh и Araki , и обобщено Rьck. Имеется простое испытание над
суперсингулярными кривыми для того чтобы гарантировать, что эллиптическая
кривая не уязвима; через это испытание, эти кривые специально запрещены во
всех стандартах эллиптических систем кривой.
Криптографический алгоритм RSA
использует только один тип вычислений – возведение в степень . Показатель
степени определяет длительность выполнения процедуры вычеслений. Чтобы
обеспечить требуемый уровень надежности , показатель степени, являющийся
секретным ключом , должен быть достаточно большим , поэтому для вычислений
требуется много времени.
Производительность
вычислительных устройств с недавнего времени принято оценивать в MIPS
( Million Instruction
Per Second):
1MIPS=10^6 опер./с.
MIPS
года – такая сложность алгоритма, которая требует годовой работы компьютера
чтобы его вскрыть.
По отношению к
эллиптическим кривым производительность 1 MIPS соответствует примерно 4*10^4
операций сложения кривой в секунду, поскольку длина ключа существенно превышает
длину еденицы данных. У стойчивость алгоритмов криптографии принято оценивать в
MIPS годах . Иначе говоря , устойчивость – это число лет непрерывной работы ,
необходимое вычислителю с производительностью 1 MIPS ,чтобы взломать данный
шифр.
Время на взлом
MIPS лет
|
Размер ключа
RSA/DSA
|
Размер ключа
ЕСС
|
Отношение длин ключей RSA/DSA
|
10^4
|
512
|
106
|
5:1
|
10^8
|
768
|
132
|
6:1
|
10^11
|
1.024
|
160
|
7:1
|
10^20
|
210
|
10:1
|
10^78
|
21
|
600
|
35:1
|
Таблица 3.1. Сравнение размеров ключей , необходимых
для обеспечения эквивалентных уровней безопасности.
Программные выполнение на SPARC
IPC исполняют 2,000 эллиптических сложений кривой в секунду. Тогда число
эллиптических сложений кривой, которые могут быть выполнены 1 механизмом MIPS в
одном году:
(4 x 104) • (60 x 60 x 24 x 365)
" 240.
Например, если 10,000 компьютеров
каждый в 1,000 MIPS году доступн, то эллиптическая кривая дискретного
логарифма может быть вычислена через 96,000 лет.
При установке режимов эллиптической
системы шифрования кривой, имеются три основных пункта, которые должны быть
сделаны:
1. Выбор основного
конечного поля Fq.
2. Выбор представления
для элементов Fq.
3. Выбор эллиптической
кривой E по Fq.
1. Два наиболее общего
выбора в практических приложениях для основного конечного поля - F2m и Fp (где
p - вспомогательный штрих). ECDLP одинаково труден для образцов, которые
используют F2m и для образцов , которые используют Fp, и где размеры 2m и p
полей приблизительно равны. Не имелось никаких математических открытий до
настоящего времени, которые показывают, что ECDLP для эллиптических кривых по
F2m может быть проще или тяжелее чем ECDLP для эллиптических кривых по Fp.
2. Если поле F2m выбрано
как основное конечное поле, то имеются много путей, в которых элементы F2m
могут быть представлены. Два наиболее эффективных пути : оптимальное ,
нормальное представление основания и полиномиальное представление основания.
Так как элементы в одном представлении могут быть эффективно преобразованы к
элементам в другом представлении, используя соответствующую матрицу изменения
основания, на ECDLP не воздействует выбор представления.
4.
MOV
алгоритм приведения выдает алгоритм для ECDLP, когда эллиптическая кривая
суперсингулярна. В большенстве случаев эллиптические кривые являются
не-суперсингулярными. Кроме того, можно легко проверить действительно ли MOV
алгоритм приведения выполним для данной эллиптической кривой – следовательно,
этого разъедания легко избегают на практике. Также, можно легко обнаружить
является ли данная кривая аномальной. Разъедания на аномальной кривой легко
избегают. При выборе не-суперсингулярной эллиптической кривой, можно выбирать
кривую наугад, или можно выбирать кривую специальными свойствами, которые могут
привести быстрее к эллиптической арифметике кривой. Пример специальной
категории кривых, который был предложен - кривые Koblitz . ECDLP одинаково
труден для образцов, которые используют беспорядочно сгенерированные кривые, и
для тех, которые используют кривые Koblitz. Не имелось никаких математических
открытий до настоящего времени, которые показывают, что ECDLP для беспорядочно
сгенерированных эллиптических кривых - проще или тяжелее чем ECDLP для кривых
Koblitz.
Международная стандартизация систем
засекречивания протоколов - важный процесс, который активно поддержан фирмой
Certicom. Стандартизация имеет три главных выгоды. Сначала, это учитывает
способность к взаимодействию среди аппаратных и программных систем от многих
различных продавцов. Во вторых, это возводит в степень критический обзор защиты
систем с криптографической точки зрения. Наконец, это разрешает вход в конструкцию
систем шифрования от тех, кто должны осуществить их в широких пределах среды.
Эллиптические Кривые - это тема интенсивного исследования в математическом
семействе много лет и теперь тщательно исследовались в организациях стандартов
в течение более чем трех лет. Это дало инженерам - конструкторам высокий
доверительный коэффициент в их защите, которая не могла быть достигнута через
поддержку только несколько организаций.
Извлечение корня стандартов -
критическая партия принятая любой системой засекречивания. Стандартизация кода
с исправлением ошибок поощрила ее принятие организациями во всем мире. Кроме
того, это продвинуло образование многих шифровальщиков, разработчиков, и
проектирует в математическом основании кода с исправлением ошибок и в его важности
в достижения практических, эффективных общее - ключевых основанных систем.
Следующие инициативы стандартов
кода с исправлением ошибок - в настоящее время на ходу:
ИИЭР P1363 - код с исправлением
ошибок включен в проект ИИЭРА P1363 стандарт (Технические условия для
Шифрования с открытым ключом), который включает кодирование, сигнатуру, и
ключевые механизмы соглашения. Эллиптические кривые могут быть определены по
модулю р. или по F2m, поле с 2m элементы, для соответствия со стандартом. ANSI
X9 - код с исправлением ошибок содержится в двух работах, созданных
Американским Институтом Национальных эталонов (ANSI) ASC X9 (Службы финансового
довольствия): ANSI X9.62, Эллиптический Алгоритм Цифрового представления Кривой
(ECDSA); и ANSI X9.63, Эллиптическое Соглашение ключа Кривой и Транспортные
Протоколы .
ISO/IEC - проект документа ISO/IEC
14888: Цифровое представление с приложением - Партия 3: Свидетельство
основанные механизмы определяют эллиптические аналоги кривой некоторых
Elgamal-подобных алгоритмов сигнатуры.
IETF - OAKLEY Ключевой Протокол
Определения Internet, проектирующего Оперативное соединение (IETF),описывает
ключевой протокол реализации соглашения, который является вариантом
Diffie-Hellman протокола. Это учитывает ряд групп, которые нужно использовать,
включая эллиптические кривые. Документ делает определенное упоминание об
эллиптических группах кривых по полям F2155 и F2210.
Форум ATM - Форум ATM Стадия
Технического Комитета я проект документа Технических требований Защиты ATM
стремится обеспечивать механизмы защиты для ATM сетей (Режимов асинхронной
передачи). Службы безопасности обеспечили, конфиденциальность, идентификацию,
целостность данных, и управление доступом. Код с исправлением ошибок - одна из
поддержанных систем.
Большинство этих стандартов
описывается в алгоритме независимым способ так, чтобы любой признанный общее -
ключевой алгоритм мог быть реализован. Это позволит использовать алгоритмы,
типа кода с исправлением ошибок, в средах, где другие криптосистемы с ключом
общего пользования были бы непрактичны.
Выбор для конкретных ИС должен
быть основан на глубоком анализе слабых и сильных сторон тех или иных
методов защиты. Обоснованный выбор той или иной системы защиты в общем-то
должен опираться на какие-то критерии эффективности. К сожалению,
до сих пор не разработаны подходящие методики оценки эффективности
криптографических систем.
Наиболее простой критерий такой
эффективности - вероятность раскрытия ключа или мощность
множества ключей (М). По сути это то же самое, что и криптостойкость.
Для ее численной оценки можно использовать также и сложность раскрытия шифра
путем перебора всех ключей.
Однако, этот критерий не учитывает
других важных требований к криптосистемам:
* невозможность
раскрытия или осмысленной модификации информации на основе анализа
ее структуры,
* совершенство
используемых протоколов защиты,
* минимальный объем
используемой ключевой информации,
* минимальная
сложность реализации (в количестве машинных операций), ее стоимость,
* высокая оперативность.
Желательно конечно
использование некоторых интегральных показателей, учитывающих
указанные факторы.
Для учета стоимости, трудоемкости
и объема ключевой информации можно использовать удельные показатели
- отношение указанных параметров к мощности множества ключей
шифра.
Часто более эффективным
при выборе и оценке криптографической системы является использование
экспертных оценок и имитационное моделирование.
В любом случае
выбранный комплекс криптографических методов должен сочетать как
удобство, гибкость и оперативность использования, так и надежную защиту
от злоумышленников циркулирующей в ИС информации.
Эллиптические функции также
относятся к симметричным методам шифрования .
Эллиптические кривые –
математические объекты, которые математики интенсивно изучают начиная с 17 – го
века. Н.Коблиц и В. Миллер независимо друг от друга предложили системы системы
криптозащиты с открытым ключом , использующие для шифрования свойства
аддитивной группы точек на эллиптической кривой. Эти работы легли в основу
криптографии на основе алгоритма эллиптических кривых.
Множество исследователей и
разработчиков испытывали алгоритм ЕСС на прочность. Сегодня ЕСС предлагает
более короткий и быстрый открытый ключ , обеспечивающий практичную и безопасную
технологию , применимую в различных областях . Применение криптографии на
основе алгоритма ЕСС не требует дополнительной аппаратной поддержки в виде
криптографического сопроцессора . Всё это позволяет уже сейчас применять
криптографические системы с открытым ключом и для создания недорогих
смарт-карт.
В соответствии с законодательством
США (соглашение International Traffic in Arms Peguiation),
криптографические устройства , включая программное обеспечение , относится к системам
вооружения .
Поэтому при экспорте программной
продукции , в которой используется криптография , требуется разрешение
Госдепартамента. Фактически экспорт криптографической продукции контролирует NSA (National Security Agency). правительство
США очень неохотно выдаёт подобные лицензии , поскольку это может нанести
ущерб национальной безопасности США. Вместе с тем совсем недавно компании Newlett –Packard выдано
разрешение на экспорт её криптографического комплекса Ver Secure в
Великобританию , Германию, Францию , Данию и Австралию. Теперь Н Р может
эксплуатировать в эти страны системы , использующие 128- битный криптостандарт Triple DES ,который
считается абсолютно надёжным.
1. Герасименко
В.А. Защита информации в автоматизированных системах обработки данных кн.
1.-М.: Энергоатомиздат. -1994.-400с.
2. Вербицкий
О.В.Вступление к криптологии.- Львов.: Издательство науково-техничной
литературы.-1998.-300с.
3. Диффи
У. Первые десять лет криптографии с открытым ключом //ТИИЭР, т. 76(1988)б Т5б
с. 54-74.
4. Герасименко
В.А., Скворцов А.А., Харитонов И.Е. Новые направления применения
криптографических методов защиты информации.- М.: Радио и связь.-1989.-360с.
5. Миллер
В. Использования эллиптических кривых в криптографии .: -1986.-417-426с.
6.
Галатенко
В.А. Информационная безопасность. –М.: Финансы и статистика, 1997. –158 с.
7. Грегори
С. Смит. Программы шифрования данных // Мир ПК –1997. -№3. -С.58 - 68.
8.
Ростовцев А. Г., Михайлова Н. В. Методы криптоанализа классических шифров. –М.: Наука,
1995. –208 с.
9. Терехов
А. Н., Тискин А. В. // Программирование
РАН. –1994. -N 5 -С. 17—22.
10. Криптология
– наука о тайнописи // Компьютерное обозрение. –1999. -№3. –С. 10 – 17.
11. Баричев
С. В. Криптография без секретов. –М.: Наука, 1998. –120 с.
текста
в алфавите, расширенном некоторыми дополнительными знаками, сначала
Конфиденциальность –
информация, доступная строго определенному кругу лиц.