Методические указания по выполнению практических работ по МДК 03.02 Безопасность функционирования информационных систем


ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ И НАУКИ ПРИМОРСКОГО КРАЯ
КРАЕВОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ
ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
«ДАЛЬНЕВОСТОЧНЫЙ ТЕХНИЧЕСКИЙ КОЛЛЕДЖ»
219075059055
ПРАКТИКУМ
по МДК. 03.02 «Безопасность функционирования информационных систем»
Тема: Идентификация и аутентификация субъектов
Тема: Криптографические средства защиты информации
Специальность: 09.02.02 «Компьютерные сети»
Уссурийск
2017
Рассмотрено
на заседании кафедры
информационных технологий
Протокол № 7от «23»марта 2015г
Заведующая кафедрой __________О.Б. Миронова
Данный практикум составлен в соответствии с требованиями Федерального государственного образовательного стандарта по специальности 09.02.02 «Компьютерные сети».
Данный практикум предназначен для студентов изучающих междисциплинарный курс «Безопасность функционирования информационных систем» специальности 09.02.02 «Компьютерные сети».
Автор: Миронова О.Б. – преподаватель Дальневосточного технического колледжа»

Содержание TOC \o "1-1" \h \z \u
Введение PAGEREF _Toc474402401 \h 4Практическая работа № 1 PAGEREF _Toc474402402 \h 5Практическая работа №2 PAGEREF _Toc474402403 \h 8Практическая работа №3 PAGEREF _Toc474402404 \h 15Практическая работа № 4 PAGEREF _Toc474402405 \h 23Практическая работа № 5 PAGEREF _Toc474402406 \h 26

ВведениеЦелью данного практикума является реализация государственных требований к минимуму содержания и уровню подготовки выпускников по МДК 03.02 «Безопасность функционирования информационных систем».
Данный практикум может быть использован преподавателями для проведения практических занятий по темам «Идентификация и аутентификация субъектов» и «Криптографические средства защиты информации».
Каждая практическая работа по курсу содержит название, цели работы, теоретические сведения, задания для самостоятельной работы. В каждой работе подробно описан ход выполнения работы.
Практические работы выполняются студентами индивидуально.
Практическая работа выполняется согласно заданию. Результат работы представляется студентом преподавателю.
По ходу выполнения работы при возникновении вопросов студент может получить консультацию у преподавателя или самостоятельно воспользоваться лекционным материалом.
Результат выполнения практической работы оценивается по пятибалльной шкале.

Практическая работа № 1Тема: Количественная оценка стойкости парольной защиты»
Цель работы: научится рассчитывать оценку стойкости парольной защиты.
Формируемые компетенции
ПК 3.1. Устанавливать, настраивать, эксплуатировать и обслуживать технические и программно-аппаратные средства компьютерных сетей
ОК 1. Понимать сущность и социальную значимость своей будущей профессии, проявлять к ней устойчивый интерес.
ОК 2. Организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество.
ОК 3. Решать проблемы, оценивать риски и принимать решения в нестандартных ситуациях.
ОК 4. Осуществлять поиск, анализ и оценку информации, необходимой для постановки и решения профессиональных задач, профессионального и личностного развития.
ОК 5. Использовать информационно-коммуникационные технологии в профессиональной деятельности.
Литература:
Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. – СПб.: Питер, 2009
Приходько А.Я. Словарь-справочник по информационной безопасности – М.: «Синтег», 2010.
Порядок выполнения работы
Записать в тетради тему и цель работы.
Ознакомится с краткими теоретическими сведениями.
Выполнить задания
Ответить на контрольные вопросы.
Теоретические сведения
Подсистемы идентификации и аутентификации пользователя играют очень важную роль в системах защиты информации.
Стойкость подсистемы идентификации и аутентификации пользователя в системе защиты информации (СЗИ) во многом определяет устойчивость к взлому самой СЗИ. Данная стойкость определяется гарантией того, что злоумышленник не сможет пройти аутентификацию, присвоив чужой идентификатор или украв его.
Парольные системы идентификации/аутентификации является одними из основных и наиболее распространенных в СЗИ методами пользовательской аутентификации. В данном случае, информацией, аутентифицирующей пользователя, является некоторый секретный пароль, известный только легальному пользователю.
Парольная аутентификация пользователя является, как правило, передним краем обороны СЗИ. В связи с этим, модуль аутентификации по паролю наиболее часто подвергается атакам со стороны злоумышленника. Цель злоумышленника в данном случае – подобрать аутентифицирующую информацию (пароль) легального пользователя.
Методы парольной аутентификации пользователя являются наиболее простыми методами аутентификации и при несоблюдении определенных требований к выбору пароля являются достаточно уязвимыми.
Основными минимальными требованиями к выбору пароля и к подсистеме парольной аутентификации пользователя являются следующие.
К паролю
Минимальная длина пароля должна быть не менее 6 символов.
Пароль должен состоять из различных групп символов (малые и большие латинские буквы, цифры, специальные символы ‘(’, ‘)’, ‘#’ и т.д.).
В качестве пароля не должны использоваться реальные слова, имена, фамилии и т.д.
К подсистеме парольной аутентификации.
Администратор СЗИ должен устанавливать максимальный срок действия пароля, после чего, он должен быть сменен.
В подсистеме парольной аутентификации должно быть установлено ограничение числа попыток ввода пароля (как правило, не более 3).
В подсистеме парольной аутентификации должна быть установлена временная задержка при вводе неправильного пароля.
Как правило, для генерирования паролей в СЗИ, удовлетворяющих перечисленным требованиям к паролям, используются программы – автоматические генераторы паролей пользователей.
При выполнении перечисленных требований к паролям и к подсистеме парольной аутентификации, единственно возможным методом взлома данной подсистемы злоумышленником является прямой перебор паролей (brute forcing). В данном случае, оценка стойкости парольной защиты осуществляется следующим образом.
Количественная оценка стойкости парольной защиты
Пусть A – мощность алфавита паролей (количество символов, которые могут быть использованы при составлении пароля. Например, если пароль состоит только из малых английских букв, то A=26).L – длина пароля.
- число всевозможных паролей длины L, которые можно составить из символов алфавита A.
V – скорость перебора паролей злоумышленником.
T – максимальный срок действия пароля.
Тогда, вероятность P подбора пароля злоумышленником в течении срока его действия V определяется по следующей формуле.

Задание к работе
Откройте программу генерации паролей, которая находится на сайте http://www.dinopass.com/
При помощи кнопки сгенерируйте 15 паролей различной длины и запишите их в тетрадь
Для каждого пароля рассчитать оценку стойкости парольной защиты по приведенной формуле с использованием таблицы (см. приложение 1), согласно своего варианта.
Контрольные вопросы
Чем определяется стойкость подсистемы идентификации и аутентификации?
Как определить вероятность подбора пароля злоумышленником в течении срока его действия?
Выбором каким параметров можно повлиять на уменьшение вероятности подбора пароля злоумышленником при заданной скорости подбора пароля злоумышленником и заданном сроке действия пароля?
Приложение 1.
Вариант V T
1 15 паролей/мин 2 недели
2 3 паролей/мин 10 дней
3 10 паролей/мин 5 дней
4 11 паролей/мин 6 дней
5 100 паролей/день 12 дней
6 10 паролей/день 1 месяц
7 20 паролей/мин 3 недели
8 15 паролей/мин 20 дней
9 3 паролей/мин 15 дней
10 10 паролей/мин 1 неделя
11 11 паролей/мин 2 недели
12 100 паролей/день 10 дней
13 10 паролей/день 5 дней
14 20 паролей/мин 6 дней
15 15 паролей/мин 12 дней
16 3 паролей/мин 1 месяц
17 10 паролей/мин 3 недели
18 11 паролей/мин 20 дней
19 100 паролей/день 15 дней
20 10 паролей/день 1 неделя
21 20 паролей/мин 2 недели
22 15 паролей/мин 10 дней
23 3 паролей/мин 5 дней

Практическая работа №2Тема: «Шифрование информации»
Цель работы: изучение простейших методов криптографической зашиты информации и закрепление навыков работы в программной среде Microsoft Excel.
Формируемые компетенции
ОК 1. Понимать сущность и социальную значимость своей будущей профессии, проявлять к ней устойчивый интерес
ОК 2. Организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество
ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность
ОК 4. Осуществлять поиск и использование информации, необходимой для эффективного выполнения профессиональных задач, профессионального и личностного развития
План работы:
Изучение теоретического материала.
Зашифровывание своих фамилии и имени, используя метод Цезаря и среду Microsoft Excel.
Расшифровывание фразы с карточки, используя метод Цезаря и среду Microsoft Excel.
Зашифровать, расшифрованную в п.4 фразу методом перестановки с ключом. В качестве ключа взять свою фамилию.
Ответить устно на вопросы.
Предъявить работу преподавателю.
Теоретические сведения:
Система шифрования Цезаря – частный случай шифра простой замены. Метод основан на замене каждого символа сообщения (открытого текста) на другой символ того же алфавита, путем смещения от исходного на k позиций (получаем закрытый текст). Величина k называется ключом шифра (ключ – это информация, необходимая для беспрепятственного дешифрования информации). Ключ в методе Цезаря – целое число. Если поставить в соответствие каждому символу используемого алфавита число, то процесс шифрования будет проходить по формуле:

где xi – номер i-того символа в открытом тексте, yi – номер i-того символа в закрытом тексте, k – ключ, n – число символов в алфавите. Операция mod – это взятие остатка от деления одного числа на другое (например: 5 mod 2 = 1, 10 mod 5 = 0, 20 mod 7 = 6).
Дешифрование (расшифровывание) будет проходить по формуле

Пример.
Зашифруем методом Цезаря с ключом k=7 слово «шифр».
Будем использовать русский алфавит без буквы ё, где букве А соответствует число 0, а следовательно букве Я – 31. Т.е. n=32.
Поставим в исходном слове в соответствие каждой букве число:
ш 24 = х1и 8 = х2ф 20 = х3
р 16 = х4Тогда y1 = (x1 + k) mod 32 = (24 +7) mod 32 = 31 mod 32 = 31 я
y2 = (x2 + k) mod 32 = (8 +7) mod 32 = 15 mod 32 = 15 п
y3 = (x3 + k) mod 32 = (20 +7) mod 32 = 27 mod 32 = 27 ы
y4 = (x4 + k) mod 32 = (16 +7) mod 32 = 23 mod 32 = 23 ч
Таким образом, получили слово «япыч»
Дешифрование.
Для дешифрования необходимо каждому символу слова «япыч» поставить в соответствие число:
я 31 = y1
п 15 = y2
ы 27 = y3
ч 23 = y4
Тогда x1 = (y1 + (32 – k)) mod 32 = (31 +(32 – 7)) mod 32 = 56 mod 32 = 24 ш
x2 = (y2 + (32 – k)) mod 32 = (15 +25) mod 32 = 40 mod 32 = 8 и
x3 = (y3 + (32 – k)) mod 32 = (27 +25) mod 32 = 52 mod 32 = 20 ф
x4 = (y4 + (32 – k)) mod 32 = (23 +25) mod 32 = 48 mod 32 = 16 р
Получили слово «шифр», следовательно шифрование было выполнено правильно.
Шифр перестановки с ключом – является одним из многочисленных видов шифров перестановки (символы исходного сообщения переставляются по определенным законам).
Для перестановки с ключом выбирается ключ – любое слово. Символы ключа нумеруется в порядке следования их в алфавите. Строится таблица, в которой количество столбцов равно количеству букв в ключе. Исходный текст вместе с пробелами и знаками препинания записывается в эту таблицу. Если последняя срока заполнена не полностью, до до конца строки записываются любые символы («пустышки»). Затем текст переписывается по столбцам, учитывая их нумерацию согласно ключу.
Пример.
Выберем в качестве ключа слово «информация». Пронумеруем ключ (первая, из имеющихся в ключе, в алфавите буква А, следовательно ей присваивается номер 1; следующая по алфавиту буква И, следовательно первая буква И будет иметь номер 2, а вторая – 3; далее идет буква М, ей присваиваем номер 4 и т.д.):
и н ф о рм а ц и я
2 5 8 6 7 4 1 9 3 10

Зашифруем пословицу: От умного научишься, от глупого разучишься.
Запишем ее в таблицу под ключом. Оставшиеся ячейки до конца строки заполняют «пустышками».
и н ф о рм а ц и я
2 5 8 6 7 4 1 9 3 10
о т у м н о г о н а у ч и ш ь с я ,
о т г л у по г
о ра з у ч и ш ь
с я а б в г д е ж з
Переписываем столбцы, учитывая их номер:
Оьучдон осояошжншлугтао яуч абмигзв утрагспие ,гьзДля дешифрования зашифрованный текст записывается в таблицу по столбцам, учитывая их номер.
Задание к работе.
Ознакомьтесь с теоретической частью практической работы.
Загрузите программу Microsoft Excel.
На первом листе электронной книги запишите в столбец А буквы русского алфавита. В столбце В – номер букв, в столбце С – опять буквы (такая запись будет необходима для использования функции ВПР).

Переименуйте лист1 в Алфавит.
На втором листе электронной книги запишите название работы, ключ и название столбцов таблицы (S – исходные символы, Х – числа исходных символов, Y – пересчитанные по формуле значения, S1 – символы закрытого текста). Значение ключа можно взять любым и обязательно его значение записать в отдельную ячейку (В5). В столбец S, начиная с 8 строки, впишите фамилию и имя, каждую букву в отдельной ячейке.

В столбце Х должны быть числовые значения символов из столбца S. Эти значения хранятся на листе Алфавит. Чтобы получить их, можно воспользоваться функцией ВПР (категория – ссылки и массивы). Встаем в ячейку В8 и вызываем функцию ВПР. Заполняем ее окно следующим образом:

Растянуть формулу вниз до конца таблицы.
В ячейку С8 (столбец Y) записывается формула для шифрования. Исходная формула метода Цезаря имеет вид: .Операции mod в Excel соответствует функция ОСТАТ(число; делитель). В нашем случае число – это , а делитель – 32. Т.е. функция ОСТАТ будет иметь вид =ОСТАТ((B8+$B$5);32).
Эту формулу необходимо растянуть вниз до конца таблицы.
В ячейку D8 (столбец S1) опять записываем функцию ВПР, которая по числу Y найдет букву. Эта функция будет выглядеть следующим образом:

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

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

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

Запишите полученную фразу в тетрадь.
Зашифруйте в тетради расшифрованную фразу методом перестановки с ключом. В качестве ключа используйте свою фамилию.
Предъявите работу преподавателю.
Контрольные вопросы.
Какой текст называется открытым?
Какой текст называется закрытым?
Что такое ключ?
Как осуществляется процесс шифрования в методе Цезаря?
Что такое «шифрование методом перестановки»?
Как работает функция ОСТАТ?
Что делает функция ВПР?
Варианты заданий
№1
Используя ключ 8 проведите дешифрование информации, зашифрованной методом Цезаря:
фищтршцкти - еъц эръшцщъд р щхцшцкти№2
Используя ключ 6 проведите дешифрование информации, зашифрованной методом Цезаря:
ршф ыфэлш туфйф нужшв, шфтщ ужкф тжсф чхжшв№3
Используя ключ 4 проведите дешифрование информации, зашифрованной методом Цезаря:
уфйичуфйимца жтжфйрг - ийпт ифчлйн№4
Используя ключ 6 проведите дешифрование информации, зашифрованной методом Цезаря:
ифнвтлшче ужцфк - фнлцф хлцлсвлш№5
Используя ключ 7 проведите дешифрование информации, зашифрованной методом Цезаря:
хлфпу схфму йшм цхтм фм хибмлмяг№6
Используя ключ 9 проведите дешифрование информации, зашифрованной методом Цезаря:
мно ъфчлй щонус, ыйх чцс лоъ схозы№7
Используя ключ 10 проведите дешифрование информации, зашифрованной методом Цезаря:
цкх йсеф, ок мыпц ьпхшц мхкоппь№8
Используя ключ 7 проведите дешифрование информации, зашифрованной методом Цезаря:
юму ихтгям фзъсп, щму ъуфмм чъсп№9
Используя ключ 9 проведите дешифрование информации, зашифрованной методом Цезаря:
хйфч нсшфчх схоые, цйнч нофч щйрьхоые№10
Используя ключ 4 проведите дешифрование информации, зашифрованной методом Цезаря:
рчифтхца - сдмрйсаьдг цгкйпдг стьд ж учцм№11
Используя ключ 10 проведите дешифрование информации, зашифрованной методом Цезаря:
щъшнэхжчеп очт мшъшмыьмэ ыъшочт№12
Используя ключ 5 проведите дешифрование информации, зашифрованной методом Цезаря:
уч ирем чурпш серу, кцрн шс цркф№13
Используя ключ 6 проведите дешифрование информации, зашифрованной методом Цезаря:
рфтщ цжзфшж и шейфчшв, шфтщ ул илкфтж№14
Используя ключ 7 проведите дешифрование информации, зашифрованной методом Цезаря:
ьхчхямм йхшцпщзфпм - тъюямм фзштмлшщйх№15
Используя ключ 8 проведите дешифрование информации, зашифрованной методом Цезаря:
чцфиэинад тцщцс - йымнъ щуимцт чцтцс№16
Используя ключ 9 проведите дешифрование информации, зашифрованной методом Цезаря:
уыч хцчмч цйасцйоы, ычы хйфч учцайоы
Практическая работа №3Тема: Изучение методов шифрования. Шифры замены и шифры перестановки.
Цель работы: Научится применять шифры замены и шифры перестановки для шифрования данных.
Формируемые компетенции
ОК 1. Понимать сущность и социальную значимость своей будущей профессии, проявлять к ней устойчивый интерес
ОК 2. Организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество
ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность
ОК 4. Осуществлять поиск и использование информации, необходимой для эффективного выполнения профессиональных задач, профессионального и личностного развития
Порядок выполнения работы.
Записать в тетради тему и цель работы.
Ознакомится с теоретическими сведениями.
Выполнить задания
Оформить отчет
Теоретические сведения.
Шифры замены
Полибианский квадрат. Шифр изобретен греческим государственным деятелем, полководцем и историком Полибием (III век до н.э.). Применительно к русскому алфавиту суть шифрования заключалась в следующем. В квадрат 6х6 выписываются буквы.

Рис.1. Таблица шифрозамен для полибианского квадрата
Шифруемая буква заменяется на координаты квадрата (строка-столбец), в котором она записана. Например, если исходное сообщение «АБРАМОВ», то шифрограмма – «11 12 36 11 32 34 13». В Древней Греции сообщения передавались с помощью оптического телеграфа (с помощью факелов). Для каждой буквы сообщения в начале поднималось количество факелов, соответствующее номеру строки буквы, а затем номеру столбца.
Шифрующая система Трисемуса (Тритемия). В 1508 г. аббат из Германии Иоганн Трисемус написал печатную работу по криптологии под названием «Полиграфия». В этой книге он впервые систематически описал применение шифрующих таблиц, заполненных алфавитом в случайном порядке. Для получения такого шифра замены обычно использовались таблица для записи букв алфавита и ключевое слово (или фраза). В таблицу сначала вписывалось по строкам ключевое слово, причем повторяющиеся буквы отбрасывались. Затем эта таблица дополнялась не вошедшими в нее буквами алфавита по порядку. На рис.6 изображена таблица с ключевым словом «ДЯДИНА».

Рис.2. Таблица шифрозамен для шифра ТрисемусаКаждая буква открытого сообщения заменяется буквой, расположенной под ней в том же столбце. Если буква находится в последней строке таблицы, то для ее шифрования берут самую верхнюю букву столбца. Например, исходное сообщение «АБРАМОВ», зашифрованное – «ЖЗЦЖУФЙ».
Полиграммные шифры замены - шифры, которые шифруют сразу группы (блоки) символов.
Шифр Playfair (англ. «Честная игра»). Был изобретен в 1854 г. Чарльзом Уитстоном, но назван именем лорда Лайона Плейфера, который внедрил данный шифр в государственные службы Великобритании. Он использовался англичанами в Первой мировой войне. Шифр предусматривает шифрование пар символов (биграмм). Таким образом, этот шифр более устойчив к взлому по сравнению с шифром простой замены, так как затрудняется частотный анализ. Он может быть проведен, но не для 26 возможных символов (латинский алфавит), а для 26 х 26 = 676 возможных биграмм. Анализ частоты биграмм возможен, но является значительно более трудным и требует намного большего объема зашифрованного текста.
Для шифрования сообщения необходимо разбить его на биграммы (группы из двух символов), при этом, если в биграмме встретятся два одинаковых символа, то между ними добавляется заранее оговоренный вспомогательный символ (в оригинале – X, для русского алфавита - Я). Например, «зашифрованное сообщение» становится «за ши фр ов ан но ес оЯ об ще ни еЯ». Для формирования ключевой таблицы выбирается лозунг и далее она заполняется по правилам шифрующей системы Трисемуса. Например, лозунг «ДЯДИНА»

Рис.3. Ключевая таблица для шифра PlayfairЗатем, руководствуясь следующими правилами, выполняется зашифровывание пар символов исходного текста:
1. Если символы биграммы исходного текста встречаются в одной строке, то эти символы замещаются на символы, расположенные в ближайших столбцах справа от соответствующих символов. Если символ является последним в строке, то он заменяется на первый символ этой же строки.
2. Если символы биграммы исходного текста встречаются в одном столбце, то они преобразуются в символы того же столбца, находящимися непосредственно под ними. Если символ является нижним в столбце, то он заменяется на первый символ этого же столбца.
3. Если символы биграммы исходного текста находятся в разных столбцах и разных строках, то они заменяются на символы, находящиеся в тех же строках, но соответствующие другим углам прямоугольника.
Пример шифрования.
- биграмма «за» формирует прямоугольник – заменяется на «жб»;
- биграмма «ши» находятся в одном столбце – заменяется на «юе»;
- биграмма «фр» находятся в одной строке – заменяется на «хс»;
- биграмма «ов» формирует прямоугольник – заменяется на «йж»;
- биграмма «ан» находятся в одной строке – заменяется на «ба»;
- биграмма «но» формирует прямоугольник – заменяется на «ам»;
- биграмма «ес» формирует прямоугольник – заменяется на «гт»;
- биграмма «оя» формирует прямоугольник – заменяется на «ка»;
- биграмма «об» формирует прямоугольник – заменяется на «па»;
- биграмма «ще» формирует прямоугольник – заменяется на «шё»;
- биграмма «ни» формирует прямоугольник – заменяется на «ан»;
- биграмма «ея» формирует прямоугольник – заменяется на «ги».
Шифрограмма – «жб юе хс йж ба ам гт ка па шё ан ги».
Для расшифровки необходимо использовать инверсию этих правил, откидывая символы Я (или Х), если они не несут смысла в исходном сообщении.
Полиалфавитные шифры.
Таблица Трисемуса. Одним из шифров, придуманных немецким аббатом Трисемусом, стал многоалфавитный шифр, основанный на так называемой «таблице Трисемуса» - таблице со стороной равной n, где n – количество символов в алфавите. В первой строке матрицы записываются буквы в порядке их очередности в алфавите, во второй – та же последовательность букв, но с циклическим сдвигом на одну позицию влево, в третьей – с циклическим сдвигом на две позиции влево и т.д.

Рис.4. Таблица ТрисемусаЗдесь первая строка является одновременно и строкой букв открытого текста. Первая буква текста шифруется по первой строке, вторая буква по второй и так далее после использования последней строки вновь возвращаются к первой. Так сообщение «АБРАМОВ» приобретет вид «АВТГРУИ».
Система шифрования Виженера. В 1586 г. французский дипломат Блез Виженер представил перед комиссией Генриха III описание простого, но довольно стойкого шифра, в основе которого лежит таблица Трисемуса.
Перед шифрованием выбирается ключ из символов алфавита. Сама процедура шифрования заключается в следующем. По i-ому символу открытого сообщения в первой строке определяется столбец, а по i-ому символу ключа в крайнем левом столбце – строка. На пересечении строки и столбца будет находиться i-ый символ, помещаемый в шифрограмму. Если длина ключа меньше сообщения, то он используется повторно. Например, исходное сообщение «АБРАМОВ», ключ – «ДЯДИНА», шифрограмма – «ДАФИЩОЖ».
Справедливости ради, следует отметить, что авторство данного шифра принадлежит итальянцу Джованни Батиста Беллазо, который описал его в 1553 г. История «проигнорировала важный факт и назвала шифр именем Виженера, несмотря на то, что он ничего не сделал для его создания». Беллазо предложил называть секретное слово или фразу паролем (ит. password; фр. parole - слово).

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

Рис.5. Таблица перестановок
Для примера выберем размер блока, равный 3, и примем таблицу перестановок, показанную на рис.5. Дополним исходное сообщение «АБРАМОВ» буквами Ь и Э, чтобы его длина была кратна 3. В результате шифрования получим «РАБОАМЭВЬ».
Количество ключей для данного шифра при фиксированном размере блока равно m!, где m – размер блока.
Шифр табличной маршрутной перестановки. Наибольшее распространение получили шифры маршрутной перестановки, основанные на таблицах. При шифровании в такую таблицу вписывают исходное сообщение по определенному маршруту, а выписывают (получают шифрограмму) - по другому. Для данного шифра маршруты вписывания и выписывания, а также размеры таблицы являются ключом.

Рис. 6.. Пример использования шифра маршрутной перестановки
Например, исходное сообщения «АБРАМОВ ИЛЬЯ СЕРГЕЕВИЧ» вписывается в прямоугольную таблицу размерами 4х6, маршрут вписывания – слева-направо сверху-вниз, маршрут выписывания – сверху-вниз слева-направо. Шифрограмма в этом случае выглядит «АВ_ЕБ_СВРИЕИАЛР ЧМЬГ_ОЯЕ_».
Шифры с использованием треугольников и трапеций. Помочь выполнить перестановки могут как треугольники, так и трапеции. Открытый текст вписывается в эти фигуры в соответствии с количеством слов и формой выбранной фигуры, которая может быть растянута или сжата, чтобы в ней поместилось сообщение. Для первой фигуры, треугольника, открытый текст записывается построчно от вершины до основания.

Рис.7. Пример использования шифра перестановки при вписывании в треугольник
Ниже записывается ключевое слово. Поскольку основание широкое, ключевое слово повторяется. Буквы строки с ключевым словом нумеруются последовательно согласно их алфавитному порядку. Зашифрованное сообщение выписывается по столбцам согласно выполненной нумерации. Таким образом, для открытого текста «АБРАМОВ ИЛЬЯ СЕРГЕЕВИ» и ключевого слова «ДЯДИНА» шифрограмма будет выглядеть «АМ_РВГРИЕЛВАЯЕБ_ЕИЬРС».
Магические квадраты. Магическими квадратами называются квадратные таблицы со вписанными в их клетки последовательными натуральными числами начиная с 1, которые в сумме по каждому столбцу, каждой строке и каждой диагонали дают одно и то же число. Подобные квадраты широко применялись для вписывания шифруемого текста по приведенной в них нумерации. Если потом выписать содержимое таблицы по строкам, то получалась шифровка перестановкой букв. На первый взгляд кажется, будто магических квадратов очень мало. Тем не менее, их число очень быстро возрастает с увеличением размера квадрата. Так, существует лишь один магический квадрат размером 3х3, если не принимать во внимание его повороты. Магических квадратов 4х4 насчитывается уже 880, а число магических квадратов размером 5х5 около 250000. Поэтому магические квадраты больших размеров могли быть хорошей основой для надежной системы шифрования того времени, потому что ручной перебор всех вариантов ключа для этого шифра был немыслим.
Рассмотри квадрат размером 4х4. В него вписываются числа от 1 до 16. Его магия состоит в том, что сумма чисел по строкам, столбцам и полным диагоналям равняется одному и тому же числу — 34. Впервые эти квадраты появились в Китае, где им и была приписана некоторая «магическая сила».

Рис.8. Магический квадрат 4х4
Шифрование по магическому квадрату производилось следующим образом. Например, требуется зашифровать фразу: «АБРАМОВДЯДИНА...». Буквы этой фразы вписываются последовательно в квадрат согласно записанным в них числам: позиция буквы в предложении соответствует порядковому числу. В пустые клетки ставится точка или любая буква.

Рис.9. Пример шифрования с помощью магического квадрата
После этого шифрованный текст записывается в строку (считывание производится слева-направо сверху-вниз, построчно) – «.РБАМДИДЯОВНА..А».
Шифр двойной перестановки. В таблицу по определенному маршруту записывается текст сообщения, затем переставляются столбцы, а потом переставляются строки. Шифрограмма выписывается по определенному маршруту.
Пример шифрования сообщения «АБРАМОВ+ДЯДИНА» показан на рис.10. Результат шифрования – «ОАБЯ+_АИВ_РДМНАД».

Рис.10. Пример использования шифра двойной перестановки
Ключом к шифру являются размеры таблицы, маршруты вписывания и выписывания, а также порядки перестановки столбцов и строк. Если маршруты являются фиксированными величинами, то количество ключей равно n!*m!, n и m – количество столбцов и строк в таблице.
Задания к работе
1. Необходимо зашифровать свою фамилию с помощью следующих шифров:
полибианского квадрата;шифрующей системы Трисемуса;шифра Playfairтаблицы Трисемуса.
шифра Виженера.
блочной одинарной перестановки;
3. Необходимо зашифровать фамилию и имя с помощью следующих шифров:
табличной маршрутной перестановки;шифры с использованием треугольника.
магический квадрат (размер квадрата - 4х4);
двойной перестановки.При оформлении отчета необходимо привести исходное сообщение (фамилию или фамилию и имя), таблицы, ключевые слова (выбираются произвольно), маршруты вписывания и выписывания, зашифрованное сообщение.
Практическая работа № 4Тема: Изучение методов шифрования. Аддитивные шифры.
Цель работы: Изучить аддитивные методы шифрования на примере аддитивных шифров.
Формируемые компетенции
ОК 1. Понимать сущность и социальную значимость своей будущей профессии, проявлять к ней устойчивый интерес
ОК 2. Организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество
ОК 3. Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность
ОК 4. Осуществлять поиск и использование информации, необходимой для эффективного выполнения профессиональных задач, профессионального и личностного развития
Порядок выполнения работы.
Записать в тетради тему и цель работы
Ознакомится с теоретическими сведениями.
Выполнить задания
Теоретические сведения.
В аддитивных шифрах используется сложение по модулю (mod) исходного сообщения с гаммой, представленных в числовом виде. Напомним, что результатом сложения двух целых чисел по модулю является остаток от деления (например, 5+10 mod 4 = 15 mod 4 = 3).
В литературе шифры этого класса часто называют потоковыми. Стойкость закрытия этими шифрами определяется, главным образом, качеством гаммы, которое зависит от длины периода и случайности распределения по периоду.
Длиною периода гаммы называется минимальное количество символов, после которого последовательность цифр в гамме начинает повторяться. Случайность распределения символов по периоду означает отсутствие закономерностей между появлением различных символов в пределах периода.
По длине периода различаются гаммы с конечным и бесконечным периодом. Если длина периода гаммы превышает длину шифруемого текста, гамма является истинно случайной и не используется для шифрования других сообщений, то такое преобразование является абсолютно стойким (совершенный шифр). Такой шифр нельзя вскрыть на основе статистической обработки шифрограммы.

Сложение по модулю N.
В 1888 г. француз маркиз де Виари в одной из своих научных статей, посвященных криптографии, доказал, что при замене букв исходного сообщения и ключа на числа справедливы формулы
Ci = (Pi + Ki) mod N, (1)
Pi = (Ci + N - Ki) mod N, (2)
где Pi, Ci - i-ый символ открытого и шифрованного сообщения;
N - количество символов в алфавите;
Кi - i-ый символ гаммы (ключа). Если длина гаммы меньше, чем длина сообщения, то она используется повторно.
-1333567373500Данные формулы позволяют выполнить зашифрование / расшифрование по Виженеру при замене букв алфавита числами согласно следующей таблице (применительно к русскому алфавиту):
Рис.1. Таблица кодирования символов
Например, для шифрования используется русский алфавит (N = 33), открытое сообщение – «АБРАМОВ», гамма – «ЖУРИХИН». При замене символов на числа буква А будет представлена как 0, Б – 1, …, Я – 32. Результат шифрования показан в следующей таблице.
-9969538354000Таблица 1. Пример аддитивного шифрования по модулю N
Сложение по модулю 2.
Является частным случаем предыдущего шифра и используется при шифровании в автоматизированных системах. Символы текста и гаммы представляются в двоичных кодах, а затем каждая пара двоичных разрядов складывается по модулю 2 (⨁, для булевых величин аналог этой операции – XOR, «Исключающее ИЛИ»). Процедуры шифрования и дешифрования выполняются по следующим формулам
Ci = Pi ⨁ Ki, (3)
Pi = Ci ⊕ Ki. (4)
Перед иллюстрацией использования шифра приведем таблицу кодов символов Windows 1251 и их двоичное представление.
-2286032194500Таблица 2. Коды символов Windows 1251 и их двоичное представление
Примечание. Dec-код – десятичный код символа, Bin-код – двоичный код символа.
Пример шифрования сообщения «ВОВА» с помощью гаммы «ЮЛЯ» показан в следующей таблице.
-2286038227000Таблица 3. Пример аддитивного шифрования по модулю 2
Таблица истинности:
для бинарного сложения по модулю 2 (применяется в двоичных полусумматорах):





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

Практическая работа № 5
Тема: Шифрование с открытым ключом
Цель работы: Научиться шифровать данные с помощью метода шифрования с открытым ключом.
Формируемые компетенции
ПК 3.1. Устанавливать, настраивать, эксплуатировать и обслуживать технические и программно-аппаратные средства компьютерных сетей
ОК 1. Понимать сущность и социальную значимость своей будущей профессии, проявлять к ней устойчивый интерес.
ОК 2. Организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество.
ОК 3. Решать проблемы, оценивать риски и принимать решения в нестандартных ситуациях.
ОК 4. Осуществлять поиск, анализ и оценку информации, необходимой для постановки и решения профессиональных задач, профессионального и личностного развития.
ОК 5. Использовать информационно-коммуникационные технологии в профессиональной деятельности.
Порядок выполнения работы.
Записать в тетради тему и цель работы
Ознакомится с теоретическими сведениями
Выполнить задания
Оформить отчет
Задания к работе
Необходимо зашифровать свою фамилию с помощью следующих шифров:
- алгоритма RSA;- алгоритма на основе задачи об укладке ранца;- алгоритма шифрования Эль-Гамаля.При оформлении отчета необходимо привести исходное сообщение (фамилию) и таблицы генерации ключей, шифрования и расшифрования. Для первого и третьего способов принять, что код символа соответствует его положению в алфавите, для второго – в соответствии с кодировкой Windows 1251.
Таблица1. Коды символов Windows 1251 и их двоичное представление
-41910190500Теоретические сведения
Главная проблема использования одноключевых (симметричных) криптосистем заключается в распределении ключей. Для того, чтобы был возможен обмен информацией между двумя сторонами, ключ должен быть сгенерирован одной из них, а затем в конфиденциальном порядке передан другой. Особую остроту данная проблема приобрела в наши дни, когда криптография стала общедоступной, вследствие чего количество пользователей больших криптосистем может исчисляться сотнями и тысячами.
Начало асимметричным шифрам было положено в работе «Новые направления в современной криптографии» Уитфилда Диффи и Мартина Хеллмана, опубликованной в 1976 году. Находясь под влиянием работы Ральфа Меркле (Ralph Merkle) о распространении открытого ключа, они предложили метод получения секретных ключей для симметричного шифрования, используя открытый канал. В 2002 году Хеллман предложил называть данный алгоритм «Диффи - Хеллмана - Меркле», признавая вклад Меркле в изобретение криптографии с открытым ключом.
Хотя работа Диффи-Хеллмана создала большой теоретический задел для открытой криптографии, первой реальной криптосистемой с открытым ключом считают алгоритм RSA (названный по имени авторов - Рон Ривест (Ronald Linn Rivest), Ади Шамир (Adi Shamir) и Леонард Адлеман (Leonard Adleman) из Массачусетского Технологического Института (MIT)).
Справедливости ради следует отметить, что в декабре 1997 года была обнародована информация, согласно которой британский математик Клиффорд Кокс (Clifford Cocks), работавший в центре правительственной связи (GCHQ) Великобритании, описал систему, аналогичную RSA, в 1973 году, а несколькими месяцами позже в 1974 году Малькольм Вильямсон изобрел математический алгоритм, аналогичный алгоритму Диффи – Хеллмана - Меркле.Суть шифрования с открытым ключом заключается в том, что для шифрования данных используется один ключ, а для расшифрования другой (поэтому такие системы часто называют ассиметричными).
Основная предпосылка, которая привела к появлению шифрования с открытым ключом, заключалось в том, что отправитель сообщения (тот, кто зашифровывает сообщение), не обязательно должен быть способен его расшифровывать. Т.е. даже имея исходное сообщение, ключ, с помощью которого оно шифровалось, и зная алгоритм шифрования, он не может расшифровать закрытое сообщение без знания ключа расшифрования.
Первый ключ, которым шифруется исходное сообщение, называется открытым и может быть опубликован для использования всеми пользователями системы. Расшифрование с помощью этого ключа невозможно. Второй ключ, с помощью которого дешифруется сообщение, называется секретным (закрытым) и должен быть известен только законному получателю закрытого сообщения.
Алгоритмы шифрования с открытым ключом используют так называемые необратимые или односторонние функции. Эти функции обладают следующим свойством: при заданном значении аргумента х относительно просто вычислить значение функции (x), однако, если известно значение функции y = f(x), то нет простого пути для вычисления значения аргумента x. Например, функция SIN. Зная x, легко найти значение SIN(x) (например, x = , тогда SIN() = 0). Однако, если SIN(x) = 0, однозначно определить х нельзя, т.к. в этом случае х может быть любым числом, определяемым по формуле i * , где i – целое число.
Однако не всякая необратимая функция годится для использования в реальных криптосистемах. В их числе и функция SIN. Следует также отметить, что в самом определении необратимости функции присутствует неопределенность. Под необратимостью понимается не теоретическая необратимость, а практическая невозможность вычислить обратное значение, используя современные вычислительные средства за обозримый интервал времени.
Поэтому чтобы гарантировать надежную защиту информации, к криптосистемам с открытым ключом предъявляются два важных и очевидных требования.
1. Преобразование исходного текста должно быть условно необратимым и исключать его восстанов-ление на основе открытого ключа.
2. Определение закрытого ключа на основе открытого также должно быть невозможным на современном технологическом уровне.
Все предлагаемые сегодня криптосистемы с открытым ключом опираются на один из следующих типов односторонних преобразований.
1. Разложение больших чисел на простые множители (алгоритм RSA).
2. Вычисление дискретного логарифма или дискретное возведение в степень (алгоритм Диффи-Хелмана-Меркле, схема Эль-Гамаля).
3. Задача об укладке рюкзака (ранца) (авторы Хелман и Меркл).
4. Вычисление корней алгебраических уравнений.
5. Использование конечных автоматов (автор Тао Ренжи).
6. Использование кодовых конструкций.
7. Использование свойств эллиптических кривых.
Алгоритм RSA.
Стойкость RSA основывается на большой вычислительной сложности известных алгоритмов разложения произведения простых чисел на сомножители. Например, легко найти произведение двух простых чисел 7 и 13 даже в уме – 91. Попробуйте в уме найти два простых числа, произведение которых равно 323 (числа 17 и 19). Конечно, для современной вычислительной техники найти два простых числа, произведение которых равно 323, не проблема. Поэтому для надежного шифрования алгоритмом RSA, как правило, выбираются простые числа, количество двоичных разрядов которых равно нескольким сотням.
Описание RSA было опубликовано в августе 1977 года в журнале «Scientific American». Авторы RSA поддерживали идею её активного распространения. В свою очередь, Агентство национальной безопасности (США), опасаясь использования этого алгоритма в негосударственных структурах, на протяжении нескольких лет безуспешно требовало прекращения распространения системы. Ситуация порой доходила до абсурда. Например, когда программист Адам Бек (Adam Back) описал на языке Perl алгоритм RSA, состоящий из пяти строк, правительство США запретило распространение этой программы за пределами страны. Люди, недовольные подобным ограничением, в знак протеста напечатали текст этой программы на своих футболках.
Первым этапом любого асимметричного алгоритма является создание получателем шифрограмм пары ключей: открытого и секретного. Для алгоритма RSA этап создания ключей состоит из следующих операций.
Таблица 2. Процедура создания ключей
342909144000Примечания. Простое число – натуральное число, большее единицы и не имеющее других делителей, кроме самого себя и единицы. Взаимно простые числа – числа, не имеющие общих делителей, кроме 1 (например, p=3, q=5, n=15, j(n)=8 – взаимно простые с 15 – 1, 2, 4, 7, 8, 11, 13, 14).
Процедуры шифрования и дешифрования выполняются по следующим формулам
C = Тe mod n, (1)
Т = Cd mod n. (2)
где Т, C - числовые эквиваленты символов открытого и шифрованного сообщения.
Пример шифрования по алгоритму RSA приведен в следующей таблице. Коды букв соответствуют их положению в русском алфавите (начиная с 1).
-2286020828000Таблица 3. Пример шифрования по алгоритму RSA
Следует отметить, что p и q выбираются таким образом, чтобы n было больше кода любого символа открытого сообщения. В автоматизированных системах исходное сообщение переводиться в двоичное представление, после чего шифрование выполняется над блоками бит, равной длины. При этом длина блока должна быть меньше, чем длина двоичного представления n.
В заключении следует отметить стойкость данного алгоритма. В 2003 г. Ади Шамир и Эран Тромер разработали схему устройства TWIRL, которое при стоимости $ 10 000 может дешифровать 512-битный ключ за 10 минут, а при стоимости $ 10 000 000 – 1024-битный ключ меньше, чем за год. В настоящее время Лаборатория RSA рекомендует использовать ключи размером 2048 битов.
Алгоритм на основе задачи об укладке ранца.
В 1978 г. Меркль и Хеллман предложили использовать задача об укладке ранца (рюкзака) для асимметричного шифрования. Она относится к классу NP-полных задач и формулируется следующим образом. Дано множество предметов различного веса. Спрашивается, можно ли положить некоторые из этих предметов в ранец так, чтобы его вес стал равен определенному значению? Более формально задача формулируется так: дан набор значений M1, M2, ..., Мn и суммарное значение S; требуется вычислить значения bi такие что
S = b1М1 + b2М2 + ... + bnМn, (3)
где n – количество предметов;
bi - бинарный множитель. Значение bi = 1 означает, что предмет i кладут в рюкзак, bi = 0 - не кладут.
Например, веса предметов имеют значения 1, 5, 6, 11, 14, 20, 32 и 43. При этом можно упаковать рюкзак так, чтобы его вес стал равен 22, использовав предметы весом 5, 6 и 11. Невозможно упаковать рюкзак так, чтобы его вес стал равен 24.
В основе алгоритма, предложенного Мерклом и Хеллманом, лежит идея шифрования сообщения на основе решения серии задач укладки ранца. Предметы из кучи выбираются с помощью блока открытого текста, длина которого (в битах) равна количеству предметов в куче. При этом биты открытого текста соответствуют значениям b, a текст является полученным суммарным весом. Пример шифрограммы, полученной с помощью задачи об укладке ранца, показан в следующей таблице.
1524037338000Таблица 4. Пример шифрования на основе задачи об укладке ранца
Суть использования данного подхода для шифрования состоит в том, что на самом деле существуют две различные задачи укладки ранца - одна из них решается легко и характеризуется линейным ростом трудоемкости, а другая, как принято считать, нет. Легкий для укладки ранец можно превратить в трудный. Раз так, то можно применить в качестве открытого ключа трудный для укладки ранец, который легко использовать для шифрования, но невозможно - для дешифрования. А в качестве закрытого ключа применить легкий для укладки ранец, который предоставляет простой способ дешифрования сообщения.
В качестве закрытого ключа (легкого для укладки ранца) используется сверхвозрастающая последовательность. Сверхвозрастающей называется последовательность, в которой каждый последующий член больше суммы всех предыдущих. Например, последовательность {2, 3, 6, 13, 27, 52, 105, 210} является сверхвозрастающей, а {1, 3, 4, 9, 15, 25, 48, 76} - нет.
Решение для сверхвозрастающего ранца найти легко. В качестве текущего выбирается полный вес, который надо получить, и сравнивается с весом самого тяжелого предмета в ранце. Если текущий вес меньше веса данного предмета, то его в рюкзак не кладут, в противном случае его укладывают в рюкзак. Уменьшают текущий вес на вес положенного предмета и переходят к следующему по весу предмету в последовательности. Шаги повторяются до тех пор, пока процесс не закончится. Если текущий вес уменьшится до нуля, то решение найдено. В противном случае, нет.
Например, пусть полный вес рюкзака равен 270, а последовательность весов предметов равна {2, 3, 6, 13, 27, 52, 105, 210}. Самый большой вес – 210. Он меньше 270, поэтому предмет весом 210 кладут в рюкзак. Вычитают 210 из 270 и получают 60. Следующий наибольший вес последовательности равен 105. Он больше 60, поэтому предмет весом 105 в рюкзак не кладут. Следующий самый тяжелый предмет имеет вес 52. Он меньше 60, поэтому предмет весом 52 также кладут в рюкзак. Аналогично проходят процедуру укладки в рюкзак предметы весом 6 и 2. В результате полный вес уменьшится до 0. Если бы этот рюкзак был бы использован для дешифрования, то открытый текст, полученный из значения шифртекста 270, был бы равен 10100101.
Открытый ключ представляет собой не сверхвозрастающую (нормальную) последовательность. Он формируется на основе закрытого ключа и, как принято считать, не позволяет легко решить задачу об укладке ранца. Для его получения все значения закрытого ключа умножаются на число n по модулю m. Значение модуля m должно быть больше суммы всех чисел последовательности, например, 420 (2+3+6+13+27+52+105+210=418). Множитель n должен быть взаимно простым числом с модулем m, например, 31. Результат построения нормальной последовательности (открытого ключа) представлен в следующей таблице.
-444533528000Таблица 5. Пример получения открытого ключа
Для шифрования сообщение сначала разбивается на блоки, по размерам равные числу элементов последовательности в рюкзаке. Затем, считая, что единица указывает на присутствие элемента последовательности в рюкзаке, а ноль — на его отсутствие, вычисляются полные веса рюкзаков – по одному рюкзаку для каждого блока сообщения.
В качестве примера возьмем открытое сообщение «АБРАМОВ», символы которого представим в бинарном виде в соответствии с таблицей кодов символов Windows 1251. Результат шифрования с помощью открытого ключа {62, 93, 186, 403, 417, 352, 315, 210} представлен в следующей таблице.
-381020828000Таблица 6. Пример шифрования
Для расшифрования сообщения получатель должен сначала определить обратное число n-1, такое что (n * n-1) mod m = 1. В математике обратное число n-1 (обратное значение, обратная величина) - число, на которое надо умножить данное число n, чтобы получить единицу (n * n-1 = 1). Пара чисел, произведение которых равно единице, называются взаимно обратными. Например: 5 и 1/5, -6/7 и -7/6. Обратными числами по модулю m называются такие числа n и n-1, для которых справедливо выражение (n * n-1) mod m = 1. Для вычисления обратных чисел по модулю обычно используется расширенный алгоритм Евклида. После определения обратного числа каждое значение шифрограммы умножается на n-1 по модулю m и с помощью закрытого ключа определяются биты открытого текста.
В нашем примере сверхвозрастающая последовательность равна {2, 3, 6, 13, 27, 52, 105, 210}, m = 420, n = 31. Значение n-1 равно 271 (31*271 mod 420 = 1).
7239025908000Таблица 7. Пример расшифрованияВ своей работе авторы рекомендовали брать длину ключа, равную 100 (количество элементов последовательности). В заключении следует отметить, что задача вскрытия данного способа шифрования успешно решена Шамиром и Циппелом в 1982 г.
Алгоритм шифрования Эль-Гамаля.
Схема была предложена Тахером Эль-Гамалем в 1984 году. Он усовершенствовал систему Диффи-Хеллмана и получил два алгоритма, которые использовались для шифрования и обеспечения аутентификации. Стойкость данного алгоритма базируется на сложности решения задачи дискретного логарифмирования.
Суть задачи заключается в следующем. Имеется уравнение
gx mod p = y. (13)
Требуется по известным g, y и p найти целое неотрицательное число x (дискретный логарифм).
Порядок создания ключей приводится в следующей таблице.
7239040576500Таблица 7. Процедура создания ключей
Для шифрования каждого отдельного блока исходного сообщения должно выбираться случайное число k (1 < k < p – 1). После чего шифрограмма генерируется по следующим формулам
a = gk mod p, (14)
b = (yk Т) mod p, (15)
где Т – исходное сообщение;
(a, b) – зашифрованное сообщение.
Дешифрование сообщения выполняется по следующей формуле
T = (b (ax)-1) mod p (16)
или
T = (b ap-1-x) mod p, (17)
где (ax)-1 – обратное значение числа ax по модулю p.
Пример шифрования и дешифрования по алгоритму Эль-Гамаля при k = 7 приведен в таблице, хотя для шифрования каждого блока (в нашем случае буквы) исходного сообщения надо использовать свое случайное число k.
Первая часть шифрованного сообщения – a = 57 mod 23 = 17.
ax = 173 = 4917, (ax)-1 = 5 (4913 * 5 mod 23 = 1) или ap-1-x = 1723-1-3 = 239072435685151324847153.
Таблица 8. Пример шифрования по алгоритму Эль-Гамаля (при k = const)
1524011557000
Ввиду того, что число k является произвольным, то такую схему еще называют схемой вероятностного шифрования. Вероятностный характер шифрования является преимуществом для схемы Эль-Гамаля, т.к. у схем вероятностного шифрования наблюдается большая стойкость по сравнению со схемами с определенным процессом шифрования. Недостатком схемы шифрования Эль-Гамаля является удвоение длины зашифрованного текста по сравнению с начальным текстом. Для схемы вероятностного шифрования само сообщение Т и ключ не определяют шифртекст однозначно. В схеме Эль-Гамаля необходимо использовать различные значения случайной величины k для шифровки различных сообщений Т и Т’. Если использовать одинаковые k, то для соответствующих шифртекстов (a, b) и (a’, b’) выполняется соотношение b (b’)-1 = Т (Т’)-1 (mod p). Из этого выражения можно легко вычислить Т, если известно Т’.