Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Kriptografia

.pdf
Скачиваний:
21
Добавлен:
13.02.2015
Размер:
850.35 Кб
Скачать

Вопросы к экзамену по дисциплине «Криптографическое закрытие информации»

1.Термины и понятия, применяемые в криптографии.

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

Шифротекст, шифрованный (закрытый) текст — данные, полученные после применения криптосистемы (обычно — с некоторым указанным ключом).

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

Шифр, криптосистема — семейство обратимых преобразований открытого текста в шифрованный.

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

Расшифровывание — процесс нормального применения криптографического преобразования шифрованного текста в открытый.

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

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

Секретный ключ, закрытый ключ — тот из двух ключей асимметричной системы, который хранится в секрете.

Криптоанализ — наука, изучающая математические методы нарушения конфиденциальности и целостности информации.

Криптоаналитик — человек, создающий и применяющий методы криптоанализа.

Криптография и криптоанализ составляют криптологию, как единую науку о создании и взломе шифров (такое деление привнесено с запада, до этого в СССР и России не применялось специального деления).

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

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

Криптографическая стойкость — способность криптографического алгоритма противостоять криптоанализу.

Имитозащита — защита от навязывания ложной информации. Другими словами, текст остаётся открытым, но появляется возможность проверить, что его не изменяли, ни

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

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

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

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

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

2. Криптоанализ. Методы криптографического анализа.

Криптоанализ (от др.-греч. κρυπτός — скрытый и анализ) — наука о методах расшифровки зашифрованной информации без предназначенного для такой расшифровки ключа.

Брюс Шнайер выделяет 4 основных и 3 дополнительных метода криптоанализа, предполагая знание криптоаналитиком алгоритма шифра:

Основные методы криптоанализа:

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

Атака на основе открытых текстов и соответствующих шифротекстов

Атака на основе подобранного открытого текста (возможность выбрать текст для шифрования)

Атака на основе адаптивно подобранного открытого текста

Дополнительные методы криптоанализа:

Атака на основе подобранного шифротекста

Атака на основе подобранного ключа

Бандитский криптоанализ

3.Классификация методов шифрования. Характерные отличия каждого типа.

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

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

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

Задача. Есть два собеседника — Алиса и Боб, они хотят обмениваться конфиденциальной информацией.

Генерация ключа.

Боб (или Алиса) выбирает ключ шифрования d и алгоритм E, D(функции шифрования и расшифрования), затем посылает эту информацию Алисе (Бобу).

Шифрование и передача сообщения.

Алиса шифрует информацию с использованием полученного ключа d.

( , ) =

И передает Бобу полученный шифротекст c. То же самое делает Боб, если хочет отправить Алисе сообщение.

Расшифрование сообщения.

Боб(Алиса), с помощью того же ключа d, расшифровывает шифротекст c.

( , ) =

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

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

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

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

Первыми исследователями, которые изобрели и раскрыли понятие шифрования с открытым кодом, были Уитфилд Диффи и Мартин Хеллман из Стэнфордского университета, и Ральф Меркле из Калифорнийского университета в Беркли. В 1976 году их работа «Новые направления в современной криптографии» открыла новую область в криптографии, теперь известную как криптография с открытым ключом.

Задача. Есть два собеседника — Алиса и Боб, Алиса хочет передавать Бобу конфиденциальную информацию.

Генерация ключевой пары.

Боб выбирает алгоритм (E, D) и пару открытый, закрытый ключи — (e,d) и посылает открытый ключ e Алисе по открытому каналу.

Шифрование и передача сообщения.

Алиса шифрует информацию с использованием открытого ключа Боба e.

E(m,e) = c

И передает Бобу полученный шифротекст c. Расшифрование сообщения.

Боб, с помощью закрытого ключа d, расшифровывает шифротекст c.

D(c,d) = m

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

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

Шифр подстано́вки – это метод шифрования, в котором элементы исходного открытого текста заменяются зашифрованным текстом в соответствии с некоторым правилом. Элементами текста могут быть отдельные символы (самый распространённый случай), пары букв, тройки букв, комбинирование этих случаев и так далее. В классической криптографии различают четыре типа шифра подстановки:

Одноалфавитный шифр подстановки (шифр простой замены) — шифр, при котором каждый символ открытого текста заменяется на некоторый, фиксированный при данном ключе символ того же алфавита.

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

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

Полиалфавитный шифр подстановки состоит из нескольких шифров простой замены. Примеры: шифр Виженера, шифр Бофора, одноразовый блокнот.

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

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

Однозвучные шифры сложнее для вскрытия, хотя они и не скрывают всех статистических свойств текста.

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

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

Простой перестановочный шифр с фиксированным периодом n подразумевает разбиение исходного текста на блоки по n символов и использование для каждого такого блока некоторой перестановки E. Ключом такого шифра является используемая при шифровании перестановочная матрица P или вектор t, указывающий правило перестановки. Таким образом, общее число возможных ключей определяется длиной блока n и равно n!. При дешифрации используется матрица обратной перестановки D, являющаяся обратной к матрице P по умножению, то есть D*P=I, где I — единичная матрица.

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

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

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

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

Таким образом, длина блока n определялась длиной и диаметром палочки, а само шифрование заключалось в перестановке символов исходного текста в соответствии с длиной окружности палочки. Например, используя палочку, по длине окружности которой помещается 4 символа, а длина палочки позволяет записать 6 символов, исходный текст: «это шифр древней спарты» превратится в шифрограмму: «эфвптрнао ер дйтшр ыиес». Длина блока n = 23, а вектор t, указывающий правило перестановки, для этого шифра может быть записан следующим образом: t = {1, 7, 13, 19, 2, 8, 14, 20, 3, 9, 15, 21, 4, 10, 16, 22, 5, 11, 17, 23, 6, 12, 18}.

При определении частоты блоков шифр с легкостью расшифровывается.

6. Методика использования одноразовых блокнотов. Метод гаммирования.

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

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

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

Ключевую последовательность не использовать дважды!

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

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

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

Метод гаммирования:

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

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

т.е.:

= (

+ ) ( − 1),

где

 

, , - символы, соответственно,

зашифрованного,

 

 

 

 

 

 

 

 

исходного

текста и гаммы.

При

втором методе символы исходного

текста и гаммы

представляются в виде двоичного кода, затем соответствующие разряды складываются по модулю 2.

 

Б

У

Д

Ь

Шифруемый

010010

100000

110010

100000

 

текст

 

 

 

 

 

Знаки гаммы

7

1

8

2

Зашифрованный

010101

100001

111010

100010

 

текст

 

 

 

 

 

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

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

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

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

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

7. Криптографические протоколы. Типы протоколов.

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

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

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

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

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

Наиболее распространенными криптографическими протоколами являются:

протоколы обмена ключами;

протоколы аутентификации (идентификации);

протоколы электронной цифровой подписи;

протоколы контроля целостности;

протоколы электронных платежей;

протоколы голосования;

протоколы доказательства с нулевым разглашением и т.д.

8.Симметричное шифрование. Особенности применения. Общая схема симметричного шифрования.

Существует 2 основных типа алгоритмов, основанных на ключах – симметричный и асимметричный.

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

Симметричные алгоритмы делятся на 2 категории, одни обрабатывают открытый текст побитно (побайтно), другие работают с группами битов (блочные). Группы битов называются блоками. Типичный размер блока составляет 64 бита, это достаточно большое число, чтобы помешать анализу.

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

1.Алиса и Боб выбирают систему шифрования;

2.А и Б выбирают ключ;

3.Алиса шифрует открытый текст выбранным алгоритмом шифрования и ключом;

4.Алиса посылает шифрованное сообщение Бобу;

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

Проблемы данного типа алгоритма:

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

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

заблуждение одну из сторон.

3.Если каждая пара пользователей сети использует отдельный ключ, общее число ключей быстро возрастает с ростом числа пользователей сети, т.е. сеть из пользователей требует n*(n-1)/2 ключей.

Достоинства алгоритма:

1.скорость

2.простота реализации

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

9.Асимметричное шифрование. Особенности применения. Общая схема асимметричного шифрования.

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

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

Этап

Алиса

Боб

 

 

 

1 этап

Оба участника договариваются о значениях Y и P для общей односторонней функции. Эта

 

информация не является секретной.

 

 

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

 

образом: 7x (mod 11)

 

2 этап

Алиса выбирает случайное число А

Боб выбирает случайное число B (например 6),

 

(например 3), хранит его в секрете

хранит его в секрете

 

 

 

3 этап

Алиса подставляет число A в общую

Боб подставляет число B в общую функцию и

 

функцию и вычисляет результат, который

вычисляет результат, который обозначает

 

обозначает как число a

как число b

 

73 (mod 11) = 343 (mod 11) = 2

76 (mod 11) = 117649 (mod 11) = 4

 

 

 

4 этап

Алиса передает число a Бобу

Боб передает число b Алисе

 

 

 

5 этап

Алиса получает b от Боба и производит

Боб получает a от Алисы и производит

 

вычисления

вычисления

 

bA (mod 11) = 43 (mod 11) = 64 (mod 11) = 9

aB (mod 11) = 26 (mod 11) = 64 (mod 11) = 9

 

 

 

6 этап

Оба участника в итоге получают какое-то число. Оно и будет являться ключом.

 

 

 

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

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

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

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

10.Однонаправленные функции. Хэш-функции. Применение хэш-функций в криптографии.

Однонаправленные функции

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

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

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

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

Целочисленное умножение:

Вычисление произведения двух очень больших целых чисел P и Q (N=P*Q) является несложной задачей для ЭВМ. Однако, решение обратной задачи, заключающейся в нахождении делителей P и Q большого числа N (в особенности, когда P и Q – большие простые числа), является практически неразрешимой задачей при больших N. Если N»2664 и P»Q, то задача факторизации не разрешима за приемлемое время на современных ЭВМ. Поэтому целочисленное умножение является однонаправленной функцией.

Модульная экспонента:

Возведение очень большого числа A в очень большую степень x по любому модулю M (), то есть вычисление является несложной задачей для ЭВМ. Однако решение обратной задачи – нахождения степени x по известным у,A,M такой, что задача дискретного логарифмирования, практически не разрешима за приемлемое время на современных ЭВМ. Эффективного алгоритма вычисления дискретного логарифма пока не найдено. Поэтому модульная экспонента является однонаправленной функцией.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]