- •Теория алгоритмов методические указания для самостоятельной подготовки к контролю знаний
- •«Компьютерные науки»
- •С о д е р ж а н и е
- •Перечень тем
- •Тема 1 Шифры перестановки. Разновидности реализации шифров перестановки Краткие теоретические сведения
- •1 Шифр сцитала
- •2 Шифр вертикальной перестановки
- •3 Шифр поворотной решетки
- •4 Шифры с использованием магичных квадратов
- •5 Перестановка бит
- •Задание
- •Варианты заданий темы 1 для самостоятельной подготовки
- •Вопросы по теории темы 1 для самостоятельной подготовки
- •Тема 2 Шифры простой замены. Разновидности реализации шифров простой замены Краткие теоретические сведения
- •Варианты реализации шифров простой замены
- •1 Система шифрования Цезаря
- •2 Афинная система подстановок
- •3 Лозунговый шифр
- •4 Шифровальный квадрат Полибия
- •5 Шифровальная таблица Трисемуса
- •4Х8 «Сколько волка ни корми, он все в лес глядит »
- •Задание
- •Варианты заданий темы 2 для самостоятельной подготовки
- •Вопросы по теории темы 2 для самостоятельной подготовки
- •Тема 3 Шифры сложной замены. Разновидности реализации шифров сложной замены Краткие теоретические сведения
- •1 Биграммный шифр Плейфейера
- •2 Шифр с использованием омофонов
- •3 Шифр Гронсфельда
- •4 Система шифрования Вижинера
- •5 Шифр «Двойной квадрат Уитстона»
- •Задание
- •Варианты заданий темы 3 для самостоятельной подготовки
- •Вопросы по теории темы 3 для самостоятельной подготовки
- •Приложение
- •Открытое распределение ключей
- •Протокол обмена ключами Диффи–Хеллмана
- •Варианты заданий 2 темы 5 для самостоятельной подготовки
- •Задание 2
- •Решение Алгоритм решения задачи следующий:
- •Варианты заданий 1, 2 темы 6 для самостоятельной подготовки
- •Вопросы по теории темы 6 для самостоятельной подготовки
- •Варианты задания 1 темы 7 для самостоятельной подготовки
- •Литература
Вопросы по теории темы 3 для самостоятельной подготовки
1 В чем состоит метод шифрования сложной заменой? Оценить возможное число ключей в этом методе.
2 Как получить шифротекст с использованием биграммного шифра Плейфейера?
3 Система омофонов в шифровании; особенности шифров с использованием омофонов.
4 Как получить шифротекст с использованием системы шифрования Гронсфельда? Возможный вид ключа в этом методе; возможные дополнительные меры для повышения секретности.
5 Система шифрования Вижинера. Оценить секретность этой системы шифрования.
6 Как получить шифротекст с использованием двойного квадрата Уитстона? Отличие этого метода от системы шифрования Полибия.
Приложение
|
Тексты для шифрования |
Ключевые фразы, лозунги |
|
1 От прыткой козы ни забор ни запор. 2 Сколько волка ни корми, он все в лес смотрит. 3 Медведь всю зиму лапу сосет. 4 С кем поведешься от того и наберешься. 5 Судье полезно что в карман полезло. 6 Поусам текло, а в рот не попало. 7 Летать летаю, а сесть не дают. 8 Взят из грязи да посажен в князи. 9 Не все коту масленица, будет и пост. 10 На помойну яму не напасешся хламу. 11 До того дожили, что ножки съежили. 12 Понурая свинка глубок корень роет. 13 Не бойся собаки брехливой, а бойся молчаливой. 14 Что написано пером, того не вырубишь топором. 15 И не плотник да стучать охотник. 16 Кто больше знает, тот меньше спит. 17 Свинье только рыло просунуть, и вся пройдет. 18 Незнайка лежит, а знайка далеко бежит. 19 Бывает простота хуже воровства. 20 Во всякой избушке свои поскрипушки. 21 Скучен день до вечера, коли делать нечего. 22 Лакома кошка до рыбки, да в воду лезть не хочет.
|
1 Меньше знаешь, крепче спишь. 2 Цыплят по осени считают. 3 Берегись бед пока их нет. 4 Не бойся суда, бойся судьи. 5 Судья в суде, что рыба в пруде. 6 Хороша кашка да мала чашка. 7 Кто как умеет, тот так и бреет.
|
Тема 4
Симметричное шифрование на примере алгоритма DES Варианты реализации DES. Преимущества, недостатки. Схемы работы отдельных блоков DES. Секретность. (см. лекции)
Вопросы по теории темы 4 для самостоятельной подготовки
1 Что представляет собой шифрование с помощью блочных шифров (схема DES)?
2 Какие операции используют в блочных шифрах? В чем состоит процесс шифрования и дешифрования ?
3 Принцип вычисления функции шифрования F(расширение, преобразование S-boxes, перестановка).
4 Алгоритм вычисления ключей.
5 Каковы достоинства и недостатки блочных шифров ?
6 Основные режимы работы блочных шифров (ECB, CBC, CFB, OFB) ?
Тема 5
Асимметричное шифрование на примере алгоритма RSA. Протокол получения общего ключа Диффи-Хеллмана. Примеры реализации.
Краткие теоретические сведения
Криптосистема RSA
RSA – система ассиметричного шифрования, в которой для кодирования сообщения используется один ключ, а для расшифровки другой. Названа в честь математиков-криптологов Рона Ривеста (Rivest), Ади Шамира (Shamir) и Лена Адельмана (Adelman) из Масачуссетского Технологического Института, разработавших алгоритм в 1977 году.
Система RSA используется для защиты программного обеспечения и в схемах цифровой подписи. Также она используется в открытой системе шифрования PGP. Из-за низкой скорости шифрования (около 30 кбит/с при 512 битном ключе на процессоре 2ГГц), сообщения обычно шифруют с помощью более производительных симметричных алгоритмов со случайным ключом, а с помощью RSA шифруют только этот ключ, который в зашифрованном виде помещают в начало шифротекста.
В связи со схемой RSA возникает ряд алгоритмических задач.
1. Для генерации ключей надо уметь генерировать большие простые числа. Близкой задачей является проверка простоты целого числа.
2. Для взламывания ключа в RSA нужно уметь раскладывать целое число на множители (или, что практически то же самое, уметь вычислять функцию Эйлера). Взлом ключа может интересовать только преступников, но, с другой стороны, те, кто пытаются защитить информацию, должны быть уверены, что задача разложения на множители достаточно сложна.
Для выработки секретного ключа абонент А, заинтересованный в получении зашифрованной информации от других абонентов, должен выполнить следующие действия.
1. Выбрать два случайных простых числа p иq, причем |p | ≈ |q | (т.е. числа примерно одинаковой длины).
2. Вычислить N=pq .
3. Вычислить функцию Эйлера φ(N) =(p-1) (q-1)(см. примечание).
4. Выбрать случайное целое число e<φ (N) взаимно простое сφ (N)
т.е. НОД(e,Ф(N) ) = 1 и найти числоdобратноеeпо модулюφ(N) (e -1=d )
e d ≡1 mod(φ(N) ) = 1 +φ(N) ∙n (n– любое целое число).
5. В качестве параметров открытого ключа сообщить пару (e,N ) всем, кто будет передавать ему зашифрованную информацию; секретный ключd не разглашать и надежно хранить; числаp,q,φ(N) – уничтожить.
Примечание Функция Эйлераφ(N) равна количеству целых чисел, взаимно простых сN. Вычислить эту функцию в общем виде для любогоNможно через его разложение на простые сомножители. ПустьN =p1b1 p2b2 p3b3 …pnbn , тогда функция Эйлера вычисляется по формулеφ(N) = N (1- 1/ p1) (1- 1/ p2) (1- 1/ p3) …(1- 1/ pn) .
Шифрование
Вхочет зашифровать сообщениеmи переслать егоАпо открытому каналу причем (m < N); для получения шифротекстаВвыполняет следующее преобразование:
m e (modN) → c ,
где c– шифротекст, который передаетсяАпо открытому каналу.
Замечание: ЕслиВутратил исходное сообщение m, то поcон не сможет восстановитьm.
Расшифрование
Для восстановления исходного сообщения mАс полученным шифротекстомc выполняет следующее преобразование:
c d (modN) → m.
