Курсовая: Криптография
Криптография Содержание. В в е д е н и е 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.Симметричные криптосистемы
1.1. Классификация криптографических методов
Все многообразие существующих криптографических методов можно свести к следующим классам преобразований:1.2. Системы подстановок
Определение Подстановкой p на алфавите Zm называется автоморфизм Zm, при котором буквы исходного текста t замещены буквами шифрованного текста p(t): Zm à Zm; p: t à p(t). Набор всех подстановок называется симметрической группой Zm è будет в дальнейшем обозначаться как SYM(Zm). Утверждение SYM(Zm) c операцией произведения является группой, т.е. операцией, обладающей следующими свойствами: 1.Замкнутость: произведение подстановок p1p2 является подстановкой: p: tàp1(p2(t)). 2.Ассоциативность: результат произведения p1p2p 3 не зависит от порядка расстановки скобок: (p1p2)p3=p1(p2p3) 3.Существование нейтрального элемента: постановка i, определяемая как i(t)=t, 0£t<m, является нейтральным элементом SYM(Zm) по операции умножения: ip=pi для "pÎSYM(Zm). 4.Существование обратного: для любой подстановки 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 ,y 1 ,...,yn-1): yi=p(xi), 0£i<n где n – произвольное (n=1,2,..). Tk называется моноалфавитной подстановкой, если p неизменно при любом i, i=0,1,..., в противном случае Tk называется многоалфавитной подстановкой. Примечание. К наиболее существенным особенностям подстановки Tk относятся следующие: 1. Исходный текст шифруется посимвольно. Шифрования n-граммы (x 0 ,x1 ,..,xn-1) и ее префикса (x0 ,x 1 ,..,xs-1) связаны соотношениями Tk(x0 ,x1 ,..,xn-1)=(y0 ,y1 ,...,yn-1) Tk(x0 ,x1 ,..,xs-1)=(y0 ,y1 ,...,ys-1) 2. Буква шифрованного текста yi является функцией только i-й компоненты ключа pi и i-й буквы исходного текста xi.1.3. Подстановка Цезаря
Подстановка Цезаря является самым простым вариантом подстановки. Она относится к группе моноалфавитных подстановок. Определение. Подмножество Cm={Ck: 0£k<m} симметрической группы SYM(Zm), содержащее m подстановок Ck: j®(j+k) (mod m), 0£k < m, называется подстановкой Цезаря. Умножение коммутативно, CkCj=CjC k=Cj+k, C0 – идентичная подстановка, а обратной к Cк является Ck-1=Cm- k, где 0<k<m. Семейство подстановок Цезаря названо по имени римского императора Гая Юлия Цезаря, который поручал Марку Туллию Цицерону составлять послания с использованием 50-буквенного алфавита и подстановки C3. Подстановка определяется по таблице замещения, содержащей пары соответствующих букв “исходный текст – шифрованный текст”. Для C3 подстановки приведены в Табл. 1. Стрелка (à) означает, что буква исходного текста (слева) шифруется при помощи C3 в букву шифрованного текста (справа). Определение. Системой Цезаря называется моноалфавитная подстановка, преобразующая n-грамму исходного текста (x 0, x1 ,..,xn-1) в n‑грамму шифрованного текста (y0 ,y1 ,...,yn-1) в соответствии с правилом yi=Ck(xi), 0£i<n. Например, ВЫШЛИТЕ_НОВЫЕ_УКАЗАНИЯ посредством подстановки C3 преобразуется в еюыолхиврсеюивцнгкгрлб.Аàг | Йàм | Тàх | Ыàю |
Бàд | Кàн | Уàц | Ьàя |
Вàе | Лàо | Фàч | Эà_ |
Гàж | Мàп | Хàш | Юàа |
Дàз | Нàр | Цàщ | Яàб |
Еàи | Оàс | Чàъ | _àв |
Жàй | Пàт | Шàы | |
Зàк | Рàу | Щàь | |
Иàл | Сàф | Ъàэ |
ШИФРУЕМЫЙ_ТЕКСТ | 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 | 0 | 18 | 17 | 17 | 22 | 26 | 27 | 4 | 20 | 28 | 15 |
1.5.Системы шифрования Вижинера
Начнем с конечной последовательности ключа 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 ,k 1 ,...,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, p 1, ..., pr-1) по правилу VIGk : (x0 ,x1 ,...,xn-1) ® (y0 ,y1 ,...,yn-1) = (p0(х0 ), p1(х1), ..., pn-1(xn-1)), где используется условие pi = pi mod r. Следует признать, что и многоалфавитные подстановки в принципе доступны криптоаналитическому исследованию. Криптостойкость многоалфавитных систем резко убывает с уменьшением длины ключа. Тем не менее такая система как шифр Вижинера допускает несложную аппаратную или программную реализацию и при достаточно большой длине ключа может быть использован в современных ИС.1.6. Гаммирование
Гаммирование является также широко применяемым криптографическим преобразованием. На самом деле граница между гаммированием и использованием бесконечных ключей и шифров Вижинера, о которых речь шла выше, весьма условная. Принцип шифрования гаммированием заключается в генерации гаммы шифра с помощью датчика псевдослучайных чисел и наложении полученной гаммы на открытые данные обратимым образом (например, используя сложение по модулю 2). Процесс дешифрования данных сводится к повторной генерации гаммы шифра при известном ключе и наложении такой гаммы на зашифрованные данные. Полученный зашифрованный текст является достаточно трудным для раскрытия в том случае, если гамма шифра не содержит повторяющихся битовых последовательностей. По сути дела гамма шифра должна изменяться случайным образом для каждого шифруемого слова. Фактически же, если период гаммы превышает длину всего зашифрованного текста и неизвестна никакая часть исходного текста, то шифр можно раскрыть только прямым перебором (пробой на ключ). Криптостойкость в этом случае определяется размером ключа. Метод гаммирования становится бессильным, если злоумышленнику становится известен фрагмент исходного текста и соответствующая ему шифрограмма. Простым вычитанием по модулю получается отрезок ПСП и по нему восстанавливается вся последовательность. Злоумышленники может сделать это на основе догадок о содержании исходного текста. Так, если большинство посылаемых сообщений начинается со слов “СОВ.СЕКРЕТНО”, то криптоанализ всего текста значительно облегчается. Это следует учитывать при создании реальных систем информационной безопасности. Ниже рассматриваются наиболее распространенные методы генерации гамм, которые могут быть использованы на практике.1.7. Шифрование с помощью аналитических преобразований
Достаточно надежное закрытие информации может быть обеспечено при использовании для шифрования некоторых аналитических преобразований. Для этого нужно использовать методы алгебры матриц , например , умножение матрицы на вектор по правилу: || 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, что соответствует исходному тексту. Этот метод шифрования является формальнным , что позволяет легко реализовать его программными средствами.1.8. Криптосистемы на основе эллиптических уравнений
Эллиптические кривые - математический объект, который может определен над любым полем (конечным, действительным, рациональным или комплексным). В криптографии обычно используются конечные поля. Эллиптическая кривая есть множество точек (x,y), удовлетворяющее следующему уравнению: y2 = x3 + ax + b, а также бесконечно удаленная точка. Для точек на кривой довольно легко вводится операция сложения, которая играет ту же роль, что и операция умножения в криптосистемах RSA и Эль-Гамаля. В реальных криптосистемах на базе эллиптических уравнений используется уравнение y2 = x3 + ax + b mod p, где р - простое. Проблема дискретного логарифма на эллиптической кривой состоит в следующем: дана точка G на эллиптической кривой порядка r (количество точек на кривой) и другая точка Y на этой же кривой. Нужно найти единственную точку x такую, что Y = xG, то есть Y есть х-я степень G. 2. Эллиптические фунции – реализация метода открытых ключей2.1.Системы с открытым ключом
Как бы ни были сложны и надежны криптографические системы - их слабое мест при практической реализации - проблема распределения ключей. Для того, чтобы был возможен обмен конфиденциальной информацией между двумя субъектами ИС, ключ должен быть сгенерирован одним из них, а затем каким-то образом опять же в конфиденциальном порядке передан другому. То есть , в общем случае для передачи ключа опять же требуется использование какой-то криптосистемы. Для решения этой проблемы на основе результатов, полученных классической и современной алгеброй, были предложены системы с открытым ключом. Суть их состоит в том, что каждым адресатом ИС генерируются два ключа, связанные между собой по определенному правилу. Один ключ объявляется открытым, а другой закрытым. Открытый ключ публикуется и доступен любому, кто желает послать сообщение адресату. Секретный ключ сохраняется в тайне. Исходный текст шифруется открытым ключом адресата и передается ему. Зашифрованный текст в принципе не может быть расшифрован тем же открытым ключом. Дешифрование сообщение возможно только с использованием закрытого ключа, который известен только самому адресату.2.2. Типы криптографических услуг
Сегодня безопасные решения используют некоторую комбинацию из пяти различных криптографических услуг. Эти услуги: Проверка пользователя – введением пути в оперативную транзакцию, пользователь подтверждает, что это именно он. Идентификация Начала координат Данных - обеспечение источника сообщения. Целостность Данных - обеспечение сохранения данных неправомочными сторонами. Не отказ - получатель транзакции способен демонстрировать нейтральному третьему лицу, что требуемый передатчик действительно посылал транзакцию. Существуют два главных типа криптографии симметрично - ключевые и шифрование с открытым ключом, которые основаны на комплексных математических алгоритмах и управляются ключами. Симметрично - ключевые схемы криптографии требуют две стороны, которые хотят войти в доверие, чтобы разделить общий, секретный ключ. Каждый пользователь должен доверять другому, чтобы не обнародовать общий ключ третьему лицу. Эти системы эффективно зашифруют большое колличество данных ; однако, они излагают существенные ключевые проблемы управления в сетях больше чем в маленьком числе пользователей, и обычно используются вместе с шифрованием с открытым ключом. В системах шифрования отправитель сообщения шифрует его открытым ключом получателя. Получатель расшифровывает это сообщение своим личным (секретным) ключом. Имея открытый ключ получателя, каждый момент послать ему сообщение ,а прочитать его может только обладатель личного ключа. При этом получить личный ключ из открытого с помощью каких-либо математических операций невозможно. В системах цифровой лодписи подпись ''накладывается'' с использованием секретного ключа , а снимается с помощью открытого отправителя . Схемы Шифрования с открытым ключом требуют, чтобы каждая сторона имела ключевую пару: секретный ключ, который не должен быть раскрыт другому пользователю, и общий ключ, который может быть доступным в общем каталоге. Эти два ключа связаны жесткой односторонней функцией, так что в вычислительном отношении неосуществимо определить секретный ключ от общего ключа. Секретный ключ часто сохраняется в программном обеспечении с использованием пароля; однако, секретный ключ должен идеально быть сохранен в безопасной аппаратной лексеме, которая предотвращает прямой доступ или вмешательство. Криптосистемы с ключом общего пользования решают ключевые проблемы управления, связанные с симметрично - ключевым кодированием; однако, шифрование с открытым ключом предлагает способность эффективно осуществить цифровые представления.2.3. Цифровые представления
Цифровые представления – это электронный эквивалент традиционных рукописных сигнатур. Рукописные сигнатуры обеспечивают службу безопасности, потому что уникальность почерка личностей делает сигнатуры интенсивными. В отличие от почерка индивидуума, электронная информация проста для дублирования. Если электронные сигнатуры использовались таким же образом как письменные сигнатуры, защита легко может быть поставлена под угрозу. Цифровые представления могут использоваться, чтобы использовать три криптогафических услуги: идентификацию, неотказ, и целостность данных. код с исправлением ошибок может использоваться, чтобы генерировать сильные цифровые представления с маленьким количеством обработки энергии.2.4. Эллиптическая криптография кривой.
После изобретения шифрования с открытым ключом, были предложены многочисленные общее - ключевые системы засекречивания на ее основе.Криптография с открытым ключом может применяться как для шифрования сообщений , так и для аутентификации (так называемая цифровая подпись). Каждая из этих систем полагается на трудную математическую проблему для ее защиты. Они являются труднообрабатываемыми, потому что годы интенсивного изучения ведущими математиками и компьютерными учеными не сумели создать эффективные алгоритмы для их решения, так, чтобы практически, они остались труднообрабатываемыми с текущей вычислительной технологией. Требуется время , чтобы получить безопасный ключ с лучшим известным алгоритмом для этой проблемы. Обще - ключевая система шифрования, основана на этой проблеме. Эллиптические кривые - математические конструкции, которые изучились математиками начиная с семнадцатого столетия. В 1985 Нейл Коблиц и Виктор Миллер независимо предложили криптосистемы с ключом общего пользования, использующие группу точек на эллиптической кривой, и эллиптическая криптография кривой (код с исправлением ошибок) была рождена. Начиная с того времени, многочисленные исследователи и разработчики потратили несколько лет, исследуя силу кода с исправлением ошибок и улучшая методы для его выполнения. Сегодня более быстрая криптосистема с ключом общего пользования предлагает практическую и безопасную технологию для наиболее сдерживаемой среды. Код с исправлением ошибок дает самую высокую силу в любой известной криптосистемы с ключом общего пользования из-за трудности жесткой проблемы, на которой это основано. Эта большая трудность жесткой проблемы эллиптической кривой, дискретной проблемы логарифма (ECDLP) означает что меньший размер ключа выдает эквивалентные уровни защиты. Учитывая лучшие известные алгоритмы к целым числам множителя и вычисляют эллиптические логарифмы кривой, размеры ключа являются эквивалентной силой, основанной на MIPS годах, необходимых, чтобы восстановить один ключ. Трудность проблемы и заканчивающихся размеров ключа эквивалентной силы предоставляет несколько прямых выгод к выполнению электроной платы.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 системе шифрования. 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 может просматриваться как похожий на процессор передачи данных, но в различной алгебраической установке.3.3.2. Разложения на множетели
Начиная с 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. Имеется простое испытание над суперсингулярными кривыми для того чтобы гарантировать, что эллиптическая кривая не уязвима; через это испытание, эти кривые специально запрещены во всех стандартах эллиптических систем кривой.3.3.3. Программные разложения фунции на множетели
Криптографический алгоритм 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 | 2.048 | 210 | 10:1 |
10^78 | 21 | 600 | 35:1 |