Основы криптографии

Экскурс в историю электронной криптографии. Процесс превращения открытого текста в зашифрованный. Шифрование с секретным ключом. Стандарт Data Encryption Stantart. Способность шифра противостоять всевозможным атакам. Применения криптографических методов.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 12.06.2011
Размер файла 35,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

Криптография (что в переводе с греческого означает “тайнопись”) издавна использовалась при обмене самой разнообразной информацией. Самые ранние упоминания об использовании криптографии: Египет - 1900 г. до н.э., Месопотамия - 1500 г. до н.э., при написании Библии - 500 г. до н.э.

Одним из наиболее известных в древней истории деятелей, постоянно пользовавшийся тайнописью, был Юлий Цезарь. Он придумал шифр, носящий название шифр Цезаря (Caesar cipher).

Тайнописью пользовались на протяжении средних веков в Европе, на Ближнем Востоке и в Северной Америке.

Во время гражданской войны в США тайнопись использовалась и северянами и южанами. С тех пор она использовалась в каждой значительной войне.

Во время Второй мировой войны польские и британские дешифровальщики раскрыли секрет немецкой шифровальной машины Энигма. В результате было уничтожено множество немецких подводных лодок, потоплен линкор Бисмарк, и вооруженные силы Германии понесли тяжелые потери в ряде операций.

Теперь, в XXI веке, вследствие огромной популярности Web и использование ее в электронной коммерции, технология шифрования и сопутствующие ей алгоритмы шифрования стали доступны массовому потребителю. В сетевом бизнесе для защиты безопасности финансовых сделок, сетевых услуг и потребительской информации основной упор делается на цифровые сертификаты и технологии шифрования как с открытым так и с секретным ключами.

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

Экскурс в историю электронной криптографии

Появление в середине двадцатого столетия первых электронно-вычислительных машин кардинально изменило ситуацию в области шифрования (криптографии). С проникновением компьютеров в различные сферы жизни возникла принципиально новая отрасль - информационная индустрия.

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

"Рассосредоточение" информации по местам ее хранения и обработки, чему в немалой степени способствовало появление в огромных количествах дешевых персональных компьютеров и построенных на их основе локальных и глобальных национальных и транснациональных сетей ЭВМ, использующих спутниковые каналы связи, создание высокоэффективных систем разведки и добычи информации, обострило ситуацию с защитой информации.

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

Объем циркулирующей в обществе информации стабильно возрастает. Популярность всемирной сети Интренет в последние годы способствует удваиванию информации каждый год. Фактически, на пороге нового тысячелетия человечество создало информационную цивилизацию, в которой от успешной работы средств обработки информации зависит благополучие и даже выживание человечества в его нынешнем качестве. Произошедшие за этот период изменения можно охарактеризовать следующим образом:

объемы обрабатываемой информации возросли за полвека на несколько порядков;

характер обрабатываемых данных стал чрезвычайно многообразным и более не сводится к исключительно текстовым данным;

информация полностью "обезличилась", т.е. особенности ее материального представления потеряли свое значение - сравните письмо прошлого века и

современное послание по электронной почте;

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

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

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

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

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

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

Перечисленные выше изменения привели к тому, что очень быстро после распространения компьютеров в деловой сфере практическая криптография сделала в своем развитии огромный скачок, причем сразу по нескольким направлениям:

В современном мире информационный ресурс стал одним из наиболее мощных рычагов экономического развития. Владение информацией необходимого качества в нужное время и в нужном месте является залогом успеха в любом виде хозяйственной деятельности. Монопольное обладание определенной информацией оказывается зачастую решающим преимуществом в конкурентной борьбе и предопределяет, тем самым, высокую цену "информационного фактора".

Широкое внедрение персональных ЭВМ вывело уровень "информатизации" деловой жизни на качественно новую ступень. Ныне трудно представить себе фирму или предприятие (включая самые мелкие), которые не были бы вооружены современными средствами обработки и передачи информации. В ЭВМ на носителях данных накапливаются значительные объемы информации, зачастую носящей конфиденциальный характер или представляющей большую ценность для ее владельца.

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

Информация в современном обществе - одна из самых ценных вещей в жизни, требующая защиты от несанкционированного проникновения лиц не имеющих к ней доступа.

Основные задачи криптографии

Задача криптографии, т.е. тайная передача, возникает только для информации, которая нуждается в защите. В таких случаях говорят, что информация содержит тайну или является защищаемой, приватной, конфиденциальной, секретной. Для наиболее типичных, часто встречающихся ситуаций такого типа введены даже специальные понятия:

государственная тайна;

военная тайна;

коммерческая тайна;

юридическая тайна;

врачебная тайна и т. д.

Далее мы будем говорить о защищаемой информации, имея в виду следующие признаки такой информации:

имеется какой-то определенный круг законных пользователей, которые имеют право владеть этой информацией;

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

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

Простые шифры

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

Шифр Цезаря

Шифр Цезаря основан на фиксированном смещении по кругу букв алфавита. Буквы сдвигаются по кругу, так что после последней буквы алфавита идет его первая буква.

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

В шифре Цезаря ключи представляют собой число символов, на которое сдвигаются буквы алфавита. При шифровании вместо каждой буквы открытого текста ставится буква отстоящая от нее вправо на число букв задаваемое значением ключа. Расшифровка заключается в смещении каждой буквы влево на число букв, задаваемое тем же значением ключа, которое использовалось при шифровании. (То есть decryptKey = -encrypKey)

Не нужно быть опытным дешифровальщиком, чтобы понять, что Шифр Цезаря обладает низкой стойкостью. В нем (в случае русского алфавита) возможны всего 32 различных кличей, один из которых отображает открытый текст в тот же открытый текст.

Это дает представление о размере пространства ключей. Пространство ключей шифра - это набор всех возможных ключей, которые работаю с этим шифром. Чтобы шифр был эффективным, пространство ключей должно быть большим. Размер пространства ключей обычно измеряется числом двоичных разрядов ключа. В n-битном пространстве ключей возможны 2n разных ключа. Для 32-х-битного ключа это число составляет 4 294 967 296 разных ключей. Хотя такое число может показаться большим, на самом деле оно достаточно мало. Средней мощности компьютер может за день “перепробовать” 4 миллиарда ключей.

Реализация шифра Цезаря на Delphi.

Шифрование Цезаря

function Cesar_Crypt(s:string):string;

const

SizeA = 33; //Размер алфавита

RusA = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'; //Алфавит

var i, P :integer;

temp:string;

begin

s:=AnsiLowerCase(s);

temp:='';

//удаление символов сообщения, не входящих в наш алфавит

for i := 1 to length(s) do if pos(s[i],RusA)<>0 then temp:=temp+s[i];

s:=temp;

for i:=1 to length(s) do

begin

P:=pos(s[i],RusA)+3;

if P>SizeA then P:=P-SizeA;

Result:=Result+RusA[P];

end;

end;

Дешифрование Цезаря

function Cesar_DeCrypt(s:string):string;

const SizeA = 33; //Размер алфавита

RusA = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'; //Алфавит

var i, P :integer;

temp:string;

begin

s:=AnsiLowerCase(s);

temp:='';

//удаление символов сообщения, не входящих в наш алфавит

for i := 1 to length(s) do if pos(s[i],RusA)<>0 then temp:=temp+s[i];

s:=temp;

for i:=1 to length(s) do

begin

P:=pos(s[i],RusA)-3;

if P<=0 then P:=P+SizeA;

Result:=Result+RusA[P];

end;

end;

Простой подстановочный шифр

Еще одним видом простого шифра являются подстановочные шифры. Они были одними из наиболее популярных шифров со Средних веков до 19-го столетия. В простых подстановочных шифрах вместо одной буквы алфавита подставляется другая. В более сложных подстановочных шифрах вместо одной группы букв подставляется другая.

Даже простые подстановочные шифры сложнее шифра Цезаря. Если вы сможете расшифровать одну букву в шифре Цезаря, то после этого расшифруете любую букву в нем. Но в случае с простым подстановочным шифром так не происходит. Ключом к простому подстановочному шифру является таблица соответствия буквам открытого текста букв зашифрованного текста. Этот ключ может быть представлен в виде 32-х-буквенной строки.

Например: НАФЧЫРИЦЛЙЯДМЗСЪЖЩТПОКЭЬГЮЕУШВБХ

Число ключей для простого подстановочного шифра составляет 32!, а это больше чем 2,6*1035.

На первый взгляд может показаться, что простой подстановочный шифр обладает высокой стойкостью, особенно потому, что у него огромное пространство ключей. Однако, он легко раскрывается методом, в котором применяются буквенные шаблоны, присущие конкретному языку.

В русском языке буквы О и Е встречаются значительно чаще других букв, таких, например, как Ъ и Ф. В таблице 1 приведены относительные частоты использования букв от А до Я, т.е. Ожидаемые числа использования этих букв в последовательности из 100 букв осмысленного текста. Это не означает, что среди 100 букв любого текста на русском языке буква В встретится всегда ровно 2 раза, а Ъ вообще не встретится. Но в среднем это действительно так.

Таблица 1

Относительные частоты букв

А

5,7

И

4,8

Р

2,9

Ш

0,5

Б

1,3

Й

0,7

С

3,7

Щ

0,3

В

3,0

К

2,1

Т

4,4

Ъ

0,0

Г

1,3

Л

3,4

У

1,9

Ы

1,4

Д

2,2

М

2,2

Ф

0,1

Ь

1,3

Е

5,8

Н

4,7

Х

0,6

Э

0,3

Ж

0,8

О

7,8

Ц

0,2

Ю

0,4

З

1,2

П

1,9

Ч

0,9

Я

1,4

Подобное распределение частот может быть найдено для диграфов (двухбуквенных комбинаций), триграфов (трехбуквенных комбинаций) и n-графов (n-буквенных комбинаций).

Это распределение частоты дает дешифровальщикам громадную информацию. Кроме распределения частот может быть использован словарь русской лексики, для автоматической проверки подстановочного отображения конкретной буквы. Например, однобуквенными словами в русском языке являются а, в, и, к и с. Дополнительно в распоряжении специалистов по криптоанализу имеется дополнительная информация, такая как частота слов и основные правила русской грамматики. Этого обычно оказывается достаточно для того, чтобы раскрыть простой подстановочный шифр.

Криптоанализ более сложных шифров требует более основательных знаний в области математики и теории передачи данных.

Шифрование с секретным ключом

В некоторых алгоритмах шифрования для шифрования и расшифровки используется один и тот же ключ, или дешифровальный ключ может быть вычислен по шифровальному ключу за небольшое время. Такие алгоритмы называются алгоритмами с секретным ключом, алгоритмами с закрытым ключом или симметричными алгоритмами. Ключ используемый в таких алгоритмах должен храниться в тайне.

Шифр Виженера

Шифр Виженера (фр. Chiffre de Vigenere) -- метод полиалфавитного шифрования буквенного текста с использованием ключевого слова.

Этот метод является простой формой многоалфавитной замены. Шифр Виженера изобретался многократно. Впервые этот метод описал Джован Баттиста Беллазо (итал. Giovan Battista Bellaso) в книге La cifra del. Sig. Giovan Battista Bellasо в 1553 году, однако в XIX веке получил имя Блеза Виженера, швейцарского дипломата. Метод прост для понимания и реализации, он является недоступным для простых методов криптоанализа.

В шифре Цезаря каждая буква алфавита сдвигается на несколько строк; например в шифре Цезаря при сдвиге +3, A стало бы D, B стало бы E и так далее. Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига. Для зашифровывания может использоваться таблица алфавитов, называемая tabula recta или квадрат (таблица) Виженера. Применительно к латинскому алфавиту таблица Виженера составляется из строк по 26 символов, причём каждая следующая строка сдвигается на несколько позиций. Таким образом, в таблице получается 26 различных шифров Цезаря. На разных этапах кодировки шифр Виженера использует различные алфавиты из этой таблицы. На каждом этапе шифрования используются различные алфавиты, выбираемые в зависимости от символа ключевого слова. Например, предположим, что исходный текст имеет вид:

Человек, посылающий сообщение, записывает ключевое слово («КИНО») циклически до тех пор, пока его длина не будет соответствовать длине исходного текста:

Первый символ исходного текста A зашифрован последовательностью К, которая является первым символом ключа. Первый символ «Л» шифрованного текста находится на пересечении строки «К» и столбца «A» в таблице Виженера. Точно так же для второго символа исходного текста используется второй символ ключа; то есть второй символ шифрованного текста «Ш» получается на пересечении строки «И» и столбца «П». Остальная часть исходного текста шифруется подобным способом.

Исходный текст: АПЕЛЬСИН

Ключ: КИНОКИНО

Зашифрованный текст: ЛШУЫЗЫЧЕ

Реализация шифра Виженера на Delphi.

Шифрование

function Viz_Crypt(s,key:string):string;

const

SizeA = 33; //Размер алфавита

RusA = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'; //Алфавит

var i, P, t :integer;

temp:string;

begin

s:=AnsiLowerCase(s);

key:=AnsiLowerCase(key);

t:=0;

for i:=1 to length(s) do

begin

inc(t);

if t>length(key) then t:=1;

P:=pos(s[i],RusA)+pos(key[t],RusA);

if P>SizeA then P:=P-SizeA;

Result:=Result+RusA[P];

end;

end;

Дешифрование

function Viz_DeCrypt(s,key:string):string;

const

SizeA = 33; //Размер алфавита

RusA = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'; //Алфавит

var i, P, t :integer;

temp:string;

begin

s:=AnsiLowerCase(s);

key:=AnsiLowerCase(key);

t:=0;

for i:=1 to length(s) do

begin

inc(t);

if t>length(key) then t:=1;

P:=pos(s[i],RusA)-pos(key[t],RusA);

if P<=0 then P:=P+SizeA;

Result:=Result+RusA[P];

end;

end;

Стандарт Data Encryption Stantart (DES)

В 1977 г. в США Национальным Институтом Стандартов и Технологий (NIST) в качестве стандартного алгоритма шифрования для защиты несекретной информации был принят алгоритм DES. Этот алгоритм вполне уверенно противостоял открытым попыткам взлома вплоть до середины 90-х годов, когда были отмечены попытки взлома с использованием методов дифференциального и линейного криптоанализа. К январю 1999 г. фонду Electronic Frontier Foundation уже удавалось взламывать сообщения, зашифрованные с помощью алгоритма DES, не более чем за сутки.

Несмотря на свою уязвимость, этот алгоритм все еще используется в некоторых приложениях и обеспечивает достаточно высокий уровень защиты в тех случаях, когда затраты на расшифровку информации превышают ее ценность. Например расшифровка информации, содержащейся в кредитной карточке, будь она зашифрована по алгоритму DES, обойдется намного дороже, чем сумма, которую можно будет извлечь в результате этого. В алгоритме DES используется 64-х-разрядный ключ - 8 битов применяются для исправления ошибок (контроля четности). В результате эффективная длина ключа составляет 56 бит. Шифрование и расшифровка в алгоритме DES осуществляется блоками по 64 бита (8 байтов), и из 64 битов открытого текста получается 64 бита зашифрованного текста. Алгоритм заключается в не зависящей от ключа перестановке входных данных с последующим шифрованием их с помощью открытого ключа, после чего осуществляется обратная перестановка данных.

Методы шифрования

Алгоритм DES может быть использован в различных методах шифрования, в зависимости от назначения. Вот несколько примеров методов шифрования:

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

Метод CBC (Cipher Block Changing - Сцепление зашифрованных блоков) - n-ный блок шифруемого текста получается в результате выполнения операции XOR (исключающего или) над (n-1)-м блоком защифрованного текста и n-ным блоком открытого текста.

Метод CFB (Cipher Feedback - Обратная связь по шифру) - предыдущая порция зашифрованного текста объединяется со следующей порцией открытого текста.

Метод OFB (Output Feedback - Обратная связь по выходу) - алгоритм DES используется для создания псевдослучайного потока битов, который объединяется с открытым текстом, в результате чего создается поток зашифрованного текста.

Метод PCBC (Propagating Cipher Block Changing - Сцепление зашифрованных блоков с множественной связью) - Отличается от метода CBC тем, что с n-ным блоком зашифрованного текста объединяется как (n-1)-й блок зашифрованного текста, так и (n-1)-й блок открытого текста.

Когда требуется зашифровать не 8-и-байтовый, а более короткий блок открытого текста (например, последние байты файла или сообщения), он дополняется до заполнения 64-х-разрядного регистра. В связи с этим возникает проблема - как при расшифровке отличить исходный текст от дополняющих байтов. Для решения этой проблемы компанией RSA Data Encryption, Inc. Был разработан стандарт под названием “Public Key Cryptography Standart #5 padding ” (“Дополнение к стандарту шифрования с открытым ключом #5”). Это дополнение заключается в следующем: “Если n - число байтов, которыми нужно дополнить блок, то значение каждого дополняющего байта устанавливается в n. Если дополнение не требуется, то добавляется один блок, в котором значение каждого байта устанавливается в 8”

Методы шифрования и дополнения блоков, используемые с алгоритмом DES, по своей природе, универсальны и могут быть использованы с другими шифрами, такими, например, как DESede или Blowfish

Алгоритм DESede

В связи с популярностью алгоритма DES и его недостатками, выявленными во второй половине 90-х годов, криптографы искали способы повышения его стойкости, при одновременном сохранении его в качестве базового алгоритма шифрования. В алгоритмах DESede выполняется троекратное шифрование по алгоритму DES, что приводит к эффективной длине ключа в 168 разрядов. В одном из вариантов DESede третий ключ равен первому, эффективная длина ключа в таком случае составляет 112 разрядов.

Алгоритм Blowfish

Blowfish - это шифр с секретным ключом, разработанный Брюсом Шейнером, ведущим специалистом-криптографом, автором нашумевшей книги Applied Cryptography (Прикладная криптография). Этот алгоритм на запатентован, он бесплатный и беспошлинный, и на его использование не требуется лицензии.

Blowfish является 64-х-разрядным блочным шифром, предназначенным для встраиваемой замены алгоритма DES. Он превосходит DES по скорости шифрования и намного - по стойкости. Длина его ключа варьируется от 32-х до 448-и разрядов.

Шифрование с открытым ключом

Ранее рассматривались методы шифрования с закрытым ключом. Но шифрование с секретным ключом - это не единственный способ шифрования данных. Одним из наиболее значительных прорывов в криптографии двадцатого столетия была разработка шифрования с открытым ключом.

Алгоритмы с открытым ключом, или асимметричные алгоритмы, базируются на использовании отдельных шифровального (открытого - public) и дешифровального (закрытого - private) ключей. В алгоритмах с открытым ключом требуется, чтобы закрытый ключ было невозможно вычислить по открытому ключу. Исходя из этого требования шифровальный ключ может быть доступным кому угодно без какого-либо ущерба безопасности алгоритма шифрования.

Алгоритм Ривеста-Шамира-Эдлемана

Этот алгоритм известен как RSA и носит инициалы его изобретателей. Этот алгоритм имеет важное значение, поскольку может быть использован как для шифрования, так и для цифровых подписей.

Стойкость алгоритма RSA определяется сложностью разложения больших чисел на множители. (Наверное, криптоанализ шифра RSA возможен и без использования операции разложения на множители, но никто до сих пор не доказал этого).

Ниже кратко описан принцип действия алгоритма RSA:

Генерируется два простых числа p и q (100 цифр и более), причем n=pq.

В качестве открытого ключа выбирается целое число e, взаимно простое с числом (p-1)(q-1).

Закрытый ключ d вычисляется из условия ed mod (p-1)(q-1) = 1.

Шифрование открытого числа m (где m < n), осуществляется путем вычисления mc mod n.

Расшифровка зашифрованного числа c осуществляется путем вычисления cd mod m.

Основным недостатком шифра RSA и других алгоритмов с открытым ключом, является их низкая производительность, по сравнению с алгоритмами с секретным ключом. Алгоритм RSA уступает по скорости сопоставимым реализациям алгоритма DES в 100, а то и в 1000 раз. У RSA шифрование идет блоками, а DES поточный. Хотя шифр RSA еще никому не удалось раскрыть, прогресс в математике может сделать этот шифр устаревшим. При наличии эффективного способе разложения больших чисел на множители шифр RSA можно легко раскрыть. К тому же алгоритм RSA и другие алгоритмы с открытым ключом не защищены от множества атак, которые определяются способами использования этих алгоритмов.

Алгоритм AlGamal

Хотя RSA и является одним из самых популярных алгоритмов шифрования с открытым ключом, имеется также множество других алгоритмов. Один из них - алгоритм AlGamal, разработанный в 1984 г. Тэгером Эль-Гамалом. Он не запатентован и может использоваться свободно.

Защищенность алгоритма AlGamal базируется на сложности вычисления дискретного логарифма в конечном поле. А заключается алгоритм в следующем:

Выбирается простое число p и два случайных числа, g и x, меньших, чем p.

Открытый ключ состоит из чисел g, p, и y, где y=gx mod p. Закрытым ключом является число x.

Для шифрования блока сообщения m, выбирается случайное число k, такое, что k и (p-1) взаимно простые числа, и вычисляется a=gk mod p. Зашифрованным блоком являются оба числа - a и b.

Для расшифровки a и b вычисляется m=(b/ax) mod p.

Гаммирование

Гаммирование является также широко применяемым криптографическим преобразованием. На самом деле граница между гаммированием и использованием бесконечных ключей и шифров Вижинера весьма условная.

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

Процесс дешифрования данных сводится к повторной генерации гаммы шифра при известном ключе и наложении такой гаммы на зашифрованные данные.

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

Метод гаммирования становится бессильным, если злоумышленнику становится известен фрагмент исходного текста и соответствующая ему шифрограмма. Простым вычитанием по модулю получается отрезок ПСП и по нему восстанавливается вся последовательность. Злоумышленники может сделать это на основе догадок о содержании исходного текста. Так, если большинство посылаемых сообщений начинается со слов “СОВ.СЕКРЕТНО”, то криптоанализ всего текста значительно облегчается. Это следует учитывать при создании реальных систем информационной безопасности.

Стойкость шифра

Способность шифра противостоять всевозможным атакам на него называют стойкостью шифра. Под атакой на шифр понимают попытку вскрытия этого шифра. Понятие стойкости шифра является центральным для криптографии. Хотя качественно понять его довольно легко, но получение строгих доказуемых оценок стойкости для каждого конкретного шифра - проблема нерешенная. Это объясняется тем, что до сих пор нет необходимых для решения такой проблемы математических результатов. Поэтому стойкость конкретного шифра оценивается только путем всевозможных попыток его вскрытия и зависит от квалификации криптоаналитиков, атакующих шифр. Такую процедуру иногда называют проверкой стойкости. Важным подготовительным этапом для проверки стойкости шифра является продумывание различных предполагаемых возможностей, с помощью которых противник может атаковать шифр. Появление таких возможностей у противника обычно не зависит от криптографии, это является некоторой внешней подсказкой и существенно влияет на стойкость шифра. Поэтому оценки стойкости шифра всегда содержат те предположения о целях и возможностях противника, в условиях которых эти оценки получены. Прежде всего, как это уже отмечалось выше, обычно считается, что противник знает сам шифр и имеет возможности для его предварительного изучения. Противник также знает некоторые характеристики открытых текстов, например, общую тематику сообщений, их стиль, некоторые стандарты, форматы и т.д.

Из более специфических приведем еще три примера возможностей противника:

противник может перехватывать все шифрованные сообщения, но не имеет соответствующих им открытых текстов;

противник может перехватывать все шифрованный сообщения и добывать соответствующие им открытые тексты;

противник имеет доступ к шифру (но не ключам!) и поэтому может зашифровывать и дешифровывать любую информацию

Дайджесты сообщений

Область применения криптографических методов не ограничивается только защитой тайны сообщений. Они также используются в следующих областях:

Целостность - для обнаружения фактов изменения или подмены сообщения

Аутентификация - для проверки того, что сообщение действительно создано лицом или организацией, от имени которой они поступили.

Неаннулируемость - для недопущения того, чтобы тот, кто послал сообщение или выполнил некоторую операцию над объектом, мог отрицать тот факт, что именно он сделал это.

Перечисленные задачи решаются с помощью дайджестов сообщений и цифровых подписей.

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

По конкретному значению дайджеста сообщения невозможно численными методами установить сообщение, по которому функция дайджеста сообщения вычислила это значение.

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

Заметьте, в самой функции дайджеста сообщений никакого секрета нет - она общедоступна и не использует ключей. Примерами алгоритма дайджеста сообщения являются алгоритмы MD5 и SHA-1.

Цифровые подписи и цифровые сертификаты

Цифровые подписи обеспечивают замечательную возможность узнавать то, было ли сообщение (или иной объект) случайно или преднамеренно изменено. Цифровые сертификаты позволяют установить, было ли сообщение действительно создано конкретным лицом или организацией.

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

Создается цифровая подпись

Вычисляется дайджест сообщения

Дайджест сообщения зашифровывается с помощью закрытого ключа из пары “открытый/закрытый ключ”, в результате чего получается цифровая подпись.

Производится верификация цифровой подписи

Подпись расшифровывается с помощью открытого ключа из вышеупомянутой пары “открытый/закрытый ключ ”, в результате чего восстанавливается дайджест сообщения.

Значение расшифрованного дайджеста сообщения расшифровывается и сравнивается со значением дайджеста сообщения вычисленного из исходного сообщения

Если оба значения дайджеста сообщения совпадают, то подпись подлинная. В противном случае или подпись, или сообщение были изменены.

Описанный выше подход к созданию и проверке подписей несет в себе как характерные черты реальных подписей, так и другие особенности, которые обеспечивают следующие возможности:

Подпись нельзя подделать - подписавшее лицо использует для подписи закрытый ключ, а он является секретным.

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

Подпись неповторима - каждому сообщению соответствует своя, неповторимая подпись. Невозможно численными методами использовать подписи вместе с другим сообщением.

Факт подписи невозможно отрицать - после того как сообщение подписано и отослано вместе с подписью, лицо, сделавшее это не может отрицать, что оно сделало это (если только не докажет, это закрытый ключ был похищен)

Как видно, цифровые подписи - это прекрасный способ подтверждения того, что сообщение (или объект) было создано, или проверено конкретным лицом или организацией. Но есть одна проблема - вам нужно каким-то образом определить, что открытый ключ, который вы получили от имени кого-то, - это действительно его открытый ключ. Вот где в дело вступают цифровые сертификаты.

Цифровые сертификаты - это сообщения, подписанные полномочным органом сертификации (Certificate Aythory - CA), который заверяет значение открытого ключа, принадлежащего кому-либо, и использование конкретного алгоритма шифрования. Чтобы получить сертификат полномочного органа сертификации, обычно нужно представить в него документы, подтверждающие личность заявителя.

В больших сетях, таких как Internet, может оказаться необходимой многоуровневая структура сертификации. В таком случае орган высшего уровня, например компания VeriSign, Inc., могут выдавать сертификаты полномочным органам второго уровня. Органы второго уровня могут, в свою очередь, выдавать сертификаты другим компаниям. В результате возникает иерархическая структура сертификации. Сертификация лиц находящихся в конце ветвей этой структуры зависит от лиц занимающих более высокий уровень иерархии. Такие связи называют цепочками сертификации.

Сертификаты X.509 ISO являются популярным видом цифровых сертификатов. X.509 означает определенный формат и содержание цифрового сертификата. Этот формат стал популярным благодаря протоколу защищенных сокетов (SSL) компании Netscape, формату архивных файлов Java (JAR), а также ряду других новых стандартов безопасности Internet.

Заключение

Значение криптографии в современном информационном обществе трудно переоценить. Новая информационная инфраструктура создает новые опасности для информации. Открытые каналы Internet могут стать серьезной угрозой безопасности передачи данных. Однако и криптография не стоит на месте. Теперь она стала доступна широким массам пользователей. При помощи широкодоступных алгоритмов шифрования, а также цифровых подписей и сертификатов, пользователи могут добиться безопасности и скрытности передачи своих данных.

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

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

Список использованной литературы:

криптография текст шифрование

1. Джим Яворски, Пол Дж. Перроун Система безопасности Java. Спб 2001 г.

2. М. Холл Сервлеты и Java Server Pages. Спб 2001 г.

3. М. Холл, Л Браун Программирование для Web. Спб 2002 г.

4. Баричев С.В. Криптография без секретов. М.: Наука, 1998. -120 с.

Размещено на Allbest.ru


Подобные документы

  • Изучение основных методов и алгоритмов криптографии с открытым ключом и их практического использования. Анализ и практическое применение алгоритмов криптографии с открытым ключом: шифрование данных, конфиденциальность, генерация и управление ключами.

    дипломная работа [1,2 M], добавлен 20.06.2011

  • Изучение, освоение на примере симметричных шифров элементы практической криптографии. Использование расширенного алгоритма Евклида для нахождения обратного по модулю числа. Ознакомление с демо-версией программы симметричного шифрования с секретным ключом.

    лабораторная работа [97,5 K], добавлен 18.04.2015

  • Краткая история развития криптографических методов защиты информации. Сущность шифрования и криптографии с симметричными ключами. Описание аналитических и аддитивных методов шифрования. Методы криптографии с открытыми ключами и цифровые сертификаты.

    курсовая работа [1,2 M], добавлен 28.12.2014

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

    реферат [77,1 K], добавлен 10.12.2011

  • Краткие сведения о истории криптографии. Симметричные криптосистемы (системы с секретным ключом) и системы с открытым ключом. Аутентификация и идентификация, электронная цифровая подпись. Управление ключами, их архивирование, хранение и восстановление.

    доклад [458,9 K], добавлен 08.11.2013

  • Появление шифров, история эволюции криптографии. Способ приложения знаний особенностей естественного текста для нужд шифрования. Критерии определения естественности. Способ построения алгоритмов симметричного шифрования. Криптосистема с открытым ключом.

    реферат [452,2 K], добавлен 31.05.2013

  • Разработка программы, реализующей процедуры шифрования и расшифрования текста по стандарту DES (Data Encryption Standard). Структура алгоритма шифрования, схема выработки ключевых элементов. Использование криптографического программного средства.

    курсовая работа [1,7 M], добавлен 15.06.2013

  • Разработка криптографического алгоритма программы ручного шифра по таблице Виженера. Разработка программы, выполняющей шифрование и расшифрование. Особенности использования в качестве ключа самого открытого текста. Алгоритмы решения "обратных" задач.

    курсовая работа [45,0 K], добавлен 13.11.2009

  • Принципы криптографии, история ее развития. Шифры с секретным и с открытым ключом. Криптография как оружие, угрозы данным, их раскрытие. Ужесточчение мер в отношении использования криптоалгоритмов. Раскрытие криптосистемы и стойкость системы к раскрытию.

    доклад [35,8 K], добавлен 09.11.2009

  • История возникновения криптографии. Открытый ключ криптосистемы. Шифрование секреторного ключа. Математические методы обеспечения конфиденциальности и аутентичности информации. Преобразование текста на основе секретного алгоритма в шифрованный текст.

    презентация [260,8 K], добавлен 11.10.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.