НОУ ИНТУИТ | Лекция | Простейшие методы шифрования с закрытым ключом
< Дополнительный материал || Лекция 3: 123456
Аннотация: В этой лекции рассматривается общая схема симметричного шифрования, а также дается классификация простейших методов симметричного шифрования. Описание каждого из указанных в классификации шифров сопровождается примером.
Ключевые слова: криптография, шифрование, расшифрование, ключ, симметричное шифрование, ПО, канал связи, радиоканал, сеть, алгоритм, избыточность, имитовставка, шифр, операции, перестановка, подстановка, двоичный алфавит, алгебра логики, закрытые методы, входной, поток, место, запись, размер сообщения, слово, остаток, открытый текст, длина блока, поле, группа, матрица, вектор, шифртекст
Цель лекции: познакомить студента с простейшими методами симметричного шифрования и конкретными шифрами, известными человечеству уже не одно столетие.
Общая схема симметричного шифрования
intuit.ru/2010/edi»>Классическая, или одноключевая криптография опирается на использование симметричных алгоритмов шифрования, в которых шифрование и расшифрование отличаются только порядком выполнения и направлением некоторых шагов. Эти алгоритмы используют один и тот же секретный элемент (ключ), и второе действие (расшифрование) является простым обращением первого (шифрования). Поэтому обычно каждый из участников обмена может как зашифровать, так и расшифровать сообщение. Схематичная структура такой системы представлена на рис. 2.1.Рис. 2.1. Общая структура секретной системы, использующей симметричное шифрование
На передающей стороне имеются источник сообщений и источник ключей. Источник ключей выбирает конкретный ключ К среди всех возможных ключей данной системы. Этот ключ К передается некоторым способом принимающей стороне, причем предполагается, что его нельзя перехватить, например, ключ передается специальным курьером (поэтому симметричное шифрование называется также шифрованием с
Если М – сообщение, К – ключ, а Е – зашифрованное сообщение, то можно записать
E=f(M,K)
то есть зашифрованное сообщение Е является некоторой функцией от исходного сообщения М и ключа К. Используемый в криптографической системе метод или алгоритм шифрования и определяет функцию f в приведенной выше формуле.
По причине большой избыточности естественных языков непосредственно в зашифрованное сообщение чрезвычайно трудно внести осмысленное изменение, поэтому классическая криптография обеспечивает также защиту от навязывания ложных данных. Если же естественной избыточности оказывается недостаточно для надежной защиты сообщения от модификации, избыточность может быть искусственно увеличена путем добавления к сообщению специальной контрольной комбинации, называемой имитовставкой.
Рис. 2.2. Методы шифрования с закрытым ключом
В методах перестановки символы исходного текста меняются местами друг с другом по определенному правилу. В методах замены (или подстановки) символы открытого текста заменяются некоторыми эквивалентами шифрованного текста. С целью повышения надежности шифрования, текст, зашифрованный с помощью одного метода, может быть еще раз зашифрован с помощью другого метода. В этом случае получается комбинированный или композиционный шифр. Применяемые на практике в настоящее время блочные или поточные симметричные шифры также относятся к комбинированным, так как в них используется несколько операций для зашифрования сообщения.
Основное отличие современной криптографии от криптографии «докомпьютерной» заключается в том, что раньше криптографические алгоритмы оперировали символами естественных языков, например, буквами английского или русского алфавитов. Эти буквы переставлялись или заменялись другими по определенному правилу. В современных криптографических алгоритмах используются операции над двоичными знаками, то есть над нулями и единицами. В настоящее время основными операциями при шифровании также являются перестановка или подстановка, причем для повышения надежности шифрования эти операции применяются вместе (комбинируются) и помногу раз циклически повторяются.
Принципы построения современных блочных шифров сформулированы в «Принципы построения блочных шифров с закрытым ключом» , «Алгоритмы шифрования DES и AES» , «Алгоритм криптографического преобразования данных ГОСТ 28147-89» , а в этой лекции рассматриваются шифры подстановки и перестановки, применяемые человеком с древнейших времен.
Дальше >>
< Дополнительный материал || Лекция 3: 123456
Шифр простой замены (моноалфавитный шифр). Полиалфовитный шифр
Похожие презентации:
Пиксельная картинка
Информационная безопасность. Методы защиты информации
Электронная цифровая подпись (ЭЦП)
Этапы доказательной медицины в работе с Pico. Первый этап
История развития компьютерной техники
От печатной книги до интернет-книги
Краткая инструкция по CIS – 10 шагов
Информационные технологии в медицине
Информационные войны
Моя будущая профессия. Программист
1. Шифр простой замены (моноалфавитный шифр). Полиалфовитный шифр
Основы информационной безопасности2. Определение
• Шифрпростой
замены,
простой
подстановочный
шифр
(моноалфавитный шифр) — класс методов шифрования, которые
сводятся к созданию по определённому алгоритму таблицы шифрования, в
которой для каждой буквы открытого текста существует единственная
сопоставленная ей буква шифр-текста.
• Само шифрование заключается в замене букв согласно таблице.
• Для расшифровки достаточно иметь ту же таблицу, либо знать алгоритм,
по которой она генерируется.
3. Примеры моноалфавитного шифра
• К шифрампростой замены относятся многие способы
шифрования, возникшие в древности или средневековье, как,
например, Атбаш (этбаш) или Шифр Цезаря.
• Для вскрытия подобных шифров используется частотный
криптоанализ.
• Частотный анализ предполагает, что частота появления заданной
буквы алфавита в достаточно длинных текстах одна и та же для
разных текстов одного языка.
4. Примеры моноалфавитного шифра
• Шифр простой замены не всегда подразумевает замену буквы на какую-тодругую букву.
• Допускается использовать замену буквы на цифру.
• К примеру представим некий шифр-алфавит: А — 33; Б — 17; В — 8; Г — 16; Д — 2;
Е — 15; Ё — 14; Ж — 13; З — 12; И — 98; Й — 10; К — 97; Л — 96; М — 24; Н — 0; О — 11;
П — 5; Р — 25; С — 7; Т — 3; У — 64; Ф — 26; Х — 66; Ц — 69; Ч — 4; Ш — 6; Щ — 36; Ь
— 21; Ъ — 22; Ы — 23; Э — 37; Ю — 39; Я — 18.
• В данном шифре применяются цифры, заменяющие буквы. Никакой логики в
этих цифрах нет.
• Такой простой шифр можно расшифровать, только имея таблицу шифров.
5. Атбаш
• Атбаш — простой шифр подстановки для иврита.• Правило шифрования состоит в замене «i»-й буквы алфавита
буквой с номером «n» − «i» + 1, где «n» — число букв в алфавите.
• Пример для латинского алфавита выглядит так:
Исходный текст:
abcdefghijklmnopqrstuvwxyz
Зашифрованный текст: ZYXWVUTSRQPONMLKJIHGFEDCBA
6. Шифр Цезаря
• ШифрЦезаря, также известный как шифр сдвига, код
Цезаря или сдвиг Цезаря — один из самых простых и наиболее широко
известных методов шифрования.
• Шифр Цезаря — это вид шифра подстановки, в котором каждый символ в
открытом тексте заменяется символом, находящимся на некотором
постоянном числе позиций левее или правее него в алфавите.
• Например, в шифре со сдвигом вправо на 3, А была бы заменена на Г, Б
станет Д, и так далее.
7. Шифр Цезаря
• Шифр назван в честь римского императора Гая Юлия Цезаря,использовавшего его для секретной переписки со своими
генералами.
• Шаг шифрования, выполняемый шифром Цезаря, часто
включается как часть более сложных схем, таких как шифр
Виженера.
8. Шифр Цезаря
• Если сопоставить каждому символу алфавита его порядковыйномер (нумеруя с 0), то шифрование и дешифрование можно
выразить формулами модульной арифметики
• где х — символ открытого текста, у – символ шифрованного
текста, n – мощность алфавита, k — ключ
9. Пример шифра Цезаря
• Шифрование с использованием ключа k = 3.• Буква «Е» «сдвигается» на три буквы вперёд и становится буквой «З».
• Твёрдый знак, перемещённый на три буквы вперёд, становится буквой
«Э», буква «Я», перемещённая на три буквы вперёд, становится буквой
«В», и так далее:
Исходный алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Шифрованный:
ГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯАБВ
• ROT13 (rotate; «сдвинуть на 13 позиций») представляет собой
шифр подстановки простой заменой, используемый
в интернет-форумах, как средство для сокрытия спойлеров,
основных мыслей, решений загадок и оскорбительных
материалов от случайного взгляда.
• ROT13 был охарактеризован как «сетевой эквивалент того,
как в журналах печатают ответы на вопросы викторин —
перевёрнутыми буквами».
• ROT13 — это вариация шифра Цезаря, разработанного ещё
в Древнем Риме.
• ROT13 является обратным алгоритмом, то есть отменить ROT13
можно, применив тот же алгоритм; одни и те же действия могут
быть использованы для кодирования и декодирования
12. Шифр Виженера
• Шифр Виженера — метод полиалфавитного шифрования буквенноготекста с использованием ключевого слова.
• Этот метод является простой формой многоалфавитной замены.
• Шифр Виженера изобретался многократно. Впервые этот метод описал
Джован Баттиста Беллазо в книге La cifra del. Sig. Giovan Battista Bellasо
в 1553 году, однако в XIX веке получил имя Блеза Виженера,
французского дипломата.
• Метод прост для понимания и реализации, он является недоступным для
простых методов криптоанализа.
13. Шифр Виженера
• Шифр Виженера состоит из последовательности несколькихшифров Цезаря с различными значениями сдвига.
• Для зашифровывания может использоваться таблица алфавитов,
называемая tabula recta или квадрат (таблица) Виженера.
• Применительно к латинскому алфавиту таблица Виженера
составляется из строк по 26 символов, причём каждая следующая
строка сдвигается на несколько позиций.
• Таким образом, в таблице получается 26 различных шифров
Цезаря.
• На
каждом этапе шифрования используются различные
алфавиты, выбираемые в зависимости от символа ключевого
слова.
14. Шифр Виженера
15. Шифр Виженера
• Например, предположим, что исходный текст имеет вид:ATTACKATDAWN
• Человек, посылающий сообщение, записывает ключевое слово
(«LEMON») циклически до тех пор, пока его длина не будет
соответствовать длине исходного текста:
LEMONLEMONLE
16. Шифр Виженера
• Первыйсимвол
исходного
текста
A
зашифрован
последовательностью L, которая является первым символом
ключа.
• Первый
символ L шифрованного текста находится
пересечении строки L и столбца A в таблице Виженера.
на
• Точно так же для второго символа исходного текста используется
второй символ ключа; то есть второй символ шифрованного
текста X получается на пересечении строки E и столбца T.
• Остальная часть исходного текста шифруется подобным
способом.
17. Шифр Виженера
Исходный текст:ATTACKATDAWN
Ключ:
LEMONLEMONLE
Зашифрованный текст: LXFOPVEFRNHR
• Расшифровывание производится следующим образом: находим в
таблице Виженера строку, соответствующую первому символу
ключевого слова; в данной строке находим первый символ
зашифрованного текста.
• Столбец, в котором находится данный символ, соответствует
первому символу исходного текста.
• Следующие
символы
зашифрованного
расшифровываются подобным образом.
текста
English Русский Правила
Практическая криптография
Введение §
Шифр простой замены — это шифр, который использовался в течение многих сотен лет (прекрасная история описана в «Кодовой книге» Саймона Сингха). В основном он состоит в замене каждого символа открытого текста другим символом зашифрованного текста. Он отличается от шифра Цезаря тем, что шифралфавит представляет собой не просто сдвинутый алфавит, он полностью перемешан.
Шифр простой подстановки обеспечивает очень низкую безопасность связи, и будет показано, что его можно легко взломать даже вручную, особенно когда сообщения становятся длиннее (более нескольких сотен символов зашифрованного текста).
Пример §
Вот краткий пример шагов шифрования и дешифрования, связанных с шифром простой замены. Текст, который мы зашифруем, будет «защищать восточную стену замка».
Ключи для шифра простой замены обычно состоят из 26 букв (по сравнению с единственным числом шифра Цезаря). Пример ключа:
простой алфавит: abcdefghijklmnopqrstuvwxyz шифралфавит: phqgiumeaylnofdxjkrcvstzwb
Пример шифрования с использованием вышеуказанного ключа:
открытый текст: защищать восточную стену замка зашифрованный текст: giuifg cei iprc tpnn du cei qprcni
Легко увидеть, как каждый символ открытого текста заменяется соответствующей буквой шифралфавита. Расшифровать так же просто, вернувшись от шифралфавита к простому алфавиту. При генерации ключей популярно использовать ключевое слово, например. ‘zebra’, чтобы сгенерировать его, так как гораздо легче запомнить ключевое слово по сравнению со случайной мешаниной из 26 символов. Используя ключевое слово «зебра», ключ будет таким:
шифралфавит: zebracdfghijklmnopqstuvwxy
Затем этот ключ используется так же, как в приведенном выше примере. Если ваш ключ слово имеет повторяющиеся символы, например. «мамонт», будьте осторожны, чтобы не включить повторяющиеся символы шифралфавита.
Пример JavaScript §
Открытый текст
защищать восточную стену замка
ключ =
Удалить пунктуацию
Зашифрованный текст
Другие реализации §
Чтобы зашифровать свои собственные сообщения в python, вы можете использовать модуль pycipher. Чтобы установить его, используйте pip install pycipher. Для шифрования сообщений с помощью шифра подстановки (или другого шифра, документацию см. здесь):
>>>from pycipher import SimpleSubstitution >>>ss = SimpleSubstitution('phqgiumeaylnofdxjkrcvstzwb') >>>ss.encipher('защитить восточную стену замка') 'GIUIFGCEIIPRCTPNNDUCEIQPRCNI' >>>ss.decipher('GIUIFGCEIIPRCTPNNDUCEIQPRCNI') «ЗАЩИТИТЬ ВОСТОЧНУЮ СТЕНУ ЗАМКА»
Криптоанализ §
См. раздел Криптоанализ шифра подстановки, чтобы узнать, как автоматически взломать этот шифр.
Шифр простой замены довольно легко взломать. Несмотря на то, что количество ключей составляет около 2 88,4 (действительно большое число), существует много избыточности и других статистических свойств английского текста, которые упрощают определение достаточно хорошего ключа. Первым шагом является расчет частотного распределения букв в зашифрованном тексте. Это состоит в том, чтобы подсчитать, сколько раз появляется каждая буква. Естественный английский текст имеет очень четкое распределение, которое можно использовать для взлома кодов. Это распределение выглядит следующим образом:
Частоты английских буквЧастоты букв упорядочены от самых частых до наименее частыхЭто означает, что буква «e» является наиболее распространенной и встречается почти в 13% случаев, тогда как «z» встречается гораздо меньше, чем в 1% случаев. Применение шифра простой подстановки не меняет частоты этих букв, а лишь немного их смешивает (в приведенном выше примере буква «е» зашифровывается как «i», что означает, что «i» будет наиболее распространенным символом в шифре). текст). Криптоаналитик должен найти ключ, который использовался для шифрования сообщения, что означает поиск соответствия для каждого символа. Для достаточно больших фрагментов текста (несколько сотен символов) можно просто заменить наиболее распространенный символ зашифрованного текста на «e», второй наиболее распространенный символ зашифрованного текста на «t» и т. д. для каждого символа (заменять в соответствии с порядком в изображение справа). Это приведет к очень хорошему приближению к исходному открытому тексту, но только для фрагментов текста со статистическими свойствами, близкими к английским, что гарантируется только для длинных фрагментов текста.
Для взлома коротких фрагментов текста часто требуется больше опыта. Если в сообщении присутствует исходная пунктуация, например. ‘giuifg cei iprc tpnn du cei qprcni’, то можно использовать следующие правила, чтобы угадать некоторые слова, тогда, используя эту информацию, некоторые буквы в шифралфавите известны.
Однобуквенные слова | а, И. |
Часто встречающиеся двухбуквенные слова | of, to, in, it, is, be, as, at, so, we, he, by, or, on, do, if, me, my, up, an, go, no, us, am |
Часто встречающиеся трехбуквенные слова | тот, и, ибо, являются, но, не, ты, все, любой, может, имел, ее, был, один, наш, из, день, получить, имеет, его, его, как, человек, новый, теперь , старый, см., два, Кстати, кто, пацан, делал, ее, пусть, ставил, мол, она тоже пользуется |
Часто встречающиеся слова из четырех букв | что, с, есть, это, будет, ваш, от, они, знают, хотят, было, хорошо, много, какое-то, время |
* информация в приведенной выше таблице была заимствована с веб-сайта Саймона Сингха, http://www. simonsingh.net/The_Black_Chamber/hintsandtips.htm
блоки, такие как «giuif gceii prctp nnduc eiqpr cnizz», что предотвращает работу предыдущих трюков. Однако есть много других особенностей английского языка, которые можно использовать. В таблице ниже перечислены некоторые другие факты, которые можно использовать для определения правильного ключа. Для каждого правила приведены лишь несколько наиболее распространенных примеров.
Информацию о других языках см. в разделе Частота букв для разных языков.
Наиболее часто встречающиеся одиночные буквы | Э Т А О И Н Ш Р Д ЛУ |
Наиболее частые диграфы | то, что находится в остатке, а е н е й н е й н е н е й или н т е й й й л е а у а р й |
Наиболее часто встречающиеся триграфы | и этот ион tio for nde когда-то edt tis часто sth мужчин |
Наиболее распространенные удвоения | сс ee tt ff ll мм оо |
Наиболее часто встречающиеся начальные буквы | T O A W B C D S F M R H I Y E G L N P U J K |
Наиболее частые конечные буквы | Э С Т Д Н Р И Ф Л О Г Х А К М П У Ш |
* информация в приведенной выше таблице была заимствована с веб-сайта Саймона Сингха, http://www. simonsingh.net/The_Black_Chamber/hintsandtips.htm
Есть и другие трюки, которые можно использовать помимо перечисленных здесь, возможно, однажды они будут включены сюда. А пока используйте свою любимую поисковую систему, чтобы найти больше информации.
Ссылки §
- В Википедии есть хорошее описание процесса шифрования/дешифрования, истории и криптоанализа этого алгоритма
- «Кодовая книга» Саймона Сингха — отличное введение в шифры и коды, а также включает раздел о шифрах подстановки.
- Сингх, Саймон (2000). Кодовая книга: наука о секретности от Древнего Египта до квантовой криптографии. ISBN 0-385-49532-3.
На веб-сайте Саймона Сингха есть несколько хороших инструментов для решения шифров подстановки:
- http://www.simonsingh.net/The_Black_Chamber/frequencyanalysis.html
- http://www.simonsingh.net/The_Black_Chamber/frequencypuzzle.htm
- http://www.simonsingh.net/The_Black_Chamber/hintsandtips. htm
Включите JavaScript для просмотра комментариев на базе Disqus.comments на базе Disqus
Содержание
- Введение
- Пример
- Пример JavaScript
- Другие реализации
- Криптоанализ
- Ссылки
Дополнительная литература
Мы рекомендуем эти книги, если вы хотите узнать больше.
Криптоанализ: исследование шифров и их решение ASIN/ISBN: 978-0486200972 Купить на Amazon.com
Элементарный криптоанализ: математический подход ASIN/ISBN: 978-0883856475 Купить на Amazon.com
Кодовая книга: наука о секретности от Древнего Египта до квантовой криптографии ASIN/ISBN: 978-1857028799 «Кодовая книга» Саймона Сингха — отличное введение в шифры и коды. Купить на Amazon. com
Взломщики кодов — История секретного письма ASIN/ISBN: 0-684-83130-9Купить на Amazon.com
Шифры простой замены | Крипто-ИТ
Шифры с простой заменой заменяют каждую букву открытого текста другим символом. Преобразование является однозначным и обратимым.
Применение
Ранние шифры с простой заменой использовались еще в древние времена. Они были одним из первых способов (после стеганографии) защитить сообщения.
Описание
Простые шифры замены работают, заменяя каждый символ открытого текста другим символом. Чтобы расшифровать буквы зашифрованного текста, следует использовать обратную замену и заменить буквы обратно.
Прежде чем использовать шифр замены, следует выбрать замены, которые будут использоваться для замены всех букв алфавита. Это можно сделать, написав все буквы алфавита в алфавитном порядке в первой строке, а затем во второй строке те же буквы, но в любом другом произвольном порядке. Буквы из верхней и нижней строк образуют пары, которые следует использовать при шифровании.
Например, давайте рассмотрим следующие две последовательности букв, которые определяют шифр замены:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
TIMEODANSFRBCGHJKLPQUVWXYZ
Можно заметить, что буква F закодирована с помощью буквы D, а та же буква шифртекста F соответствует литере открытого текста J. С другой стороны, буква Z соответствует Z (она не изменяется при шифровании).
Смешение алфавита можно продолжить, определив ключевое слово (или несколько ключевых слов), записав его (пропустив повторяющиеся буквы) под буквами исходного алфавита и заполнив оставшиеся пустые места в конце оставшимися буквами алфавита. Это упрощает запоминание замен и обмен секретным ключом между всеми сторонами.
Этот метод использовался для создания замены в приведенном выше примере. В качестве ключевых слов использовалось греческое предложение: timeo Danaos et dona ferentes.
Одной из характеристик простых шифров замены является то, что разные буквы алфавита открытого текста всегда будут давать разные буквы зашифрованного текста. Невозможно, чтобы оба они были зашифрованы одной и той же буквой алфавита.
Безопасность шифров простой замены
Из-за того, что каждый символ может быть закодирован любой буквой алфавита, их 26! возможные пары букв латинского алфавита (который состоит из 26 букв). Это приводит к большому количеству комбинаций. Обеспечиваемая безопасность примерно равна стойкости шифра с секретным ключом размером 88 бит.
Однако гораздо более эффективным подходом, чем атака методом грубой силы, является использование частотного анализа букв зашифрованного текста для взлома простого шифра подстановки. Буквы на всех языках появляются в обычных текстах с разной частотой. Таким образом, гораздо быстрее обнаружить замены, используемые в шифре, путем сравнения часто встречающихся букв зашифрованного текста с буквами, которые часто используются в языке, используемом для шифрования. При использовании этого подхода предполагается, что для обнаружения замен достаточно анализа закодированных сообщений размером около 50 букв.