Все виды шифров. Криптография и виды шифрования. Термины, связанные с шифрованием

Все виды шифров. Криптография и виды шифрования. Термины, связанные с шифрованием

03.05.2019

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ ЮЖНОГО ФЕДЕРАЛЬНОГО УНИВЕРСИТЕТА В г. ТАГАНРОГЕ Факультет информационной безопасности Кафедра БИТ Реферат на тему

«Криптография и виды шифрования»

ст. гр. И-21

Выполнил: В. И. Мищенко Проверил: Е. А. Маро Таганрог — 2012

Введение

1. История криптографии

1.1 Появление шифров

1.2 Эволюция криптографии

2. Криптоанализ

2.1 Характеристики сообщений

2.2 Свойства естественного текста

2.3 Критерии определения естественности

3. Симметричное шифрование

4. Ассиметричное шифрование

Заключение

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

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

С тех пор как письменность стала широко распространенной, криптография стала становиться вполне самостоятельной наукой. Первые криптографические системы можно встретить уже в начале нашей эпохи. Например, Юлий Цезарь в своей личной переписке пользовался систематическим шифром, который впоследствии был назван его именем.
Серьезное развитие шифровальные системы получили в эпоху первой и второй мировых войн. Начиная с ранней послевоенной поры и по сей момент, появление современных вычислительных аппаратов убыстрило создание и усовершенствование шифровальных методов.
Почему вопрос использования шифровальных методов в вычислительных системах (ВС) стал в наше время особенно актуальным?
Во-первых, расширилась сфера применения компьютерных сетей, таких как World Wide Web, с помощью которых передаются огромные объемы информации госудаpственного, военного, коммерческого и личного характера, не дающего возможности доступа к ней стоpонних лиц.
Во-вторых, появление современных сверхмощных компьютеpов, продвинутых технологий сетевых и нейpонных вычислений делает возможным дискpедитацию шифровальных систем еще вчера считавшихся совершенно безопасными.

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

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

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

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

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

1.1 Появление шифров Некоторые из криптографических систем дошли до нас из дремучей древности. Вероятнее всего они родились одновременно с письменностью в IV тысячелетии до нашей эры. Способы тайной переписки были придуманы независимо во многих древних государствах, таких как Египет, Греция и Япония, но детальный состав криптологии в них сейчас неизвестен. Криптограммы находятся даже в древнее время, хотя из-за применявшейся в древнем мире идеографической письменности в виде стилизованных пиктограмм они были довольно примитивны. Шумеры, судя по всему, пользовались искусством тайнописи.

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

Даже в книгах Библии мы можем найти примеры шифровок, хотя почти никто их не замечает. В книге пророка Иеремии (22,23) мы читаем: «…а царь Сессаха выпьет после них.» Этого царя и такого царства не существовало — неужели ошибка автора? Нет, просто иногда священные иудейские манускрипты шифровались обычной заменой. Вместо первой буквы алфавита писали последнюю, вместо второй — предпоследнюю и так далее. Этот старый способ криптографии называется атбаш. Читая с его помощью слово СЕССАХ, на языке оригинала мы имеем слово ВАВИЛОН, и весь смысл библейского манускрипта может быть понят даже теми, кто не верит слепо в истинность писания.

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

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

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

Рождением третьего периода развития шифрования обычно принято считать 1976 год, в котором американские математики Диффи и Хеллман изобрели принципиально новый способ организации шифрованной связи, не требующий предварительного обеспечения абонентов тайными ключами — так называемое кодирование с использованием открытого ключа. В результате этого начали возникать шифровальные системы, основанные на базе способа, изобретенного еще в 40-х годах Шенноном. Он предложил создавать шифр таким образом, чтобы его расшифровка была эквивалентна решению сложной математической задачи, требующей выполнения вычислений, которые превосходили бы возможности современных компьютерных систем. Этот период развития шифрования характеризуется возникновением абсолютно автоматизированных систем кодированной связи, в которых любой пользователь владеет своим персональным паролем для верификации, хранит его, например, на магнитной карте или где-либо еще, и предъявляет при авторизации в системе, а все остальное происходит автоматически.

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

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

2.1 Характеристики сообщений Сообщения, насколько бы сложными они ни были, вполне возможно представить себе в виде каком-либо порядке символов. Эти символы нужно взять из заранее фиксированного набора, к примеру, из русского алфавита или из палитры цветов (красный, желтый, зеленый). Различные символы могут встречаться в сообщениях с различной периодичностью. В связи с этим объем информации, транслируемый различными символами может быть разным. В том понимании, которое предложил Шеннон, объем информации определяется усредненным значением чисел возможных вопросов с вариантами ответов ДА и НЕТ для того, чтобы предугадать последующий знак в сообщении. Если символы в тексте расположены в последовательности, не зависящей друг от друга, то усредненное количество информации в таком сообщении приходящееся на один символ, равно:

где Pi — частота проявления знака i, a Ld- двоичный логарифм. Следует отметить три феномена такого распределения информации.

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

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

В каких единицах измеряется значение объема информации по Шеннону? Вернее всего ответ на такой вопрос может дать теорема шифрации, утверждающая, что любое сообщение возможно зашифровать символами 0 и 1 таким образом, что полученный объем информации будет сколь угодно близким сверху к Н. Такая теорема позволяет нам указать и единицу информации — это бит.

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

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

При объеме подобных ошибок больше чем одна тысяча в день человек, сидящий за компьютером, устанет и может в дальнейшем проверять фрагменты текста невнимательно. Это означает, что возможно допустить не более одной ошибки подобного рода на 100 000 проверок. В другой крайности, если подойти к проверке невнимательно, то вполне возможно пропустить осмысленный текст и в конце полного перебора его придется снова повторять. Для того, чтобы не рисковать необходимостью повторения всего объема работ, ошибки второго рода, также называемые «пропусками фрагмента», возможно допустить лишь в одном случае из 100 или 1000.

2.3 Критерии определения естественности Самым простым на первый взгляд критерием, который может прийти в голову, является использованием алфавита фрагмента сообщения. Учитывая то, что в нем теоретически могут встречаться только знаки препинания, числа, заглавные и строчные русские буквы, в тексте фрагмента сообщения может встретится не больше половины комплекта кодовой таблицы ASCII.

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

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

В таком случае нам придется ввести оценку по теоретическим возможностям попадания символов в тексте. Для того, чтобы обеспечить принятые нами возможности ошибок первого и второго рода, при оценивании максимально возможной правдоподобности, нужно проанализировать уже около 100 знаков, а анализ возможности встречи биграмм всего лишь немного уменьшает эту величину.

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

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

В настоящее время симметричные шифры -- это:

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

Поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28 147-89 в режиме гаммирования), запущенного в специальном режиме.

Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок.

Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля. Алгоритм строит схему шифрования на основе функции F (D, K), где D -- порция данных, размером вдвое меньше блока шифрования, а K -- «ключ прохода» для данного прохода. От функции не требуется обратимость -- обратная ей функция может быть неизвестна. Достоинства сети Фейстеля -- почти полное совпадение дешифровки с шифрованием (единственное отличие -- обратный порядок «ключей прохода» в расписании), что сильно облегчает аппаратную реализацию.

Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна -- f (a) xor f (b) == f (a xor b)

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

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

Рисунок 1. Виды ключей

4. Ассиметричное шифрование Криптографическая система с открытым ключом (или асимметричное шифрование, асимметричный шифр) -- система шифрования и/или электронной цифровой подписи, при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для проверки ЭЦП и для шифрования сообщения. Для генерации ЭЦП и для расшифровки сообщения используется секретный ключ. Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), в SSH.

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

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

Понять идеи и методы криптографии с открытым ключом помогает следующий пример -- хранение паролей в компьютере. Каждый пользователь в сети имеет свой пароль. При входе он указывает имя и вводит секретный пароль. Но если хранить пароль на диске компьютера, то кто-нибудь его может считать (особенно легко это сделать администратору этого компьютера) и получить доступ к секретной информации. Для решения задачи используется односторонняя функция. При создании секретного пароля в компьютере сохраняется не сам пароль, а результат вычисления функции от этого пароля и имени пользователя. Например, пользователь Алиса придумала пароль «Гладиолус». При сохранении этих данных вычисляется результат функции (ГЛАДИОЛУС), пусть результатом будет строка РОМАШКА, которая и будет сохранена в системе. В результате файл паролей примет следующий вид:

Вход в систему теперь выглядит так:

Когда Алиса вводит «секретный» пароль, компьютер проверяет, даёт или нет функция, применяемая к ГЛАДИОЛУС, правильный результат РОМАШКА, хранящийся на диске компьютера. Стоит изменить хотя бы одну букву в имени или в пароле, и результат функции будет совершенно другим. «Секретный» пароль не хранится в компьютере ни в каком виде. Файл паролей может быть теперь просмотрен другими пользователями без потери секретности, так как функция практически необратимая.

В предыдущем примере используется односторонняя функция без лазейки, поскольку не требуется по зашифрованному сообщению получить исходное. В следующем примере рассматривается схема с возможностью восстановить исходное сообщение с помощью «лазейки», то есть труднодоступной информации. Для шифрования текста можно взять большой абонентский справочник, состоящий из нескольких толстых томов (по нему очень легко найти номер любого жителя города, но почти невозможно по известному номеру найти абонента). Для каждой буквы из шифруемого сообщения выбирается имя, начинающееся на ту же букву. Таким образом букве ставится в соответствие номер телефона абонента. Отправляемое сообщение, например «КОРОБКА», будет зашифровано следующим образом:

Сообщение

Выбранное имя

Криптотекст

Кирсанова

Арсеньева

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

Примеры таких криптотекстов:

Криптотекст 1

Криптотекст 2

Криптотекст 3

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

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

Здесь, где -- пространство шифротекстов, а, где -- пространство сообщений.

Функция расшифрования, с помощью которой можно найти исходное сообщение, зная шифротекст:

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

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

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

Чтобы послать сообщение Бобу, Алиса применяет функцию шифрования, определённую открытым ключом:, -- полученный шифротекст.

Боб расшифровывает шифротекст, применяя обратное преобразование, однозначно определённое значением.

Научная основа Начало асимметричным шифрам было положено в работе «Новые направления в современной криптографии» Уитфилда Диффи и Мартина Хеллмана, опубликованной в 1976 году. Находясь под влиянием работы Ральфа Меркле о распространении открытого ключа, они предложили метод получения секретных ключей, используя открытый канал. Этот метод экспоненциального обмена ключей, который стал известен как обмен ключами Диффи -- Хеллмана, был первым опубликованным практичным методом для установления разделения секретного ключа между заверенными пользователями канала. В 2002 году Хеллман предложил называть данный алгоритм «Диффи -- Хеллмана -- Меркле», признавая вклад Меркле в изобретение криптографии с открытым ключом. Эта же схема была разработана Малькольмом Вильямсоном в 1970-х, но держалась в секрете до 1997 года. Метод Меркле по распространению открытого ключа был изобретён в 1974 и опубликован в 1978 году, его также называют загадкой Меркле.

В 1977 году учёными Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом из Массачусетского технологического института был разработан алгоритм шифрования, основанный на проблеме о разложении на множители. Система была названа по первым буквам их фамилий (RSA -- Rivest, Shamir, Adleman). Эта же система была изобретена в 1973 году Клиффордом Коксом, работавшим в центре правительственной связи (GCHQ), но эта работа хранилась лишь во внутренних документах центра, поэтому о её существовании было не известно до 1977 года. RSA стал первым алгоритмом, пригодным и для шифрования, и для цифровой подписи.

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

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

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

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

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

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

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

Пусть есть 3 ключа, распределенные так, как показано в таблице.

криптография шифрование ключ симметричный

Тогда Алиса может зашифровать сообщение ключом, а Эллен расшифровать ключами, Кэрол -- зашифровать ключом, а Дэйв расшифровать ключами,. Если Дэйв зашифрует сообщение ключом, то сообщение сможет прочитать Эллен, если ключом, то его сможет прочитать Франк, если же обоими ключами и, то сообщение прочитает Кэрол. По аналогии действуют и другие участники. Таким образом, если используется одно подмножество ключей для шифрования, то для расшифрования требуются оставшиеся ключи множества. Такую схему можно использовать для n ключей.

Теперь можно посылать сообщения группам агентов, не зная заранее состав группы.

Рассмотрим для начала множество, состоящее из трех агентов: Алисы, Боба и Кэрол. Алисе выдаются ключи и, Бобу -- и, Кэрол -- и. Теперь, если отправляемое сообщение зашифровано ключом, то его сможет прочитать только Алиса, последовательно применяя ключи и. Если нужно отправить сообщение Бобу, сообщение шифруется ключом, Кэрол -- ключом. Если нужно отправить сообщение и Алисе и Кэрол, то для шифрования используются ключи и.

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

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

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

Рисунок 3. Криптосистема с открытым ключом и активным перехватчиком В этой модели Ева перехватывает открытый ключ, посланный Бобом Алисе. Затем создает пару ключей и, «маскируется» под Боба, посылая Алисе открытый ключ, который, как думает Алиса, открытый ключ, посланный ей Бобом. Ева перехватывает зашифрованные сообщения от Алисы к Бобу, расшифровывает их с помощью секретного ключа, заново зашифровывает открытым ключом Боба и отправляет сообщение Бобу. Таким образом, никто из участников не догадывается, что есть третье лицо, которое может как просто перехватить сообщение, так и подменить его на ложное сообщение. Это подчеркивает необходимость аутентификации открытых ключей. Для этого обычно используют сертификаты. Распределённое управление ключами в PGP решает возникшую проблему с помощью поручителей.

Ещё одна форма атаки -- вычисление закрытого ключа, зная открытый (рисунок ниже). Криптоаналитик знает алгоритм шифрования, анализируя его, пытается найти. Этот процесс упрощается, если криптоаналитик перехватил несколько криптотекстов, посланных лицом A лицу B.

Рисунок 4. Ассиметричная криптосистема с пассивным перехватчиком.

Большинство криптосистем с открытым ключом основаны на проблеме факторизации больших чисел. К примеру, RSA использует в качестве открытого ключа n произведение двух больших чисел. Сложность взлома такого алгоритма состоит в трудности разложения числа n на множители. Но эту задачу решить реально. И с каждым годом процесс разложения становится все быстрее. Ниже приведены данные разложения на множители с помощью алгоритма «Квадратичное решето».

Также задачу разложения потенциально можно решить с помощью Алгоритма Шора при использовании достаточно мощного квантового компьютера.

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

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

Список литературы Гатчин Ю. А. , Коробейников А. Г. Основы криптографических алгоритмов. Учебное пособие. — СПб.: СПбГИТМО (ТУ), 2002.

Кон П. Универсальная алгебра. — М.: Мир. — 1968

Коробейников А. Г. Математические основы криптографии. Учебное пособие. СПб: СПб ГИТМО (ТУ), 2002.

Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. -- М.: Триумф, 2002.

Методы: объяснительно-иллюстративный, частично-поисковый.

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

Задачи:

образовательные:

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

развивающие:

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

воспитательные:

  • воспитывать коммуникативную культуру;
  • развивать познавательный интерес.

Предлагаемая разработка может быть использована для учащихся 7–9 классов. Презентация помогает сделать материал наглядным и доступным.

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

А все ли и всегда должны знать всё?

Конечно, нет.

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

Простые приемы шифрования применялись и получили некоторое распространение уже в эпоху древних царств и в античности.

Тайнопись – криптография - является ровесницей письменности. История криптографии насчитывает не одно тысячелетие. Идея создания текстов с тайным смыслом и зашифрованными сообщениями почти так же стара, как и само искусство письма. Этому есть много свидетельств. Глиняная табличка из Угарита (Сирия) – упражнения обучающие искусству расшифровки (1200 год до н.э.). “Вавилонская теодицея” из Ирака – пример акростиха (середина II тысячелетия до н.э.).

Один из первых систематических шифров был разработан древними евреями; этот метод называется темура - “обмен”.

Самый простой из них “Атбаш”, алфавит разделялся посередине так, чтобы первые две буквы, А и Б, совпадали с двумя последними, Т и Ш. Использование шифра темура можно обнаружить в Библии. Это пророчество Иеремии, сделанное в начале VI века до нашей эры, содержит проклятие, всем правителям мира, заканчивая “царем Сесаха” который при дешифровки с шифра “Атбаш” оказывается царём Вавилона.

(Слайд 3) Более хитроумный способ шифрования был изобретён в древней Спарте во времена Ликурга (V век до н.э.) Для зашифровывания текста использовалась Сциталла - жезл цилиндрической формы, на который наматывалась лента из пергамента. Вдоль оси цилиндра построчно записывался текст, лента сматывалась с жезла и передавалась адресату, имеющему Сциталлу такого же диаметра. Этот способ осуществлял перестановку букв сообщения. Ключом шифра служил диаметр Сциталлы. АРИСТОТЕЛЬ придумал метод вскрытия такого шифра. Он изобрёл дешифровальное устройство “Антисциталла”.

(Слайд 4) Задание “Проверь себя”

(Слайд 5) Греческий писатель ПОЛИБИЙ использовал систему сигнализации, которая применялась как метод шифрования. С его помощью можно было передавать абсолютно любую информацию. Он записывал буквы алфавита в квадратную таблицу и заменял их координатами. Устойчивость этого шифра была велика. Основной причиной этого являлась возможность постоянно менять последовательность букв в квадрате.

(Слайд 6) Задание “Проверь себя”

(Слайд 7) Особую роль в сохранении тайны сыграл способ шифрования, предложенный ЮЛИЕМ ЦЕЗАРЕМ и описанный им в “Записках о галльской войне.

(Слайд 8) Задание “Проверь себя”

(Слайд 9) Существует несколько модификаций шифра Цезаря. Один из них алгоритм шифра Гронсфельда (созданный в 1734 году бельгийцем Хосе де Бронкхором, графом де Гронсфельд, военным и дипломатом). Шифрование заключается в том, что величина сдвига не является постоянной, а задается ключом (гаммой).

(Слайд 10) Для того, кто передаёт шифровку, важна её устойчивость к дешифрованию. Эта характеристика шифра называется криптостойкостью. Повысить криптостойкость позволяют шифры много алфавитной или многозначной замены. В таких шифрах каждому символу открытого алфавита ставятся в соответствие не один, а несколько символов шифровки.

(Слайд 11) Научные методы в криптографии впервые появились в арабских странах. Арабского происхождения и само слово шифр (от арабского "цифра"). Арабы первыми стали заменять буквы цифрами с целью защиты исходного текста. О тайнописи и её значении говорится даже в сказках “Тысячи и одной ночи”. Первая книга, специально посвящённая описанию некоторых шифров, появилась в 855 г., она называлась “Книга о большом стремлении человека разгадать загадки древней письменности”.

(Слайд 12) Итальянский математик и философ ДЖЕРОЛАМО КАРДАНО написал книгу "О тонкостях", в которой имеется часть, посвященная криптографии.

Его вклад в науку криптография содержит два предложения:

Первое - использовать открытый текст в качестве ключа.

Второе - он предложил шифр, называемый ныне "Решетка Кардано".

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

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

(Слайд 13) Задание “Проверь себя”

(Слайд 14) Увлекались тайнописью и в России. Используемые шифры - такие же, как в западных странах - значковые, замены, перестановки.

Датой появления криптографической службы в России следует считать 1549 год (царствование Ивана IV), с момента образования "посольского приказа", в котором имелось "цифирное отделение".

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

(Слайд 15) Задание “Проверь себя”

(Слайд 16) Много новых идей в криптографии принес XIX век. ТОМАС ДЖЕФФЕРСОН создал шифровальную систему, занимающую особое место в истории криптографии - "дисковый шифр". Этот шифр реализовывался с помощью специального устройства, которое впоследствии назвали шифратором Джефферсона.

В 1817 г. ДЕСИУС УОДСВОРТ сконструировал шифровальное устройство, которое внесло новый принцип в криптографию. Нововведение состояло в том, что он сделал алфавиты открытого и шифрованного текстов различных длин. Устройство, с помощью которого он это осуществил, представляло собой диск, с двумя подвижными кольцами с алфавитами. Буквы и цифры внешнего кольца были съемными и могли собираться в любом порядке. Эта шифрсистема реализует периодическую многоалфавитную замену.

(Слайд 17) Способов кодирования информации можно привести много.

Капитан французской армии ШАРЛЬ БАРБЬЕ разработал в 1819 году систему кодирования ecriture noctrume – ночное письмо. В системе применялись выпуклые точки и тире, недостаток системы её сложность, так как кодировались не буквы, а звуки.

ЛУИ БРАЙЛЬ усовершенствовал систему, разработал собственный шифр. Основы этой системы используются поныне.

(Слайд 18) СЭМЮЕЛЬ МОРЗЕ разработал в 1838 году систему кодирования символов с помощью точки и тире. Он же является изобретателем телеграфа (1837год) – устройства в котором использовалась эта система. Самое важное в этом изобретении – двоичный код, то есть использованием для кодирования букв только двух символов.

(Слайд 19) Задание “Проверь себя”

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

В истории криптографии XIX в. ярко запечатлелось имя ОГЮСТА КЕРКГОФФСА. В 80-х годах XIX века издал книгу "Военная криптография" объемом всего в 64 страницы, но они обессмертили его имя в истории криптографии. В ней сформулированы 6 конкретных требований к шифрам, два из которых относятся к стойкости шифрования, а остальные - к эксплуатационным качествам. Одно из них ("компрометация системы не должна причинять неудобств корреспондентам") стало называться "правилом Керкгоффса". Все эти требования актуальны и в наши дни.

В XX веке криптография стала электромеханической, затем электронной. Это означает, что основными средствами передачи информации стали электромеханические и электронные устройства.

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

В семидесятых годах произошло два события, серьезно повлиявших на дальнейшее развитие криптографии. Во-первых, был принят (и опубликован!) первый стандарт шифрования данных (DES), "легализовавший" принцип Керкгоффса в криптографии. Во-вторых, после работы американских математиков У. ДИФФИ и М. ХЕЛЛМАНА родилась "новая криптография"- криптография с открытым ключом.

(Слайд 22) Задание “Проверь себя”

(Слайд 23) Роль криптографии будет возрастать в связи с расширением ее областей приложения:

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

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

«Криптография» с древнегреческого означает «тайнопись».

Как раньше прятали слова?

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

выбирали раба. Брили его голову наголо и наносили на неё текст сообщения водостойкой растительной краской. Когда волосы отрастали, его отправляли к адресату.

Шифр — это какая-либо система преобразования текста с секретом (ключом) для обеспечения секретности передаваемой информации.

АиФ.ru сделал подборку интересных фактов из истории шифрования.

Все тайнописи имеют системы

1. Акростих — осмысленный текст (слово, словосочетание или предложение), сложенный из начальных букв каждой строки стихотворения.

Вот, например, стихотворение-загадка с разгадкой в первых буквах:

Д овольно именем известна я своим;
Р авно клянётся плут и непорочный им,
У техой в бедствиях всего бываю боле,
Ж изнь сладостней при мне и в самой лучшей доле.
Б лаженству чистых душ могу служить одна,
А меж злодеями — не быть я создана.
Юрий Нелединский-Мелецкий
Сергей Есенин, Анна Ахматова, Валентин Загорянский часто пользовались акростихами.

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

употребляют в письме верхние буквы вместо нижних и наоборот, причём гласные остаются без перемены; так, например, токепот = котёнок и т. п.

Мудрая литорея предполагает более сложные правила подстановки.

3. «ROT1» — шифр для детишек?

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

А заменяется на Б, Б заменяется на В и так далее. «ROT1» буквально означает «вращать на 1 букву вперёд по алфавиту». Фраза «Я люблю борщ» превратится в секретную фразу «А мявмя впсъ» . Этот шифр предназначен для развлечения, его легко понять и расшифровать, даже если ключ используется в обратном направлении.

4. От перестановки слагаемых...

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

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

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

5. Сдвижной шифр Цезаря

Он состоит из 33 различных шифров, по одному на каждую букву алфавита (количество шифров меняется в зависимости от алфавита используемого языка). Человек должен был знать, какой шифр Юлия Цезаря использовать для того, чтобы расшифровать сообщение. Например, если используется шифр Ё, то А становится Ё, Б становится Ж, В становится З и так далее по алфавиту. Если используется шифр Ю, то А становится Ю, Б становится Я, В становится А и так далее. Данный алгоритм является основой для многих более сложных шифров, но сам по себе не обеспечивает надёжную защиту тайны сообщений, поскольку проверка 33-х различных ключей шифра займёт относительно небольшое время.

Никто не смог. Попробуйте вы

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

Криптос . Скульптура, созданная художником Джимом Санборном, которая расположена перед штаб-квартирой Центрального разведывательного управления в Лэнгли, Вирджиния. Скульптура содержит в себе четыре шифровки, вскрыть код четвёртой не удаётся до сих пор. В 2010 году было раскрыто, что символы 64-69 NYPVTT в четвёртой части означают слово БЕРЛИН.

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

Свои варианты оставляйте в комментариях к этой статье. Ответ появится в 13:00 13 мая 2014 года.

Ответ:

1) Блюдечко

2) Слоненку все надоело

3) Хорошая погода

Сергей Панасенко ,
начальник отдела разработки программного обеспечения фирмы «Анкад»,
[email protected]

Основные понятия

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

С = Ek1(M)

M" = Dk2(C),

где M (message) - открытая информация (в литературе по защите информации часто носит название "исходный текст");
C (cipher text) - полученный в результате зашифрования шифртекст (или криптограмма);
E (encryption) - функция зашифрования, выполняющая криптографические преобразования над исходным текстом;
k1 (key) - параметр функции E, называемый ключом зашифрования;
M" - информация, полученная в результате расшифрования;
D (decryption) - функция расшифрования, выполняющая обратные зашифрованию криптографические преобразования над шифртекстом;
k2 - ключ, с помощью которого выполняется расшифрование информации.

Понятие "ключ" в стандарте ГОСТ 28147-89 (алгоритм симметричного шифрования) определено следующим образом: "конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования, обеспечивающее выбор одного преобразования из совокупности всевозможных для данного алгоритма преобразований". Иными словами, ключ представляет собой уникальный элемент, с помощью которого можно изменять результаты работы алгоритма шифрования: один и тот же исходный текст при использовании различных ключей будет зашифрован по-разному.

Для того, чтобы результат расшифрования совпал с исходным сообщением (т. е. чтобы M" = M), необходимо одновременное выполнение двух условий. Во-первых, функция расшифрования D должна соответствовать функции зашифрования E. Во-вторых, ключ расшифрования k2 должен соответствовать ключу зашифрования k1.

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

Алгоритмы шифрования можно разделить на две категории: симметричного и асимметричного шифрования. Для первых соотношение ключей зашифрования и расшифрования определяется как k1 = k2 = k (т. е. функции E и D используют один и тот же ключ шифрования). При асимметричном шифровании ключ зашифрования k1 вычисляется по ключу k2 таким образом, что обратное преобразование невозможно, например, по формуле k1 = ak2 mod p (a и p - параметры используемого алгоритма).

Симметричное шифрование

Свою историю алгоритмы симметричного шифрования ведут с древности: именно этим способом сокрытия информации пользовался римский император Гай Юлий Цезарь в I веке до н. э., а изобретенный им алгоритм известен как "криптосистема Цезаря".

В настоящее время наиболее известен алгоритм симметричного шифрования DES (Data Encryption Standard), разработанный в 1977 г. До недавнего времени он был "стандартом США", поскольку правительство этой страны рекомендовало применять его для реализации различных систем шифрования данных. Несмотря на то, что изначально DES планировалось использовать не более 10-15 лет, попытки его замены начались только в 1997 г.

Мы не будем рассматривать DES подробно (почти во всех книгах из списка дополнительных материалов есть его подробнейшее описание), а обратимся к более современным алгоритмам шифрования. Стоит только отметить, что основная причина изменения стандарта шифрования - его относительно слабая криптостойкость, причина которой в том, что длина ключа DES составляет всего 56 значащих бит. Известно, что любой криптостойкий алгоритм можно взломать, перебрав все возможные варианты ключей шифрования (так называемый метод грубой силы - brute force attack). Легко подсчитать, что кластер из 1 млн процессоров, каждый из которых вычисляет 1 млн ключей в секунду, проверит 256 вариантов ключей DES почти за 20 ч. А поскольку по нынешним меркам такие вычислительные мощности вполне реальны, ясно, что 56-бит ключ слишком короток и алгоритм DES необходимо заменить на более "сильный".

Сегодня все шире используются два современных криптостойких алгоритма шифрования: отечественный стандарт ГОСТ 28147-89 и новый криптостандарт США - AES (Advanced Encryption Standard).

Стандарт ГОСТ 28147-89

Алгоритм, определяемый ГОСТ 28147-89 (рис. 1), имеет длину ключа шифрования 256 бит. Он шифрует информацию блоками по 64 бит (такие алгоритмы называются блочными), которые затем разбиваются на два субблока по 32 бит (N1 и N2). Субблок N1 обрабатывается определенным образом, после чего его значение складывается со значением субблока N2 (сложение выполняется по модулю 2, т. е. применяется логическая операция XOR - "исключающее или"), а затем субблоки меняются местами. Данное преобразование выполняется определенное число раз ("раундов"): 16 или 32 в зависимости от режима работы алгоритма. В каждом раунде выполняются две операции.

Первая - наложение ключа. Содержимое субблока N1 складывается по модулю 2 с 32-бит частью ключа Kx. Полный ключ шифрования представляется в виде конкатенации 32-бит подключей: K0, K1, K2, K3, K4, K5, K6, K7. В процессе шифрования используется один из этих подключей - в зависимости от номера раунда и режима работы алгоритма.

Вторая операция - табличная замена. После наложения ключа субблок N1 разбивается на 8 частей по 4 бит, значение каждой из которых заменяется в соответствии с таблицей замены для данной части субблока. Затем выполняется побитовый циклический сдвиг субблока влево на 11 бит.

Табличные замены (Substitution box - S-box) часто используются в современных алгоритмах шифрования, поэтому стоит пояснить, как организуется подобная операция. В таблицу записываются выходные значения блоков. Блок данных определенной размерности (в нашем случае - 4-бит) имеет свое числовое представление, которое определяет номер выходного значения. Например, если S-box имеет вид 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 и на вход пришел 4-бит блок "0100" (значение 4), то, согласно таблице, выходное значение будет равно 15, т. е. "1111" (0 а 4, 1 а 11, 2 а 2 ...).

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

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

K0, K1, K2, K3, K4, K5, K6, K7, K0, K1 и т. д. - в раундах с 1-го по 24-й;

K7, K6, K5, K4, K3, K2, K1, K0 - в раундах с 25-го по 32-й.

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

K0, K1, K2, K3, K4, K5, K6, K7 - в раундах с 1-го по 8-й;

K7, K6, K5, K4, K3, K2, K1, K0, K7, K6 и т. д. - в раундах с 9-го по 32-й.

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

В режиме гаммирования каждый блок открытого текста побитно складывается по модулю 2 с блоком гаммы шифра размером 64 бит. Гамма шифра - это специальная последовательность, которая получается в результате определенных операций с регистрами N1 и N2 (см. рис. 1).

1. В регистры N1 и N2 записывается их начальное заполнение - 64-бит величина, называемая синхропосылкой.

2. Выполняется зашифрование содержимого регистров N1 и N2 (в данном случае - синхропосылки) в режиме простой замены.

3. Содержимое регистра N1 складывается по модулю (232 - 1) с константой C1 = 224 + 216 + 28 + 24, а результат сложения записывается в регистр N1.

4. Содержимое регистра N2 складывается по модулю 232 с константой C2 = 224 + 216 + 28 + 1, а результат сложения записывается в регистр N2.

5. Содержимое регистров N1 и N2 подается на выход в качестве 64-бит блока гаммы шифра (в данном случае N1 и N2 образуют первый блок гаммы).

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

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

Зашифрование и расшифрование в режиме гаммирования

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

В большинстве реализаций алгоритма ГОСТ 28147-89 синхропосылка не секретна, однако есть системы, где синхропосылка - такой же секретный элемент, как и ключ шифрования. Для таких систем эффективная длина ключа алгоритма (256 бит) увеличивается еще на 64 бит секретной синхропосылки, которую также можно рассматривать как ключевой элемент.

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

Рис. 2. Выработка гаммы шифра в режиме гаммирования с обратной связью.

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

Цикл повторяется до последнего блока информации. Получившееся в результате этих преобразований 64-бит содержимое регистров N1 и N2 или его часть и называется имитоприставкой. Размер имитоприставки выбирается, исходя из требуемой достоверности сообщений: при длине имитоприставки r бит вероятность, что изменение сообщения останется незамеченным, равна 2-r.Чаще всего используется 32-бит имитоприставка, т. е. половина содержимого регистров. Этого достаточно, поскольку, как любая контрольная сумма, имитоприставка предназначена прежде всего для защиты от случайных искажений информации. Для защиты же от преднамеренной модификации данных применяются другие криптографические методы - в первую очередь электронная цифровая подпись.

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

Алгоритм ГОСТ 28147-89 считается очень сильным алгоритмом - в настоящее время для его раскрытия не предложено более эффективных методов, чем упомянутый выше метод "грубой силы". Его высокая стойкость достигается в первую очередь за счет большой длины ключа - 256 бит. При использовании секретной синхропосылки эффективная длина ключа увеличивается до 320 бит, а засекречивание таблицы замен прибавляет дополнительные биты. Кроме того, криптостойкость зависит от количества раундов преобразований, которых по ГОСТ 28147-89 должно быть 32 (полный эффект рассеивания входных данных достигается уже после 8 раундов).

Стандарт AES

В отличие от алгоритма ГОСТ 28147-89, который долгое время оставался секретным, американский стандарт шифрования AES, призванный заменить DES, выбирался на открытом конкурсе, где все заинтересованные организации и частные лица могли изучать и комментировать алгоритмы-претенденты.

Конкурс на замену DES был объявлен в 1997 г. Национальным институтом стандартов и технологий США (NIST - National Institute of Standards and Technology). На конкурс было представлено 15 алгоритмов-претендентов, разработанных как известными в области криптографии организациями (RSA Security, Counterpane и т. д.), так и частными лицами. Итоги конкурса были подведены в октябре 2000 г.: победителем был объявлен алгоритм Rijndael, разработанный двумя криптографами из Бельгии, Винсентом Риджменом (Vincent Rijmen) и Джоан Даймен (Joan Daemen).

Алгоритм Rijndael не похож на большинство известных алгоритмов симметричного шифрования, структура которых носит название "сеть Фейстеля" и аналогична российскому ГОСТ 28147-89. Особенность сети Фейстеля состоит в том, что входное значение разбивается на два и более субблоков, часть из которых в каждом раунде обрабатывается по определенному закону, после чего накладывается на необрабатываемые субблоки (см. рис. 1).

В отличие от отечественного стандарта шифрования, алгоритм Rijndael представляет блок данных в виде двухмерного байтового массива размером 4X4, 4X6 или 4X8 (допускается использование нескольких фиксированных размеров шифруемого блока информации). Все операции выполняются с отдельными байтами массива, а также с независимыми столбцами и строками.

Алгоритм Rijndael выполняет четыре преобразования: BS (ByteSub) - табличная замена каждого байта массива (рис. 3); SR (ShiftRow) - сдвиг строк массива (рис. 4). При этой операции первая строка остается без изменений, а остальные циклически побайтно сдвигаются влево на фиксированное число байт, зависящее от размера массива. Например, для массива размером 4X4 строки 2, 3 и 4 сдвигаются соответственно на 1, 2 и 3 байта. Далее идет MC (MixColumn) - операция над независимыми столбцами массива (рис. 5), когда каждый столбец по определенному правилу умножается на фиксированную матрицу c(x). И, наконец, AK (AddRoundKey) - добавление ключа. Каждый бит массива складывается по модулю 2 с соответствующим битом ключа раунда, который, в свою очередь, определенным образом вычисляется из ключа шифрования (рис. 6).


Рис. 3. Операция BS.

Рис. 4. Операция SR.

Рис. 5. Операция MC.

Количество раундов шифрования (R) в алгоритме Rijndael переменное (10, 12 или 14 раундов) и зависит от размеров блока и ключа шифрования (для ключа также предусмотрено несколько фиксированных размеров).

Расшифрование выполняется с помощью следующих обратных операций. Выполняется обращение таблицы и табличная замена на инверсной таблице (относительно применяемой при зашифровании). Обратная операция к SR - это циклический сдвиг строк вправо, а не влево. Обратная операция для MC - умножение по тем же правилам на другую матрицу d(x), удовлетворяющую условию: c(x) * d(x) = 1. Добавление ключа AK является обратным самому себе, поскольку в нем используется только операция XOR. Эти обратные операции применяются при расшифровании в последовательности, обратной той, что использовалась при зашифровании.

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

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

Асимметричное шифрование

Алгоритмы асимметричного шифрования, как уже отмечалось, используют два ключа: k1 - ключ зашифрования, или открытый, и k2 - ключ расшифрования, или секретный. Открытый ключ вычисляется из секретного: k1 = f(k2).

Асимметричные алгоритмы шифрования основаны на применении однонаправленных функций. Согласно определению, функция y = f(x) является однонаправленной, если: ее легко вычислить для всех возможных вариантов x и для большинства возможных значений y достаточно сложно вычислить такое значение x, при котором y = f(x).

Примером однонаправленной функции может служить умножение двух больших чисел: N = P*Q. Само по себе такое умножение - простая операция. Однако обратная функция (разложение N на два больших множителя), называемая факторизацией, по современным временным оценкам представляет собой достаточно сложную математическую задачу. Например, разложение на множители N размерностью 664 бит при P ? Q потребует выполнения примерно 1023 операций, а для обратного вычисления х для модульной экспоненты y = ax mod p при известных a, p и y (при такой же размерности a и p) нужно выполнить примерно 1026 операций. Последний из приведенных примеров носит название - "Проблема дискретного логарифма" (DLP - Discrete Logarithm Problem), и такого рода функции часто используются в алгоритмах асимметричного шифрования, а также в алгоритмах, используемых для создания электронной цифровой подписи.

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

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

Алгоритм RSA

Разработанный в 1978 г. тремя авторами (Rivest, Shamir, Adleman), он получил свое название по первым буквам фамилий разработчиков. Надежность алгоритма основывается на сложности факторизации больших чисел и вычисления дискретных логарифмов. Основной параметр алгоритма RSA - модуль системы N, по которому проводятся все вычисления в системе, а N = P*Q (P и Q - секретные случайные простые большие числа, обычно одинаковой размерности).

Секретный ключ k2 выбирается случайным образом и должен соответствовать следующим условиям:

1

где НОД - наибольший общий делитель, т. е. k1 должен быть взаимно простым со значением функции Эйлера F(N), причем последнее равно количеству положительных целых чисел в диапазоне от 1 до N, взаимно простых с N, и вычисляется как F(N) = (P - 1)*(Q - 1) .

Открытый ключ k1 вычисляется из соотношения (k2*k1) = 1 mod F(N) , и для этого используется обобщенный алгоритм Евклида (алгоритм вычисления наибольшего общего делителя). Зашифрование блока данных M по алгоритму RSA выполняется следующим образом: C = M[в степени k1] mod N . Заметим, что, поскольку в реальной криптосистеме с использованием RSA число k1 весьма велико (в настоящее время его размерность может доходить до 2048 бит), прямое вычисление M[в степени k1] нереально. Для его получения применяется комбинация многократного возведения M в квадрат с перемножением результатов.

Обращение данной функции при больших размерностях неосуществимо; иными словами, невозможно найти M по известным C, N и k1. Однако, имея секретный ключ k2, при помощи несложных преобразований можно вычислить M = Ck2 mod N. Очевидно, что, помимо собственно секретного ключа, необходимо обеспечивать секретность параметров P и Q. Если злоумышленник добудет их значения, то сможет вычислить и секретный ключ k2.

Какое шифрование лучше?

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

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

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

Дополнительные источники информации

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

  1. Брассар Ж. "Современная криптология".
  2. Петров А. А. "Компьютерная безопасность: криптографические методы защиты".
  3. Романец Ю. В., Тимофеев П. А., Шаньгин В. Ф. "Защита информации в современных компьютерных системах".
  4. Соколов А. В., Шаньгин В. Ф. "Защита информации в распределенных корпоративных сетях и системах".

Полное описание алгоритмов шифрования можно найти в следующих документах:

  1. ГОСТ 28147-89. Система обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. - М.: Госстандарт СССР, 1989.
  2. Алгоритм AES: http://www.nist.gov/ae .
  3. Алгоритм RSA: http://www.rsasecurity.com/rsalabs/pkcs/pkcs-1 .

Криптографическое шифрование данных

Преподаватель _________________ Чубаров А.В.

подпись, дата

Студент УБ15-11б; 431512413 _________________ Репневская Е.В.

подпись, дата

Красноярск 2017

Введение. 3

1. История криптографии. 5

1.1 Появление шифров. 6

1.2 Эволюция криптографии. 7

2. Шифры, их виды и свойства. 9

2.1 Симметрическое шифрование. 9

2.2 Асимметричные криптографические системы.. 11

Заключение. 16

Список литературы.. 17

Введение

Разные люди понимают под шифрованием разные вещи. Дети играют в игрушечные шифры и секретные языки. Это, однако, не имеет ничего общего с настоящей криптографией. Настоящая криптография (strong cryptography) должна обеспечивать такой уровень секретности, чтобы можно было надежно защитить критическую информацию от расшифровки крупными организациями --- такими как мафия, транснациональные корпорации и крупные государства. Настоящая криптография в прошлом использовалась лишь в военных целях. Однако сейчас, с становлением информационного общества, она становится центральным инструментом для обеспечения конфиденциальности.

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

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

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

В криптографической терминологии исходное послание именуют открытым текстом (plaintext или cleartext). Изменение исходного текста так, чтобы скрыть от прочих его содержание, называют шифрованием (encryption). Зашифрованное сообщение называют шифротекстом (ciphertext). Процесс, при котором из шифротекста извлекается открытый текст называют дешифровкой (decryption). Обычно в процессе шифровки и дешифровки используется некий ключ (key) и алгоритм обеспечивает, что дешифрование можно сделать лишь зная этот ключ.

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

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

Целью данной работы является знакомство с криптографией; шифрами, их видами и свойствами.

Ознакомиться с криптографией

Рассмотреть шифры, их виды и свойства

История криптографии

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

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

Второй период (с IX века на Ближнем Востоке (Ал-Кинди) и с XV века в Европе (Леон Баттиста Альберти) - до начала XX века) ознаменовался введением в обиход полиалфавитных шифров.

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

Четвёртый период (с середины до 70-х годов XX века) период перехода к математической криптографии. В работе Шеннона появляются строгие математические определения количества информации, передачи данных, энтропии, функций шифрования. Обязательным этапом создания шифра считается изучение его уязвимости к различным известным атакам - линейному и дифференциальному криптоанализу. Однако до 1975 года криптография оставалась «классической», или же, более корректно, криптографией с секретным ключом.

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

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

Появление шифров

Некоторые из криптографических систем дошли до нас из дремучей древности. Вероятнее всего они родились одновременно с письменностью в IV тысячелетии до нашей эры. Способы тайной переписки были придуманы независимо во многих древних государствах, таких как Египет, Греция и Япония, но детальный состав криптологии в них сейчас неизвестен. Криптограммы находятся даже в древнее время, хотя из-за применявшейся в древнем мире идеографической письменности в виде стилизованных пиктограмм они были довольно примитивны. Шумеры, судя по всему, пользовались искусством тайнописи.

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

Даже в книгах Библии мы можем найти примеры шифровок, хотя почти никто их не замечает. В книге пророка Иеремии (22,23) мы читаем: "...а царь Сессаха выпьет после них." Этого царя и такого царства не существовало - неужели ошибка автора? Нет, просто иногда священные иудейские манускрипты шифровались обычной заменой. Вместо первой буквы алфавита писали последнюю, вместо второй - предпоследнюю и так далее. Этот старый способ криптографии называется атбаш. Читая с его помощью слово СЕССАХ, на языке оригинала мы имеем слово ВАВИЛОН, и весь смысл библейского манускрипта может быть понят даже теми, кто не верит слепо в истинность писания.

Эволюция криптографии

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

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

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

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


Шифры, их виды и свойства

В криптографии криптографические системы (шифры) классифицируются следующим образом:

– симметричные криптосистемы;

– асимметричные криптосистемы.

2.1 Симметрическое шифрование

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

В настоящее время симметричные шифры - это:

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

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

Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок.

Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля. Алгоритм строит схему шифрования на основе функции F(D, K), где D - порция данных, размером вдвое меньше блока шифрования, а K - «ключ прохода» для данного прохода. От функции не требуется обратимость - обратная ей функция может быть неизвестна. Достоинства сети Фейстеля - почти полное совпадение дешифровки с шифрованием (единственное отличие - обратный порядок «ключей прохода» в расписании), что сильно облегчает аппаратную реализацию.

Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна - f(a) xor f(b) == f(a xor b).

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

Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора значений в таблицах подстановки (S-блоках). Как минимум считается нежелательным наличие неподвижных элементов S(x) = x, а также отсутствие влияния какого-то бита входного байта на какой-то бит результата - то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите (Рисунок 1).

Рисунок 1 – Виды ключей

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


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows