Реферат: Криптографические методы
--PAGE_BREAK-- 1.Симметричные криптосистемы 1.1. Классификация криптографических методовВсе многообразие существующих криптографических методов можно свести к следующим классам преобразований:
<img width=«477» height=«157» src=«ref-1_735501463-3095.coolpic» v:shapes="_x0000_s1041 _x0000_s1040 _x0000_s1039">
Перестановки
<img width=«174» height=«57» src=«ref-1_735504558-1052.coolpic» alt=«Скругленный прямоугольник: Перестановки» v:shapes="_x0000_s1043"> <img width=«174» height=«57» src=«ref-1_735505610-1057.coolpic» alt=«Скругленный прямоугольник: Блочные шифры» v:shapes="_x0000_s1042">
Рис.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={s,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} были определены алгоритмами, зависящими от относительно небольшого числа параметров (ключей).
продолжение
--PAGE_BREAK--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-граммы исходного текста (x,x1 ,..,xn-1) вn-грамму шифрованного текста (y,y1 ,...,yn-1):
yi=p(xi), £i<n
гдеn– произвольное (n=1,2,..). Tkназывается моноалфавитной подстановкой, если pнеизменно при любом i, i=0,1,..., в противном случае Tkназывается многоалфавитной подстановкой.
Примечание. К наиболее существенным особенностям подстановки Tkотносятся следующие:
1. Исходный текст шифруется посимвольно. Шифрованияn-граммы (x,x1 ,..,xn-1) и ее префикса (x,x1 ,..,xs-1) связаны соотношениями
Tk(x0,x1 ,..,xn-1)=(y0,y1 ,...,yn-1)
Tk(x0,x1 ,..,xs-1)=(y0,y1 ,...,ys-1)
2. Буква шифрованного текста y
i
является функцией только i-й компоненты ключа p
i
и i-й буквы исходного текста xi.
продолжение
--PAGE_BREAK--1.3. Подстановка Цезаря
Подстановка Цезаря является самым простым вариантом подстановки. Она относится к группе моноалфавитных подстановок.
Определение. Подмножество 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-грамму исходного текста (x,x1 ,..,xn-1) вn‑грамму шифрованного текста (y,y1 ,...,yn-1) в соответствии с правилом
yi=Ck(xi), 0£i<n.
Например, ВЫШЛИТЕ_НОВЫЕ_УКАЗАНИЯ посредством подстановки C3преобразуется в еюыолхиврсеюивцнгкгрлб.
Аàг
Йàм
Тàх
Ыàю
Бàд
Кàн
Уàц
Ьàя
Вàе
Лàо
Фàч
Эà_
Гàж
Мàп
Хàш
Юàа
Дàз
Нàр
Цàщ
Яàб
Еàи
Оàс
Чàъ
_àв
Жàй
Пàт
Шàы
Зàк
Рàу
Щàь
Иàл
Сàф
Ъàэ
Таблица 1.1: Применение подстановки Цезвря.
При своей несложности система легко уязвима. Если злоумышленник имеет
1) шифрованный и соответствующий исходный текст или
2) шифрованный текст выбранного злоумышленником исходного текста,
то определение ключа и дешифрование исходного текста тривиальны.
Более эффективны обобщения подстановки Цезаря — шифр Хилла и шифр Плэйфера. Они основаны на подстановке не отдельных символов, а 2-грамм (шифр Плэйфера) илиn-грамм[ii] (шифр Хилла). При более высокой криптостойкости они значительно сложнее для реализации и требуют достаточно большого количества ключевой информации.
продолжение
--PAGE_BREAK--1.4.Многоалфавитные системы. Системы одноразового использования
Слабая криптостойкость моноалфавитных подстановок преодолевается с применением подстановок многоалфавитных.
Многоалфавитная подстановкаопределяется ключом p=(p1,
p2, ...), содержащим не менее двух различных подстановок. В начале рассмотрим многоалфавитные системы подстановок с нулевым начальным смещением. Пусть {Ki: 0£i<n} – независимые случайные переменные с одинаковым распределением вероятностей,
принимающие значения на множестве Zm
Pкл{(K, K1, ..., Kn-1)=(k, 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)
Для такой системы подстановки используют также термин “одноразовая лента” и “одноразовый блокнот”. Пространство ключей К системы одноразовой подстановки является вектором рангов (K, 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
Исходный текст невозможно восстановить без ключа.
Наложение белого шума в виде бесконечного ключа на исходный текст меняет статистические характеристики языка источника. Системы одноразового использованиятеоретически не расшифруемы[iii], так как не содержат достаточной информации для восстановления текста.
Почему же эти системы неприменимы для обеспечения секретности при обработке информации? Ответ простой — они непрактичны, так как требуют независимого выбора значения ключа для каждой буквы исходного текста. Хотя такое требование может быть и не слишком трудным при передаче по прямому кабелю Москва — Нью-Йорк, но для информационных оно непосильно, поскольку там придется шифровать многие миллионы знаков.
Посмотрим, что получится, если ослабить требование шифровать каждую букву исходного текста отдельным значением ключа.
продолжение
--PAGE_BREAK--1.5.Системы шифрования Вижинера
Начнем с конечной последовательности ключа
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= (p, p1, ..., pr-1) с элементами вx.
Обобщенная система Вижинерапреобразует исходный текст (x,x1 ,...,xn-1) в шифрованный текст (y,y1 ,...,yn-1) при помощи ключа p= (p, p1, ..., pr-1) по правилу
VIGk: (x0,x1 ,...,xn-1) ®(y0,y1 ,...,yn-1) = (p(х0), p1(х1), ..., pn-1(xn-1)), где используется условие pi= pimod r. Следует признать, что и многоалфавитные подстановки в принципе доступны криптоаналитическому исследованию. Криптостойкость многоалфавитных систем резко убывает с уменьшением длины ключа.
Тем не менее такая система как шифр Вижинера допускает несложную аппаратную или программную реализацию и при достаточно большой длине ключа может быть использован в современных ИС.
продолжение
--PAGE_BREAK--1.6. Гаммирование
Гаммирование является также широко применяемым криптографическим преобразованием. На самом деле граница между гаммированием и использованием бесконечных ключей и шифров Вижинера, о которых речь шла выше, весьма условная.
Принцип шифрования гаммированием заключается в генерации гаммы шифра с помощью датчика псевдослучайных чисел и наложении полученной гаммы на открытые данные обратимым образом (например, используя сложение по модулю 2).
Процесс дешифрования данных сводится к повторной генерации гаммы шифра при известном ключе и наложении такой гаммы на зашифрованные данные.
Полученный зашифрованный текст является достаточно трудным для раскрытия в том случае, если гамма шифра не содержит повторяющихся битовых последовательностей. По сути дела гамма шифра должна изменяться случайным образом для каждого шифруемого слова. Фактически же, если период гаммы превышает длину всего зашифрованного текста и неизвестна никакая часть исходного текста, то шифр можно раскрыть только прямым перебором (пробой на ключ). Криптостойкость в этом случае определяется размером ключа.
Метод гаммирования становится бессильным, если злоумышленнику становится известен фрагмент исходного текста и соответствующая ему шифрограмма. Простым вычитанием по модулю получается отрезок ПСП и по нему восстанавливается вся последовательность. Злоумышленники может сделать это на основе догадок о содержании исходного текста. Так, если большинство посылаемых сообщений начинается со слов “СОВ.СЕКРЕТНО”, то криптоанализ всего текста значительно облегчается. Это следует учитывать при создании реальных систем информационной безопасности.
Ниже рассматриваются наиболее распространенные методы генерации гамм, которые могут быть использованы на практике.
1.7. Шифрование с помощью аналитических преобразований
Достаточно надежное закрытие информации может быть обеспечено при использовании для шифрования некоторых аналитических преобразований. Для этого нужно использовать методы алгебры матриц, например, умножение матрицы на вектор по правилу:
|| aij||bj = cj =Saijbj
Если матрицу || aij|| использовать в качестве ключа, а вместо компонента вектора bj подставить символы текста, то компоненты вектора cj будут представлять собой символы зашифрованного текста.
<img width=«2» height=«79» src=«ref-1_735506667-160.coolpic» v:shapes="_x0000_s1044"><img width=«2» height=«79» src=«ref-1_735506827-158.coolpic» v:shapes="_x0000_s1045"><img width=«2» height=«79» src=«ref-1_735506827-158.coolpic» v:shapes="_x0000_s1046"><img width=«2» height=«79» src=«ref-1_735506667-160.coolpic» v:shapes="_x0000_s1047"> Приведем пример, взяв в качестве ключа квадратную матрицу третьего порядка
14 8 3
8 5 2
3 2 1
Заменим буквы алфавита цифрами, соответствующими порядковому номеру в алфавите. Тогда отрывку текста ВАТАЛА соответствует последовательность номеров 3,0,19,0,12,0. По принятому алгоритму шифрования выполним необходимые действия:
<img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1048"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1049"><img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1050"><img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1051"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1052"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1053"><img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1054"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1055"><img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1056"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1057"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1058"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1059">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.
Тогда процесс раскрытия выглядит так:
<img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1060"><img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1061"><img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1062"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1063"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1064"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1065"><img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1066"><img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1067"> 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
<img width=«2» height=«79» src=«ref-1_735510423-161.coolpic» v:shapes="_x0000_s1068"><img width=«2» height=«79» src=«ref-1_735510423-161.coolpic» v:shapes="_x0000_s1069"><img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1070"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1071"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1072"><img width=«2» height=«78» src=«ref-1_735507458-157.coolpic» v:shapes="_x0000_s1073"><img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1074"><img width=«2» height=«78» src=«ref-1_735507303-155.coolpic» v:shapes="_x0000_s1075"> 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, что соответствует исходному тексту. Этот метод шифрования является формальнным, что позволяет легко реализовать его программными средствами.
продолжение
--PAGE_BREAK--1.8. Криптосистемы на основе эллиптических уравнений
Эллиптические кривые— математический объект, который может определен над любым полем (конечным, действительным, рациональным или комплексным). В криптографии обычно используются конечные поля. Эллиптическая кривая есть множество точек(
x
,
y
),удовлетворяющее следующему уравнению:
y
2
=
x
3
+
ax
+
b
,
а также бесконечно удаленная точка. Для точек на кривой довольно легко вводится операция сложения, которая играет ту же роль, что и операция умножения в криптосистемах RSAи Эль-Гамаля.
В реальных криптосистемах на базе эллиптических уравнений используется уравнение
y
2
=
x
3
+
ax
+
b
mod
p
,
где р — простое.
Проблема дискретного логарифма на эллиптической кривой состоит в следующем: дана точка Gна эллиптической кривой порядка r(количество точек на кривой) и другая точка Yна этой же кривой. Нужно найти единственную точку xтакую, что Y= xG, то есть Yесть х-я степень G.
2. Эллиптические фунции – реализация метода открытых ключей 2.1.Системы с открытым ключом
Как бы ни были сложны и надежны криптографические системы — их слабое мест при практической реализации — проблема распределения ключей. Для того, чтобы был возможен обмен конфиденциальной информацией между двумя субъектами ИС, ключ должен быть сгенерирован одним из них, а затем каким-то образом опять же в конфиденциальном порядке передан другому. То есть , в общем случае для передачи ключа опять же требуется использование какой-то криптосистемы.
Для решения этой проблемы на основе результатов, полученных классической и современной алгеброй, были предложены системы с открытым ключом.
Суть их состоит в том, что каждым адресатом ИС генерируются два ключа, связанные между собой по определенному правилу. Один ключ объявляется открытым, а другой закрытым. Открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. Секретный ключ сохраняется в тайне.
Исходный текст шифруется открытым ключом адресата и передается ему. Зашифрованный текст в принципе не может быть расшифрован тем же открытым ключом. Дешифрование сообщение возможно только с использованием закрытого ключа, который известен только самому адресату.
<img width=«563» height=«39» src=«ref-1_735511681-1168.coolpic» v:shapes="_x0000_s1078 _x0000_s1076 _x0000_s1077"> <img width=«108» height=«66» src=«ref-1_735512849-1207.coolpic» v:shapes="_x0000_s1087 _x0000_s1088 _x0000_s1089"> <img width=«108» height=«65» src=«ref-1_735514056-1099.coolpic» v:shapes="_x0000_s1081 _x0000_s1082 _x0000_s1083"> <img width=«257» height=«149» src=«ref-1_735515155-2994.coolpic» v:shapes="_x0000_s1080 _x0000_s1093 _x0000_s1091 _x0000_s1084 _x0000_s1085 _x0000_s1086"> <img width=«102» height=«145» src=«ref-1_735518149-1245.coolpic» v:shapes="_x0000_s1079 _x0000_s1092 _x0000_s1090">
Рис.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.
продолжение
--PAGE_BREAK--2.2.Типы криптографических услуг
Сегодня безопасные решения используют некоторую комбинацию из пяти различных криптографических услуг. Эти услуги:
Проверка пользователя – введением пути в оперативную транзакцию, пользователь подтверждает, что это именно он.
Идентификация Начала координат Данных— обеспечение источника сообщения.
Целостность Данных— обеспечение сохранения данных неправомочными сторонами.
Не отказ - получатель транзакции способен демонстрировать нейтральному третьему лицу, что требуемый передатчик действительно посылал транзакцию.
Существуют два главных типа криптографии симметрично — ключевые и шифрование с открытым ключом, которые основаны на комплексных математических алгоритмах и управляются ключами. Симметрично — ключевые схемы криптографии требуют две стороны, которые хотят войти в доверие, чтобы разделить общий, секретный ключ. Каждый пользователь должен доверять другому, чтобы не обнародовать общий ключ третьему лицу. Эти системы эффективно зашифруют большое колличество данных; однако, они излагают существенные ключевые проблемы управления в сетях больше чем в маленьком числе пользователей, и обычно используются вместе с шифрованием с открытым ключом.
В системах шифрования отправитель сообщения шифрует его открытым ключом получателя. Получатель расшифровывает это сообщение своим личным (секретным) ключом. Имея открытый ключ получателя, каждый момент послать ему сообщение, а прочитать его может только обладатель личного ключа. При этом получить личный ключ из открытого с помощью каких-либо математических операций невозможно.
В системах цифровой лодписи подпись ''накладывается'' с использованием секретного ключа, а снимается с помощью открытого отправителя .
Схемы Шифрования с открытым ключом требуют, чтобы каждая сторона имела ключевую пару: секретный ключ, который не должен быть раскрыт другому пользователю, и общий ключ, который может быть доступным в общем каталоге. Эти два ключа связаны жесткой односторонней функцией, так что в вычислительном отношении неосуществимо определить секретный ключ от общего ключа. Секретный ключ часто сохраняется в программном обеспечении с использованием пароля; однако, секретный ключ должен идеально быть сохранен в безопасной аппаратной лексеме, которая предотвращает прямой доступ или вмешательство.
Криптосистемы с ключом общего пользования решают ключевые проблемы управления, связанные с симметрично — ключевым кодированием; однако, шифрование с открытым ключом предлагает способность эффективно осуществить цифровые представления.
2.3. Цифровые представления
Цифровые представления– это электронный эквивалент традиционных рукописных сигнатур. Рукописные сигнатуры обеспечивают службу безопасности, потому что уникальность почерка личностей делает сигнатуры интенсивными.
В отличие от почерка индивидуума, электронная информация проста для дублирования. Если электронные сигнатуры использовались таким же образом как письменные сигнатуры, защита легко может быть поставлена под угрозу.
Цифровые представления могут использоваться, чтобы использовать три криптогафических услуги: идентификацию, неотказ, и целостность данных. код с исправлением ошибок может использоваться, чтобы генерировать сильные цифровые представления с маленьким количеством обработки энергии.
2.4. Эллиптическая криптография кривой.
После изобретения шифрования с открытым ключом, были предложены многочисленные общее — ключевые системы засекречивания на ее основе.Криптография с открытым ключом может применяться как для шифрования сообщений, так и для аутентификации (так называемая цифровая подпись).
Каждая из этих систем полагается на трудную математическую проблему для ее защиты. Они являются труднообрабатываемыми, потому что годы интенсивного изучения ведущими математиками и компьютерными учеными не сумели создать эффективные алгоритмы для их решения, так, чтобы практически, они остались труднообрабатываемыми с текущей вычислительной технологией. Требуется время, чтобы получить безопасный ключ с лучшим известным алгоритмом для этой проблемы. Обще — ключевая система шифрования, основана на этой проблеме. Эллиптические кривые — математические конструкции, которые изучились математиками начиная с семнадцатого столетия. В 1985 Нейл Коблиц и Виктор Миллер независимо предложили криптосистемы с ключом общего пользования, использующие группу точек на эллиптической кривой, и эллиптическая криптография кривой (код с исправлением ошибок) была рождена. Начиная с того времени, многочисленные исследователи и разработчики потратили несколько лет, исследуя силу кода с исправлением ошибок и улучшая методы для его выполнения. Сегодня более быстрая криптосистема с ключом общего пользования предлагает практическую и безопасную технологию для наиболее сдерживаемой среды.
Код с исправлением ошибок дает самую высокую силу в любой известной криптосистемы с ключом общего пользования из-за трудности жесткой проблемы, на которой это основано. Эта большая трудность жесткой проблемы эллиптической кривой, дискретной проблемы логарифма (ECDLP) означает что меньший размер ключа выдает эквивалентные уровни защиты. Учитывая лучшие известные алгоритмы к целым числам множителя и вычисляют эллиптические логарифмы кривой, размеры ключа являются эквивалентной силой, основанной на MIPSгодах, необходимых, чтобы восстановить один ключ.
Трудность проблемы и заканчивающихся размеров ключа эквивалентной силы предоставляет несколько прямых выгод к выполнению электроной платы.
продолжение
--PAGE_BREAK--2.5.Электронные платы и код с исправлением ошибок
Электроные платы– это маленькие, переносные, устройства противодействия вмешательству, обеспечивающие пользователей с хранением памятью и возможностью обработки. Из-за их уникальной формы, электроные платы предложены для использования в широком разнообразии приложений типа электронной торговли, идентификации, и здравоохранения. Для многих из этих предложенных приложений, требовались бы
криптогафические услуги, предлагаемые цифровыми представлениями. Чтобы быть практическим для широкого применения электроные платы также должны быть недорогими.
Электроная плата поддается криптогафическому выполнению по нескольким причинам. Плата содержит много особенностей защиты, которые допускают защиту чувствительных криптогафических данных и обеспечивают безопасную среду обработки. Защита секретного ключа критическая; чтобы обеспечивать криптогафические услуги, этот ключ никогда не должен быть показан. Электроная плата защищает секретный ключ, и многие рассматривают ее как идеальную криптогафическую лексему.
Осуществление шифрования с открытым ключом в электроном применении платы излагает многочисленные проблемы. Электроные платы представляют комбинацию связей выполнения, которые другие платформы не делают: сдерживаемая память и ограниченные вычислительные возможности.
Как упомянуто ранее, секретный ключ в общее — ключевой паре должен сохраниться секретным. Для истинного неотказа, секретный ключ должен быть полностью недоступен всем другим сторонам. В приложениях, использующих другие типы используемых в настоящее время криптосистем с ключом общего пользования, платы индивидуализированы в безопасной среде, чтобы выполнить это требование. Из-за сложности требуемого вычисления, плата, неэффективена и обычно непрактичена.
С кодом исправления ошибок, время, необходимое генерировать ключевую пару настолько коротко, что даже устройство с самыми ограниченными вычислительными возможностями электроной платы может генерировать ключевую пару, если хороший генератор случайных чисел доступен. Это означает, что процесс персонализации платы можно придавать обтекаемую форму для приложений, в которых неотказ является важным.
При подведении итогов, преимущества размера ключа кода с исправлением ошибок предоставляют много выгод для электроных плат, и превосходящая деятельность, предлагаемая выполнением кода с исправлением ошибок делает приложения выполнимыми в низких конечных устройствах без специализированных аппаратных средств.
3.Описание алгоритма
Прежде, чем системы засекречивания и соответствующие математические проблемы могут быть обсуждены, должна быть определена трудность проблемы. Алгоритм – это процесс, описывающий проблему, которую нужно решить.
При поиске математической проблемы, чтобы базировать криптографическую систему, шифровальщики ищут такую проблему, для которой самый быстрый алгоритм берет показательное время. Чем больше времени требуется, чтобы вычислить лучший алгоритм для этой проблемы, тем более безопасной будет общее — ключевая система шифрования, основанная на той проблеме.
Сегодня должны рассмотреться только три типа безопасных и эффективных систем:
1. Целочисленная проблема факторизации (IFP): RSA и Rabin-Уильям.
2. Дискретная проблема логарифма (ПРОЦЕССОР ПЕРЕДАЧИ ДАННЫХ).
3. Эллиптическая кривая дискретная проблема логарифма (ECDLP).
Рассмотрим каждую систему в отдельности.
3.1. Целочисленная проблема факторизации (IFP): RSA и Рабин-Уильям 3.1.1. Описание задачи
Целочисленная проблема факторизации (IFP): находит p и q, учитывая составное число n, который является произведением двух больших простых чисел p и q.
Обнаружение больших простых чисел — относительно простая задача, а проблема разложения на множители, произведение двух таких чисел рассматривается в вычислительном отношении труднообрабатываемым. Базирующиеся на трудности этой проблемы Ривест, Чамир и Адлеман разработали RSA общее — ключевую систему шифрования.
В то время как целочисленная проблема факторизации занимала внимание известных математиков подобно Фермату и Гауссу более чем столетия, только в прошлых 20 годах был сделан прогресс в разрешении этой проблемы. Имеются две главных причины для этого явления. Сначала, изобретение RSA-системы шифрования в 1978 стимулировало много математиков к изучению этой проблему. И быстродействующие ЭВМ стали доступными для выполнения и испытания сложных алгоритмов. Фермат и Гаусс имели небольшой стимул для изобретения алгоритма разложения на множители решета поля цифр, так как этот алгоритм более громоздкий, чем испытательное деление с целью разложения на множители целых чисел вручную.
3.1.2. Разложения на множетели
Имеются в основном два типа специализированных и универсальных алгоритмов разложения на множители. Специализированные алгоритмы разложения на множители пытаются эксплуатировать специальные особенности номера 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 системе шифрования.
продолжение
--PAGE_BREAK--3.2.Дискретная проблема логарифма (процессор передачи данных): 3.2.1 Описание задачи
Алгоритм цифрового представления Американского правительства (системный агент каталога), 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 лет.
3.2.2. Разложение на множетели
Как с целочисленной проблемой факторизации, имеются два типа алгоритмов для решения дискретной проблемы логарифма. Специализированные алгоритмы пытаются эксплуатировать специальные особенности главной с. Текущие времена универсальных алгоритмов зависят только от размера с.
Самые быстрые универсальные алгоритмы, известные за решение процессора передачи данных, основаны на методе называемом конкрементом индекса. В этом методе создана база данных маленьких штрихов и их соответствующих логарифмов, в последствии за которой логарифмы произвольных полевых элементов могут быть легко получены. Это напоминание о методах основы множителя для целочисленной факторизации. По этой причине, если уточнение в алгоритмах для IFP или процессора передачи данных найдено, то вскоре подобный улучшенный алгоритм может ожидаться, чтобы быть решеным в пользу другай проблемы. С методами разложения на множители, алгоритмы конкремента индекса могут быть легко параллелизованы.
В случае с разложением на множители, лучшим текущим алгоритмом является процессор передачи данных — решето поля цифр. Он имеет то же самое асимптотическое текущее время, как соответствующий алгоритм для целочисленной факторизации. Это может свободно интерпретироваться с таким сообщением: что обнаружение логарифмов в случае k-бита главного модуля p
стольже трудно как разложение на множители k-бит составного число n.
Выполнение дискретных алгоритмов логарифма отстало от аналогичных усилий для разложения на множители целых чисел. В 1990 Брайен ЛаМакчия и O.Эндрю использовали вариант метода конкремента индекса, называемого методом Комплексного целого числа вычисляемого дискретный модуль логарифмов 191-разрядный штрих. Раньше Вебер, Дэнни и Зауер (студенты в Universitaet des Saarlandes, Германия) вычислили дискретный модуль логарифмов 248-разрядный штрих, используя решето поля цифр.
Проект, инициализированный в Университете Waterloo (Канады) пытается улучшать эту технологию, и в теории и в практике с целью принятия модуля логарифмов штрих p длины более 400 битов. Лучшие оценки состоят в том, что эта цель далека от достижения на несколько лет. Можно сказать, что принятие модуля логарифмов 512-разрядный штрих p останется труднообрабатываемым в течение следующих трех или четырех лет. На сравнении, 512-разрядный RSA модуль будет вероятно разложен на множители в пределах года или около этого.
Тем не менее, для долгой защиты, 1024-разрядный или больший moduli p должен использоваться в дискретных системах шифрования логарифма.
3.3.Эллиптическая кривая дискретная проблема логарифма (ECDLP) 3.3.1. Описание задачи
Эллиптический аналог кривой системного агента каталога (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 может просматриваться как похожий на процессор передачи данных, но в различной алгебраической установке.
продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по информатике
Реферат по информатике
Разработка программного канального вокодера
18 Июня 2015
Реферат по информатике
Сравнительные характеристики современных аппаратных платформ
3 Сентября 2013
Реферат по информатике
Обучающе-контроллирующая система для подготовки студентов
3 Сентября 2013
Реферат по информатике
Проверка и поиск вводимых значений в системе анализа данных
18 Июня 2015