Лекции Практические занятия Самостоятельная работа магистранта глоссарий - shikardos.ru o_O
Главная
Поиск по ключевым словам:
Похожие работы
Название работы Кол-во страниц Размер
Лекции 3 Практические и лабораторные занятия 4 Курсовая работа и... 3 1009.44kb.
Лекции 36 часов Практические занятия 54 часа Часть 1 Теория управления... 43 5419.54kb.
Тематический план и содержание учебной дисциплины биология 2 321.52kb.
Форма отчетности зачет в 8 семестре. Рабочая программа тема 1 Состав... 1 97.06kb.
Лекции 6 (час.) практические занятия 22 час семинарские занятия час... 1 131.79kb.
Программа дисциплины для студентов семей 2013 Содержание Глоссарии... 14 2608.58kb.
Самостоятельная работа Что такое [художественный] стиль ? Натуральный... 1 50.59kb.
Современная аппаратура и методы исследования биологических систем 5 625.05kb.
Конспект мастер класса. Тема: Достопримечательности стран Ход занятия. 1 31.79kb.
Тематический план дисциплины № Раздел, тема № занятия Виды учебной... 1 70.55kb.
Лекции Практические занятия 2 986.55kb.
Конкурс можно проводить между классами, а также между мальчиками... 2 424.99kb.
- 4 1234.94kb.
Лекции Практические занятия Самостоятельная работа магистранта глоссарий - страница №1/9


МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ имени ШАКАРИМА г. СЕМЕЙ

Документ СМК 3 уровня

УМКД

УМКД 042-39. 1.ХХ/03- 2013

УМКД

Учебно-методические материалы по дисциплине

«Криптология»


Редакция №____от_____


УЧЕБНО-МЕТОДИЧЕСКИИ КОМПЛЕКС

ДИСЦИПЛИНЫ

«КРИПТОЛОГИЯ»

для специальности 6М060200 – «Информатика»
УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ

Семей


2014

СОДЕРЖАНИЕ



  1. Глоссарий

  2. Лекции

  3. Практические занятия

  4. Самостоятельная работа магистранта

  1. ГЛОССАРИЙ

Асимметричная криптосистема(asymmetric cryptographic system) - криптосистема, содержащая преобразования (алгоритмы), наборы параметров (ключи) которых различны и таковы, что по крайней мере для одного из алгоритмов вычислительно невозможно определить ключи, даже зная ключи всех остальных алгоритмов криптосистемы.

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

Атака (attack) - попытка злоумышленника вызвать отклонения от нормального протекания информационного процесса.

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

Аутентификация(authentication) - процедура проверки подлинности данных и субъектов информационного взаимодействия.

Блок, блок криптоалгоритма/шифра (block, cryptographic block) - порция данных фиксированного для заданного криптоалгоритма размера, преобразуемая им за цикл его работы.

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

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

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

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

Гаммирование- процесс наложения по определенному закону гаммы шифра на открытые данные для их шифрования.

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

Шифрование(encryption, enciphering) - процесс преобразования открытых данных в зашифрованные при помощи шифра.

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

Имитозащита - защита систем передачи и хранения информации от навязывания ложных данных.

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

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

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

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

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

Криптоанализ (cryptanalysis) - отрасль знаний, целью которой поиск и исследование методов взломакриптографических алгоритмов, а также сама процедура взлома.

Криптоаналитик (cryptanalyst) - человек, осуществляющийкриптоанализ.

Криптограф (cryptographer) - специалист в области криптографии.

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

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

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

Криптография (cryptography) - отрасль знаний, целью которой является изучение и создание криптографических преобразований и алгоритмов.В настоящее время четко различаются две отрасли криптографии: классическая или традиционная криптография и "современная" криптография.

Криптология (cryptology) - наука, изучающая криптографические преобразования, включает в себя два направления - криптографиюикриптоанализ.

Криптосистема, криптографическая система (cryptosystem, cryptographic system) - набор криптографических преобразованийилиалгоритмов, предназначенных для работы в единой технологической цепочке для решения определенной задачи защитыинформационного процесса.

Криптостойкая гамма (strong gamma) - гамма, по известному фрагменту которой нельзя определить другие ее фрагменты и восстановить со всеми деталями алгоритм, использованный для ее выработки.

Криптостойкость, криптографическая стойкость (cryptographic strength) - устойчивость криптографического алгоритма к его криптоанализу.

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

Открытый Ключ (public key) - несекретный набор параметров асимметричной криптографической системы, необходимый и достаточный для выполнения отдельных криптографических преобразований.

Открытый текст (plain text) - массив незашифрованных данных.

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

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

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

Развертывание ключа (key scheduling) - процедура выработки последовательности раундовых ключей из ключа шифрования. Обычно суммарный объем раундовых ключей значительно превышает размер ключа шифрования.

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

Рассеивание (Diffusion) - распространение влияния одного знака открытого текста на много знаков шифртекста, а также распространение влияния одного элемента ключа на много знаков шифртекста.

Расшифрование (decryption, deciphering) - процесс преобразования зашифрованных данных в открытые при помощи шифра.

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

Раундовый ключ (round key, subkey) - секретный элемент, получаемый из ключа криптоалгоритма, и используемый шифром Файстеля и аналогичными криптоалгоритмами на одном раунде шифрования.

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

Секретный ключ (secret key) - набор секретных параметров одного из алгоритмов асимметричной криптосистемы.

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


Различают сбалансированную и несбалансированную сети Файстеля (balanced and unbalanced Feistel network). В первой постоянная и изменяемая части имеют одинаковый размер, во второй - разный.

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

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

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

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

Традиционная криптография (traditional or conventional cryptography) - раздел криптографии, изучающий и разрабатывающий симметричные криптографические системы.

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

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

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

Хэш-функция (hash-function) - функция, осуществляющая хеширование массива данных.

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

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



Шифр аддитивный (additive cipher) – шифргаммирования,в котором для наложения гаммы на данные используется бинарная операция аддитивного типа.

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

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

Шифр замены (substitution cipher) - шифр, в котором отдельные символы исходного текста или их группы заменяются на другие символы или группы символов, сохраняя при этом свое положение в тексте относительно других заменяемых групп.

Шифр несовершенный (breakable cipher) - шифр, не являющийся абсолютно стойким.

Шифр перестановки (permutation cipher) – шифр, в котором процедура шифрования заключается в перестановках элементов открытого текста или их групп, сами элементы при этом остаются неизменными.

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

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

Шифр Файстеля (Feistel cipher) - шифр, построенный в соответствии с архитектурой сеть Файстеля.

Шифрование (enciphering/deciphering and encryption/decryption) - процесс шифрования или расшифрования.

Шифртекст (ciphertext) - массив зашифрованных данных, то есть данных, подвергнутых процедуре шифрования.



  1. ЛЕКЦИИ


Лекция № 1.

Тема: Введение
Основные вопросы:

  1. Основные части классической криптологии: криптография - наука о засекречивании информации и криптоанализ – наука о проникновении в засекреченные материалы

  2. Первые научные работы по криптологии

  3. Идеологиякриптографии с открытыми (несекретными) ключами

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

  5. Конкретный видперестановок и подстановок

  6. Примеры криптоалгоритмов

  7. Стандарт шифрования данных DES

  8. Современные криптографическиесхемы


Основные части классической криптологии: криптография - наука о засекречивании информации и криптоанализ – наука о проникновении в засекреченные материалы

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

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

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

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

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

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

Основные признаки защищаемой информации:

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

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

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

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

Вскрытие (взламывание) шифра - процесс получения защищаемой информации из шифрованного сообщения без знания примененного шифра.

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

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

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

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

1) является ли она для противника более ценной, чем стоимость атаки;

2) является ли она для вас более ценной, чем стоимость защиты.

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

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

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

Под атакой на шифр понимают попытку вскрытия этого шифра.

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

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

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

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

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

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

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

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

Английский математик Чарльз Беббидж (ХIХ в.): «Всякий человек, даже если он не знаком с техникой вскрытия шифров, твердо считает, что сможет изобрести абсолютно стойкий шифр, и чем более умен и образован этот человек, тем более твердо это убеждение. Я сам разделял эту уверенность в течение многих лет».

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

Автор шифра PGP Ф. Зиммерманн: «Каждый, кто думает, что изобрел непробиваемую схему шифрования, - или невероятно редкий гений, или просто наивен и неопытен...»,


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

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

Криптология - наука, состоящая из двух ветвей: криптографии и криптоанализа.

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

Криптоанализ - наука (и практика ее применения) о методах и способах вскрытия шифров.

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



Первые научные работы по криптологии

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

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

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

Свой след в истории криптографии оставили многие хорошо известные исторические личности. Приведем несколько наиболее ярких примеров. Первые сведения об использовании шифров в военном деле связаны с именем спартанского полководца Лисандра (шифр «Сцитала»). Цезарь использовал в переписке шифр, который вошел в историю как «шифр Цезаря». В древней Греции был изобретен вид шифра, который в дальнейшем стал называться «квадрат Полития». Одну из первых книг по криптографии написал аббат И.Трителий (1462-1516), живший в Германии. В 1566 году известный математик Д.Кардано опубликовал работу с описанием изобретенной им системы шифрования (``решетка Кардано''). Франция ХVI века оставила в истории криптографии шифры короля Генриха IV и Ришелье. В упомянутой книге Т.А.Соболевой подробно описано много российских шифров, в том числе и «цифирная азбука» 1700 года, автором которой был Петр Великий.

Некоторые сведения о свойствах шифров и их применении можно найти и в художественной литературе, особенно в приключенческой, детективной и военной. Хорошее подробное объяснение особенностей одного из простейших шифров - шифра замены и методов его вскрытия содержится в двух известных рассказах: «Золотой жук» Э.По и «Пляшущие человечки» А.Конан Дойла.

Рассмотрим более подробно два примера.

Шифр «Сцитала». Этот шифр известен со времен войны Спарты против Афин в V веке до н.э. Для его реализации использовалась сцитала - жезл, имеющий форму цилиндра. На сциталу виток к витку наматывалась узкая папирусная лента (без просветов и нахлестов), а затем на этой ленте вдоль оси сциталы записывался открытый текст. Лента разматывалась и получалось (для непосвященных), что поперек ленты в беспорядке написаны какие-то буквы. Затем лента отправлялась адресату. Адресат брал такую же сциталу, таким же образом наматывал на нее полученную ленту и читал сообщение вдоль оси сциталы.

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

Шифр Цезаря. Этот шифр реализует следующее преобразование открытого текста: каждая буква открытого текста заменяется третьей после нее буквой в алфавите, который считается написанным по кругу, т.е. после буквы «я» следует буква «а». Отметим, что Цезарь заменял букву третьей после нее буквой, но можно заменять и какой-нибудь другой. Главное, чтобы тот, кому посылается шифрованное сообщение, знал эту величину сдвига. Класс шифров, к которым относится и шифр Цезаря, называется шифрами замены.

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

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

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

Идеология криптографии с открытыми (несекретными) ключами

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

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

Криптография с открытыми ключами была изобретена в 1976 году Уитфилдом Диффи и Мартином Хеллманом именно для решения проблемы управления ключами. В новой системе каждому участнику выдается два ключа: секретный и не секретный. Их, соответственно, называют личным и открытым ключами.

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

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

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

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

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

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

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

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

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

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

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

Вероятно, что самой известной из криптосистем с открытыми ключами является RSA. RSA была изобретена в 1977 году Роном Ривестом, Ади Шамиром и Леонардом Адлманом. Прежде, чем описать алгоритм RSA, хотелось бы разъяснить используемые ею принципы.

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

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

В-третьих, если записать возведение x в степень n как x^n, то извлечение корня степени n можно считать возведением x в степень 1/n. Тогда обратимость операций возведения в степень и извлечения корня можно представить формулами: y=x^n и x=y^(1/n), или x=(x^n)^(1/n)= x^(n*1/n)=x^1. Пожалуйста, запомните последнюю формулу, она нам пригодится.

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

Арифметика вычетов по модулю k имеет все те же правила, что и обычная, пока речь идет о сложении, вычитании и умножении. Отличается от обычной она тем, что числа в ней не принимают значений, больших, чем k, и меньших, чем -k. Другими словами, учитываются лишь остатки от деления чисел на k. В этом смысле в арифметике по модулю 7 числа 8, 15, 22 равны между собой, поскольку остаток от деления на 7 для каждого из них равен 1. Это можно записать так: 8 mod 7 = 15 mod 7 = 22 mod 7 = 1.

Как уже упоминалось, операции сложения, умножения и, следовательно, возведения в степень, сохраняют свою силу. Поэтому 6*5 mod 7 = 30 mod 7 = 2, а 2^5 mod 7 = 32 mod 7 = 4. Получается любопытная вещь: в какую степень ни возведи число, оно не будет расти по величине и не превысит по размеру модуля!

Теперь вспомните формулу из первой посылки: x=(x^a)^b=x^(ab) только в том случае, когда ab=1. Тогда роль "а" играло число n, а роль "b" - число 1/n. В арифметике по модулю появляется и другая возможность, например, 3*5 mod 7 = 15 mod 7 = 1. Говоря словами, в арифметике по модулю 7 операция возведения числа в третью степень равносильна операции извлечения корня пятой степени! Ну как, нравится? Если нравится, то не обольщайтесь: это не так. Просчитайте парочку примеров и проверьте сами...

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

Берем два больших простых числа p и q и находим их произведение n = pq. Выбираем два числа е и d, меньшие, чем n, и такие, что (ed-1) нацело делится на (p-1)(q-1). Иными словами, ed = 1 mod (p-1)(q-1). Е и d называют открытой и личной экспонентами соответственно. Открытым ключом называют пару (n,e), личным - пару (n,d). Множители p и q хранят в секрете или уничтожают.Считая, что исходное сообщение в электронном виде можно интерпретировать как число, опишем процедуру шифрования и расшифровки при помощи формул. Пусть m - исходное сообщение. Шифрование состоит в вычислении кода c по формуле c = m^e mod n, то есть m возводится в степень e по модулю n. Расшифровка сводится к вычислению m = c^d mod n. А вот формулы для аутентификации. (Помните Машу и Сашу?) Подпись s создается вычислением s = m^d mod n. Подпись проверяется вычислением m = s^e mod n. Если m восстановлено верно, то подпись верна.

Но это все пока только голая теория. Практика выглядит несколько иначе. Во-первых, исходное сообщение считается не одним длинным числом, а разбивается на ряд чисел так, чтобы ни одно из них не превосходило n. Для этого достаточно, чтобы эти числа были, скажем 512-битовыми, а множители p и q - 256 и 258-битовыми соответственно. Приведенные формулы применяются как раз к 512-битовым числам. Зачем этот огород? Иначе, имея дело с арифметикой по модулю n, мы рискуем потерять информацию.

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

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



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

В практических шифрах необходимо использовать два общих принципа: рассеивание; перемешивание.

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

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

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

Конкретный видперестановок и подстановок

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

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

Все действия, производимые блочным криптоалгоритмом над данными, основаны на том факте, что преобразуемый блок может быть представлен в виде целого неотрицательного числа из диапазона, соответствующего его разрядности. Например, 32-битовый блок данных можно интерпретировать как число из диапазона 0 – 4294967295. Кроме того, блок, разрядность которого представляет собой «степень двойки», можно трактовать как сцепление нескольких независимых неотрицательных чисел из меньшего диапазона (указанный выше 32-битовый блок можно также представить в виде сцепления двух независимых 16-битовых чисел из диапазона 0 – 65535 или в виде сцепления четырех независимых 8-битовых чисел из диапазона 0 – 255).



Примеры криптоалгоритмов

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

1. Математические функции:

– сложение X’ = X + V;

– «исключающее ИЛИ» X’ = X xor V;

– умножение по модулю 2N + 1 X’ = (X*V) mod (2N + 1);

– умножение по модулю 2N X’ = (X*V) mod 2N.

2. Битовые сдвиги:

– арифметический сдвиг влево X’ = X shl V;

– арифметический сдвиг вправо X’ = X shr V;

– циклический сдвиг влево X’ = X rol V;

– циклический сдвиг вправо X’ = X ror V.

3. Табличные подстановки:

– S-box (англ. substitute) X’ = Table [X,V].

В качестве параметра V для любого из этих преобразований может использоваться:

фиксированное число (например, X’ = X + 125).

число, получаемое из ключа (например, X’ = X + F(K)).

число, получаемое из независимой части блока (например, X2’ = X2 + F(X1)).



Стандарт шифрования данных DES

СтандартшифрованияданныхDES (DataEncryptionStandard) опубликован в 1977 г. Национальным бюро стандартов США.СтандартDESпредназначен для защиты от несанкционированного доступа к важной, но несекретной информации в государственных и коммерческих организациях США.Алгоритм, положенный в основу стандарта, распространялся достаточно быстро, и в 1980 г. был одобрен Национальным институтом стандартов и технологий США (НИСТ). С этого момента появляются программное обеспечение и специализированные микроЭВМ, предназначенные для шифрования и расшифровки информации в сетях передачи данных.

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

Основные достоинства алгоритма DES заключаются в том, что:

- используется только один ключ длиной 56 бит;

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

- относительная простота алгоритма обеспечивает высокую скорость обработки;

- достаточно высокая стойкость алгоритма.

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

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

- электронная кодовая книга ЕСВ (Electronic Code Book);

- сцепление блоков шифра СВС (Cipher Block Chaining);

- обратная связь по шифротексту CFB (Cipher Feed Back);

- обратная связь по выходу OFB (Output Feed Back).

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

Режим ЕСВ хорошо подходит для шифрования ключей: режим CFB, как правило, предназначается для шифрования отдельных символов, а режим OFB нередко применяется для шифрования в спутниковых системах связи.

Режимы СВС и CFB пригодны для аутентификации данных.

Данные режимы позволяют использовать алгоритм DES для:

- интерактивного шифрования при обмене данными между терминалом и главной ЭВМ;

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

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

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

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

Одним из наиболее важных применений алгоритма DES является защита сообщений электронной системы платежей (ЭСП) при операциях с широкой клиентурой и между банками.



Современные криптографические схемы

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

Симметричные криптосистемы: гаммирование, подстановки, блочные шрифты, перестановки.

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

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

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

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


  1. Перечислите основные признаки защищаемой информации.

  2. Дайте определению понятию «Криптология» как науке.

  3. Что называют кодированием?

  4. Что называют взламыванием шифра?

  5. Перечислите первые научные работы по криптологии.

  6. Охарактеризуйте два основных принципа, используемых в практических шифрах: рассеивание и перемешивание.

  7. Приведите примеры криптоалгоритмов.

  8. Для чего предназначен стандарт DES?

  9. Кто является основоположником стандарта DES?



Лекция № 2.

Тема: Задачи и основные понятия криптологии
Основные вопросы:

  1. Симметричные и асимметричные шифросистемы

  2. Понятие о криптографическихпротоколах

  3. Организация секретной связи, задачи криптоаналитика

  4. Обеспечение целостности сообщений

  5. Цифровая подпись


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

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

Общий принцип шифрования симметричной криптосистемы:

сим.шифрование.jpg

Преимущества:


  • Большая скорость

  • Простота в реализации

  • Меньшая требуемая длина ключа для сопоставимой стойкости

Недостатки:

  • Сложность обмена ключами. Для применения необходимо решить проблему надёжной передачи ключей каждому абоненту, так как нужен секретный канал для передачи каждого ключа обеим сторонам.

  • Сложность управления ключами в большой сети. Означает квадратичное возрастание числа пар ключей, которые надо генерировать, передавать, хранить и уничтожать в сети. Для сети в 10 абонентов требуется 45 ключей, для 100 уже 4950, для 1000 — 499500 и т. д.

Примеры распространенных алгоритмов:

  • AES (англ. Advanced Encryption Standard) - американский стандарт шифрования

  • ГОСТ 28147-89 — отечественный стандарт шифрования данных

  • DES (англ. Data Encryption Standard) - стандарт шифрования данных в США до AES

  • IDEA (англ. International Data Encryption Algorithm)

  • RC6 (Шифр Ривеста)

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

Общий принцип шифрования ассимметричной криптосистемы:


1306541593 15.png

Алгоритмы криптосистемы с открытым ключом можно использовать:

1 Как самостоятельные средства для защиты передаваемой и хранимой информации

2 Как средства распределения ключей. Обычно с помощью алгоритмов криптосистем с открытым ключом распределяют ключи, малые по объёму. А саму передачу больших информационных потоков осуществляют с помощью других алгоритмов.

3 Как средства аутентификации пользователей.

Преимущества:


  • В больших сетях число ключей в асимметричной криптосистеме значительно меньше, чем в симметричной

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

Недостатки:

  • В больших сетях число ключей в асимметричной криптосистеме значительно меньше, чем в симметричной

  • Низкая скорость выполнения операций зашифровки и расшифровки

  • Используются более длинные ключи

  • Трудно внести изменения

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

Виды асимметричных шифров:



  • RSA (Rivest-Shamir-Adleman, Ривест — Шамир — Адлеман)

  • Elgamal(Шифросистема Эль-Гамаля)

  • ГОСТ 34.10-2001

  • Williams System (Криптосистема Уильямса)


Понятие о криптографических протоколах

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

Обычный коммуникационный протокол обеспечивает установку соединения/сеанса, выбор маршрута, обнаружение искажений и восстановление передаваемой информации и т. п.

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

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

Функции-сервисы безопасности. Понятие безопасности распределенных информационных систем в настоящее время конкретизируется как степень надежности реализации разнообразных функций (сервисов) безопасности. Впервые в наиболееполном виде концепция функций-сервисов безопасности изложена в международномстандарте: «Базовая эталонная модель взаимодействия открытых систем. Часть 2:Архитектура безопасности», утвержденном в 1989 г. В 1991 г. этот стандарт был повторен в «Рекомендации X.800: Архитектура безопасности взаимодействия открытых систем, для применений МККТТ». Он содержит описание основных (базовых)функций-сервисов безопасности для случая взаимодействия двух систем, а также основных механизмов, обеспечивающих эти услуги, включая криптографические средства. Указано также их желательное расположение в эталонной семиуровневой моделивзаимодействия открытых систем.

Функция-сервис безопасности (security services) — защитная функция, выполняемая подсистемой безопасности и определяемая ее целевым назначением.

В соответствии со стандартом ISO 7498.2 для архитектуры безопасности эталонноймодели взаимодействия OSI выделено пять классов таких функций:

— аутентификация сторон и аутентификация источника данных,

— разграничение доступа,

— конфиденциальность,

— целостность,

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

Криптографический протокол (cryptographic protocol) — протокол,предназначенный для выполнения функций криптографической системы, в процессевыполнения которого участники используют криптографические алгоритмы.

Криптографическая система — система обеспечения безопасности информациикриптографическими методами.

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

В качестве подсистем она может включать:

— системы шифрования,

— системы идентификации,

— системы имитозащиты,

— системы цифровой подписи и др., а также ключевую систему.

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

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

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

Функции-сервисы безопасности. Аутентификация источника данных (data originauthentication service) - обеспечивает возможность проверки того, что полученные данные действительно созданы конкретнымисточником. Данная функция не обеспечивает защиты от повторного навязывания или модификацииданных.

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

Конфиденциальность данных (data confidentiality service) - обеспечивает невозможность несанкционированногополучения доступа к данным или раскрытия данных.

Невозможность отказа (non-repudiation service) - обеспечивает невозможность отказа одной из сторонот факта участия в информационном обмене (полностью или в какой-либо его части).

Невозможность отказа с доказательством получения (non-repudiationservicewithproofof delivery) - обеспечивает невозможность отказа получателя отфакта получения сообщения.

Невозможность отказа с доказательством источника (non-repudiationservicewithproofoforigin) - обеспечивает невозможность отказа одной из сторонот факта отправления сообщения.

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

Обеспечение целостности соединения без восстановления (connection integrity service without recovery) - обеспечивает возможность проверки того, что вседанные, передаваемые при установленном соединении, не подверглись модификации, без восстановленияэтих данных.

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

Разграничение доступа (access control service) - обеспечивает невозможность несанкционированногоиспользования ресурсов системы. Данный термин понимается в самом широком смысле. На практикерешение о предоставлении доступа основывается нааутентификации сторон.

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



Организация секретной связи, задачи криптоаналитика

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



Криптоаналитик — специалист по криптоанализу. Одним из первых криптоаналитиков был Аристотель, криптографически вскрывший скиталу — одно из первых известных криптографических устройств.

Современный криптоаналитик должен иметь познания в области математики и теории алгоритмов. Часто также является криптографом — специалистом по созданию и использованию средств шифрования.



Обеспечение целостности сообщений

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

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


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

  • случайное изменение при передаче информации или при неисправной работе жесткого диска.

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

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

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

Цифровая подпись


следующая страница >>