11. лекция: основы теории защиты информациилекции дается понятие криптографии, использование ее на практике, различные методы криптографии, их свойства и методы шифрования. Вводится понятие нераскрываемый шифр. Подробно описываются две системы шифрования: криптосистема без передачи ключей и криптосистема с открытым ключом. Хорошее математическое обоснование систем. Суть электронной подписи. Рассказывается о стандарте шифрования данных DES Криптография (тайнопись) - это раздел математики, в котором изучаются и разрабатываются системы изменения письма с целью сделать его непонятным для непосвященных лиц. Известно, что еще в V веке до нашей эры тайнопись использовалась в Греции. В современном мире, где все больше и больше услуг предоставляется через использование информационных технологий, проблема защиты информации методами криптографии имеет первостепенное значение. Сегодня большая часть обмена информацией проходит по компьютерным сетям и часто (в бизнесе, военным и прочее) нужно обеспечивать конфиденциальность такого обмена. Теоретические основы классической криптографии впервые были изложены Клодом Шенноном в конце 1940-х годов. Простейшая система шифрования - это замена каждого знака письма на другой знак по выбранному правилу. Юлий Цезарь, например, заменял в своих секретных письмах первую букву алфавита на четвертую, вторую - на пятую, последнюю - на третью и т.п., т.е. A на D, B на E, Z на C и т.п. Октавиан Август заменял каждую непоследнюю букву алфавита на следующую, а последнюю на первую. Подобные шифры, называемые простой заменой или подстановкой, описаны в рассказах "Пляшущие человечки" А. К. Дойла, "Золотой жук" Э. По и других. Шифры простой замены легко поддаются расшифровке, при знании исходного языка сообщения, т.к. каждый письменный язык характеризуется частотой встречаемости своих знаков. Например, в английском языке чаще всего встречается буква E, а в русском - О. Таким образом, в шифрованном подстановкой сообщении на русском языке самому частому знаку будет с большой вероятностью соответствовать буква О. Вероятность будет расти с ростом длины сообщения. Усовершенствованные шифры-подстановки используют возможность заменять символ исходного сообщения на любой символ из заданного для него множества символов, что позволяет выровнять частоты встречаемости различных знаков шифра, но подобные шифры удлиняют сообщение и замедляют скорость обмена информацией. В шифрах-перестановках знаки сообщения специальным образом переставляются между собой, например, записывая сообщение в строки заданной длины и беря затем последовательность слов в столбцах в качестве шифра. Сообщение "ТЕОРИЯИНФОРМАЦИИ", используя строки длины 4, будет в шифрованном таким методом виде выглядеть как "ТИФАЕЯОЦОИРИРНМИ", потому что при шифровании использовался следующий прямоугольник: Шифры-перестановки в общем случае практически не поддаются дешифровке. Для их дешифровки необходимо знать дополнительную информацию. Крупный недостаток подобных шифров в том, что если удастся каким-то образом расшифровать хотя бы одно сообщение, то в дальнейшем можно расшифровать и любое другое. Модификацией шифров-перестановок являются шифры-перестановки со словом-ключом, которое определяет порядок взятия слов-столбцов. Например, если для рассмотренного шифра взять ключ "РЫБА", то шифрованное сообщение будет выглядеть как "РНМИОИРИТИФАЕЯОЦ". Системы с ключевым словом или просто ключом, известные с XVI века, широко применяются до сих пор. Их особенностью является два уровня секретности. Первый уровень - это собственно способ составления кода, который постоянно известен лицам, использующим данный шифр. Второй уровень - это ключ, который посылается отдельно от основного сообщения по особо защищенным каналам и без которого расшифровка основного сообщения невозможна. Наиболее простой способ использования ключа хорошего шифра следующий: под символами сообщения записывается раз за разом ключ, затем номера соответствующих знаков сообщения и ключа складываются. Если полученная сумма больше общего числа знаков, то от нее отнимается это общее число знаков. Полученные числа будут номерами символов кода. С ростом длины ключа трудоемкость дешифровки подобного шифра стремительно растет. Например, рассмотренное ранее сообщение с ключом "КИБЕРНЕТИКА" в шифрованном виде будет выглядеть как "ЮОРЦЪНОБЮЪСШЙШОЪ". Процесс шифровки описывается схемой:
Если в качестве ключа использовать случайную последовательность, то получится нераскрываемый шифр. Проблема этого шифра - это способ передачи ключа. В информационных сетях использование традиционных систем шифрования с ключом затрудненно необходимостью иметь специальный особо защищенный способ для передачи ключа. В 1976 году У. Диффи (Diffie W.) и М. Хеллман (Hellman M.) - инженеры-электрики из Станфордского университета, а также студент Калифорнийского университета Р. Меркль (Merkle R.), предложили новый принцип построения криптосистем, не требующий передачи ключа принимающему сообщение и сохранения в тайне метода шифрования. В дальнейшем, в качестве примеров, рассмотрим три системы, основанные на идеях Диффи и Хеллмана: без передачи ключей, с открытым ключом и электронную подпись - все они в свою очередь основаны на математическом фундаменте теории чисел. Упражнение 47 Зашифровать сообщение "КИБЕРНЕТИКА" ключом "ДИСК".
Криптосистема без передачи ключей Пусть абоненты условились организовать между собой секретную переписку. Для этой цели они выбирают достаточно большое простое число такое, что хорошо разлагается на не очень большие простые множители. Затем каждый из абонентов независимо один от другого выбирает себе некоторое натуральное число, взаимно простое с . Пусть число абонента - , абонента - и т.д. Числа составляют первые секретные ключи соответствующих абонентов. Вторые секретные ключи ( для , для и т.д.) находятся из уравнений: для из , ; для - из , и т.д. Пересылаемые сообщения, коды-числа, должны быть меньше . В случае, когда сообщение больше или равно , оно разбивается на части таким образом, чтобы каждая часть была числом, меньшим . Предположим абонент решил отправить сообщение () . Для этого он сначала зашифровывает свое сообщение ключом , получая по формуле шифрованное сообщение , которое отправляется . , получив , зашифровывает его своим ключом , получая по формуле шифрованное сообщение , которое отправляется обратно к . шифрует полученное сообщение ключом по формуле и окончательно отправляет к . , используя ключ , сможет теперь расшифровать исходное сообщение . Действительно, , т.к. , следовательно, для некоторого целого и , т.к. по теореме Эйлера-Ферма. Пример. Абоненты и вместе выбрали (), выбрал , а - . Затем из уравнения находит , а из подобного уравнения находит . При передаче сообщения от к сначала отправляет к , из вычисляет и отправляет его обратно , из вычисляет для , наконец, может прочитать посланное ему сообщение . Упражнение 48 Между абонентами и установлен секретный канал связи без передачи ключей при заданных и их первых ключах 15 и 21. Описать процесс передачи сообщений 22 (от к ) и 17 (от к ). Криптосистема с открытым ключом Первую и наиболее известную систему с открытым ключом разработали в 1978 году американцы Р. Ривест (Rivest R.), Э. Шамир (Shamir A.) и Л. Адлеман (Adleman L.). По их именам эта система получила название RSA. Пусть абоненты и решили организовать для себя возможность секретной переписки. Для этого каждый из них независимо выбирает два больших простых числа (, и , ), находит их произведение ( и ), функцию Эйлера от этого произведения ( и ) и случайное число ( и ), меньшее вычисленного значения функции Эйлера и взаимно простое с ним. Кроме того, из уравнения находит (), а из уравнения находит (). Затем и печатают доступную всем книгу паролей вида:
Теперь кто-угодно может отправлять конфиденциальные сообщения или . Например, если пользователь книги паролей хочет отправить сообщение для ( должно быть меньшим , или делиться на куски, меньшие ), то он использует ключ из книги паролей для получения шифрованного сообщения по формуле , которое и отправляется . для дешифровки использует ключ в формуле , т.к. , следовательно, для некоторого целого и , т.к. по теореме Эйлера-Ферма. Доказано1) , что задача нахождения секретного ключа по данным из книги паролей имеет ту же сложность, что и задача разложения числа на простые множители. Пример. Пусть для и , тогда , , , (из уравнения ). Следовательно, запись в книге паролей для будет иметь вид . Если кто-то захочет отправить секретное сообщение , то он должен сначала превратить его в шифровку по формуле . Когда получит он дешифрует его по формуле . Упражнение 49 Нужно послать секретные сообщения 25 и 2 для JB и 14 для CIA, используя следующие записи открытой книги паролей криптосистемы RSA: JB: 77,7; CIA: 667,15. Упражнение 50 Пользователь системы RSA выбрал и . Какие из чисел 12, 33, 125, 513 он может выбрать для открытого ключа? Вычислить для них закрытый ключ. Упражнение 51 Пользователь системы RSA, выбравший , и , получил шифрованное сообщение . Дешифровать . Электронная подпись Криптосистема с открытым ключом открыта для посылки сообщений для абонентов из книги паролей для любого желающего. В системе с электронной подписью сообщение необходимо "подписывать", т.е. явно указывать на отправителя из книги паролей. Пусть - абоненты системы с электронной подписью. Все они независимо друг от друга выбирают и вычисляют ряд чисел точно так же как и в системе с открытым ключом. Пусть -ый абонент () выбирает два больших простых числа и , затем вычисляет их произведение - и функцию Эйлера от него - , затем выбирает первый ключ из условий , и, наконец, вычисляет второй ключ из уравнения . Записи в книге паролей будут иметь вид:
Если абонент решает отправить секретное письмо , то ему следует проделать следующую последовательность операций: Если , то разбивается на части, каждая из которых меньше меньшего из чисел и ; Если , то сообщение сначала шифруется ключом (), а затем - ключом (), если же , то сообщение сначала шифруется ключом (), а затем - ключом (); Шифрованное сообщение отправляется . для дешифровки сообщения должен знать, кто его отправил, поэтому к должна быть добавлена электронная подпись, указывающая на . Если , то для расшифровки сначала применяется ключ , а затем - , если же , то для расшифровки сначала применяется ключ , а затем - . Рассмотрим случай : и по теореме Эйлера-Ферма. Пример. Пусть выбрал и вычислил следующие числа , а - следующие . После занесения записей о и в открытую книгу паролей, решает послать сообщение для . Тdsk к. , то сообщение сначала шифруется ключом , а затем ключом : , . Сообщение отправляется . Получив , , зная, что оно пришло от , дешифрует его сначала ключом , а затем ключом : , . Если подписать сообщение открытым образом, например, именем отправителя, то такая "подпись" будет ничем не защищена от подделки. Защита электронной подписи обычно реализуется с использованием таких же методов, что в криптосистеме с открытым ключом. Электронная подпись генерируется отправителем по передаваемому сообщению и секретному ключу. Получатель сообщения может проверить его аутентичность по прилагаемой к нему электронной подписи и открытому ключу отправителя. Стандартные системы электронной подписи считаются настолько надежными, что электронная подпись юридически приравнена к рукописной. Электронная подпись часто используется с открытыми, незашифрованными электронными документами. Стандарт шифрования данных В 1977 году в США был предложен стандарт для шифрования данных - DES (Data Encryption Standard), разработанный в IBM. В 1980 он был одобрен ведущей мировой организацией по стандартам - ANSI. В настоящее время алгоритм DES широко используется для защиты коммерческой информации. DES - это классическая криптосистема с открытым способом шифровки и дешифровки, секретность которой обеспечивается исключительно ключом. Основные достоинства DES: используется только один ключ фиксированной длины 56 бит (в системах с открытым ключом длина ключа должна быть более 300 бит); зашифровав сообщение с помощью одной программы, для расшифровки можно использовать другую; относительная простота алгоритма обеспечивает высокую скорость работы (как минимум, на порядок выше скорости работы алгоритма для криптосистемы с открытым ключом); достаточно высокая стойкость алгоритма (стойкость конкретного зашифрованного сообщения зависит от выбора ключа). Главный недостаток DES связан с его классической организацией, т.е. с необходимостью обеспечивать сверхнадежный канал для передачи ключей. Алгоритм DES предназначен для шифровки ровно 64 бит исходных данных - более длинные сообщения должны разбиваться на части длиной 64 бита, а более короткие дополняться нулями или пробелами. Собственно шифровка и дешифровка обеспечиваются многократными битовыми перестановками в исходном сообщении, определяемыми стандартными перестановочными матрицами и ключом. Примером программы, реализующей алгоритм DES, является программа DISKREET из пакета Norton Utilities. |
| Оглавление| |