- •Основы информационной безопасности и введение в современную криптологию
- •8 Глава 129
- •Предисловие
- •Введение
- •Формальная криптография;
- •Математическая криптография;
- •1. Криптографические системы «докомпьютерной эры» и проблемы современной криптографии
- •1.1 Криптография древнего мира. Шифр Цезаря и его криптостойкость
- •1.2 Шифр Атбаш и его модификации
- •1.3 Тарабарская грамота как аналог шифра Атбаш
- •1.4 Шифр Плейфера
- •1.5 Шифр adfgvx
- •1.6 Шифр Виженера
- •1.7 Формальная криптография
- •1.8 Математическая криптография
- •1.9 Современная компьютерная криптография и ее основные проблемы
- •2 Режимы шифрования для симметричных алгоритмов.
- •2.1 Режимы простой замены (электронная кодовая книга ecb)
- •2.2 Режим сцепления блоков (Cipher Block Chaining (cbc))
- •2.2 Режимы гаммирования
- •2.3 Режим гаммирования с обратной связью
- •Функции шифрования симметричных криптосистем
- •3.1 Стандарт шифрования данных des. Data Encryption Standard
- •3.2 Преобразования Сетью Фейстеля
- •3.3 Режимы работы алгоритма des
- •3.4.1Алгоритм гост – 28147-89
- •3.4.2Ключи в кзу
- •3.4.3В блоке подстановки k
- •3.5.1Описание алгоритма
- •4.Глава
- •4.1Хэш - функция
- •4.2Коллизия
- •4.4Пример простого хеширования
- •4.3Современные виды хеширования
- •5.Глава Элементы алгебры и теории чисел
- •5.1Быстрое возведение в степень.
- •5.2Нахождение простого числа
- •5.3Метод Шермана — Лемана
- •5.3Метод Раббина-Миллера
- •5.4Нахождение обратного элемента по модулю
- •5.5Теорема ферма, Эйлера
- •5.6Алгоритм Эвклида
- •5.7Расширенный алгоритм Эвклида
- •5.8 Китайская теорема об остатках
- •5.11 Нахождение с помощью расширенного алгоритма Евклида
- •5.11Квадратичные вычеты
- •5.11Нахождение генераторов
- •6. Глава
- •6.1 Алгоритм Диффи – Хеллмана
- •6.2Описание алгоритма
- •6.3Алгоритм Диффи — Хеллмана с тремя и более участниками
- •6.7Криптографическая стойкость
- •6.8Rsa алгоритм
- •6.10Алгоритм шифрования rsa
- •6.11Алгоритм подписи rsa
- •7.16Эль-Гамаля
- •6.13История dsa
- •6.14Алгоритм цифровой подписи dsa
- •6.15 Алгоритм цифровой подписи гост р 3410-94
- •7.1Эллиптическая кривая
- •7.2 Эллиптические кривые в криптографии
- •7.3 Метрика операций на эк
- •7.3.1Сложение различных точек
- •7.3.2Удвоение
- •7.7Порядок эллиптической кривой
- •7.6Теорема Хассе
- •7.5 Порядок точки на эллиптической кривой
- •7.8Порядок точки на эллиптической кривой (Теория, можешь не читат)
- •7.9Криптография на эллиптических кривых
- •7.10Пример эллиптической кривой над конечным полем.
- •7.11Кратные точки.
- •7.12Безопасность криптографии с использованием эллиптических кривых.
- •7.13Алгоритм Диффи-Хелмана на эллиптической кривой
- •7.14Алгоритм dsa на эллиптической кривой
- •7.14.1Алгоритм эцп на основе эллиптических кривых (ecdsa)
- •7.15Алгоритм Эль-Гамала на эллиптической кривой
- •Литература
- •8 Глава
- •8.1Криптоанализ
- •8.2Классический криптоанализ.
- •8.3 Современный криптоанализ
- •8.4Универсальные методы криптоанализа.
- •8.4.1Метод полного перебора
- •8.4.2Атака по ключам
- •8.4.3Частотный анализ
- •8.4.4Метод "встречи посередине"
- •8.4.5Криптоанализ симметричных шифров
- •8.4.6Дифференциальный криптоанализ
- •8.4.7Дифференциальный анализ на основе сбоев.
- •8.4.8Дифференциальный метод криптоанализа des.
- •8.4.9Линейный криптоанализ .
- •8.4.10Криптоанализ асимметричных шифров
- •8.4.11Метод безключевого чтения rsa.
- •8.4.12Криптоанализ хеш-функций
- •8.4.13Криптоанализ по побочным каналам
- •8.5Нанотехнологии в криптоанализе
1.4 Шифр Плейфера
Шифр Плейфера использует матрицу 5х5 (для латинского алфавита, для кириллического алфавита необходимо увеличить размер матрицы до 4х8), содержащую ключевое слово или фразу. Для создания матрицы и использования шифра достаточно запомнить ключевое слово и четыре простых правила. Чтобы составить ключевую матрицу, в первую очередь нужно заполнить пустые ячейки матрицы буквами ключевого слова (не записывая повторяющиеся символы), потом заполнить оставшиеся ячейки матрицы символами алфавита, не встречающимися в ключевом слове, по порядку (в английских текстах обычно опускается символ «Q», чтобы уменьшить алфавит, в других версиях «I» и «J» объединяются в одну ячейку). Ключевое слово может быть записано в верхней строке матрицы слева направо, либо по спирали из левого верхнего угла к центру. Ключевое слово, дополненное алфавитом, составляет матрицу 5х5 и является ключом шифра.
Для того чтобы зашифровать сообщение, необходимо разбить его на биграммы (группы из двух символов), например «Hello World» становится «HE LL OW OR LD», и отыскать эти биграммы в таблице. Два символа биграммы соответствуют углам прямоугольника в ключевой матрице. Определяем положения углов этого прямоугольника относительно друг друга. Затем, руководствуясь следующими 4 правилами, зашифровываем пары символов исходного текста:
1. Если два символа биграммы совпадают, добавляем после первого символа «Х», зашифровываем новую пару символов и продолжаем. В некоторых вариантах шифра Плейфера вместо «Х» используется «Q».
2. Если символы биграммы исходного текста встречаются в одной строке, то эти символы замещаются на символы, расположенные в ближайших столбцах справа от соответствующих символов. Если символ является последним в строке, то он заменяется на первый символ этой же строки.
3. Если символы биграммы исходного текста встречаются в одном столбце, то они преобразуются в символы того же столбца, находящиеся непосредственно под ними. Если символ является нижним в столбце, то он заменяется на первый символ этого же столбца.
4. Если символы биграммы исходного текста находятся в разных столбцах и разных строках, то они заменяются на символы, находящиеся в тех же строках, но соответствующие другим углам прямоугольника.
Для расшифровки необходимо использовать инверсию этих четырёх правил, откидывая символы «Х» (или «Q»), если они не несут смысла в исходном сообщении.
Пример:
Используем ключ «playfair example», тогда матрица примет вид:
P L A Y F
I R E X M
B C D G H
J K N O S
T U V W Z
Зашифруем сообщение «Hide the gold in the tree stump»: HI DE TH EG OL DI NT HE TR EX ES TU MP 1. Биграмма HI формирует прямоугольник, заменяем её на BM. 2. Биграмма DE расположена в одном столбце, заменяем её на ND. 3. Биграмма TH формирует прямоугольник, заменяем её на ZB. 4. Биграмма EG формирует прямоугольник, заменяем её на XD. 5. Биграмма OL формирует прямоугольник, заменяем её на KY. 6. Биграмма DI формирует прямоугольник, заменяем её на BE. 7. Биграмма NT формирует прямоугольник, заменяем её на JV. 8. Биграмма HE формирует прямоугольник, заменяем её на DM. 9. Биграмма TR формирует прямоугольник, заменяем её на UI. 10. Биграмма EX находится в одной строке, заменяем её на XM. 11. Биграмма ES формирует прямоугольник, заменяем её на MN. 12. Биграмма TU находится в одной строке, заменяем её на UV. 13. Биграмма MP формирует прямоугольник, заменяем её на IF. Получаем зашифрованный текст «BM ND ZB XD KY BE JV DM UI XM MN UV IF».
Таким образом сообщение «Hide the gold in the tree stump» преобразуется в «BMNDZBXDKYBEJVDMUIXMMNUVIF»
Иллюстрации в примерах
Предположим, что необходимо зашифровать биграмму OR. Рассмотрим 4 случая:
1) * * * * * * O Y R Z * * * * * * * * * * * * * * * OR заменяется на YZ |
|
2) * * O * * * * B * * * * * * * * * R * * * * Y * * OR заменяется на BY |
|
3) Z * * O * * * * * * * * * * * R * * X * * * * * * OR заменяется на ZX |
|
4) * * * * * * * * * * Y O Z * R * * * * * * * * * * OR заменяется на ZY |
Еще один пример, если вы еще не поняли
Для начала возьмем некоторые слово или фразу в качестве ключа, я возьму, к примеру: falceeeffect
Из ключа удаляются все повторяющиеся буквы: falcet
Чертим таблицу 5х5, вводим в таблицу ключ, и заполняем остальные ячейки неиспользованными буквами, игнорируя J (Таблица 6):
F |
A |
L |
C |
E |
T |
B |
D |
G |
H |
I |
K |
M |
N |
O |
P |
Q |
R |
S |
U |
V |
W |
X |
Y |
Z |
Таблица 6.
Таблица готова, осталось только зашифровать то, что нам нужно, к примеру фразу I love Pikabu.
Из фразы удаляются пробелы и заглавные буквы: ilovepikabu.
Фраза разбивается на блоки по 2 буквы(т.н биграммы): il ov ep ik ab u – последняя буква осталось без пары, добавляем к ней Х - il ov ep ik ab uх
Теперь зашифруем этот набор биграмм по своду правил описанных выше:
Таблица 7.
I и L находятся в разных столбцах и строках. Заменяем их буквами из тех же строк, являющимися другими углами прямоугольника – M и F.
Таблица 8.
То же самое с O и V – заменяем их на I и Z.
Так же заменяются E и P на F и U.
I и K находятся в одной строке и заменяются на первые от них буквы – K и M.
A и B находятся в одном столбце и заменяются на буквы под ними – B и K.
U и X заменяются по принципу прямоугольника на R и Z.
Таблица 9.
В итоге мы получаем набор биграмм: MF IZ FU KM BK RZ.
Удалим пробелы: MFIZFUKMBKRZ.
Ilovepikabu
mfizfukmbkrz
