- •Предмет криптографії. Класична й сучасна криптографія.
- •Вимоги до криптосистем.
- •Основні класи симетричних криптосистем.
- •Загальні положення ассиметричных криптосистем.
- •Шифри многоалфавитной заміни. Табло Виженера.
- •Шифрувальний апарат Вернама. Шифр Вернама (xor).
- •Шифри одноалфавітної заміни. Шифр Цезаря, квадрат «Полібія».
- •Шифри перестановки. Квадрат «Кардана».
- •Система підстановок
- •1.Замкнутость: произведение подстановок p1p2 является подстановкой:
- •2.Ассоциативность: результат произведения p1p2p3 не зависит от порядка расстановки скобок:
- •4.Существование обратного: для любой подстановки p существует единственная обратная подстановка p-1, удовлетворяющая условию
- •1. Исходный текст шифруется посимвольно. Шифрования n-граммы (x0 ,x1 ,..,xn-1) и ее префикса (x0 ,x1 ,..,xs-1) связаны соотношениями
- •13. Гаммирование
- •14. Стандарт шифрування даних
- •16. Протоколи голосування
- •17. Електронний підпис
- •19. Електронний цифровий підпис
- •22. Складність теоретико-числових алгоритмів
- •23. Алгоритм Эвклида
- •24. Шифрування інформації
- •25. Стиск інформації
- •26. Криптографічні протоколи. Анонімні спільні обчислення
-
Шифрувальний апарат Вернама. Шифр Вернама (xor).
Шифр Вернама (другое название: англ. One-time pad — схема одноразовых блокнотов) — в криптографии система симметричного шифрования, изобретённая в 1917 году сотрудниками AT&T Мейджором Джозефом Моборном и Гильбертом Вернамом. Шифр Вернама является системой шифрования, для которой доказана абсолютная криптографическая
Описание
Для произведения шифротекста открытый текст объединяется операцией «исключающее ИЛИ» с ключом (называемым одноразовым блокнотом или шифроблокнотом). При этом ключ должен обладать тремя критически важными свойствами:
быть истинно случайным;
совпадать по размеру с заданным открытым текстом;
применяться только один раз.
Шифр назван в честь телеграфиста AT&T Гильберта Вернама, который в 1917 году построил телеграфный аппарат, который выполнял эту операцию автоматически — надо было только подать на него ленту с ключом. Не будучи шифровальщиком, тем не менее, Вернам верно заметил важное свойство своего шифра — каждая лента должна использоваться только один раз и после этого уничтожаться. Это трудноприменимо на практике — поэтому аппарат был переделан на несколько закольцованных лент с взаимно простыми периодами.
-
Шифри одноалфавітної заміни. Шифр Цезаря, квадрат «Полібія».
Шифр Полібія (Квадрат Полібія), також відомий як шахова дошка Полібія - оригінальний код простої заміни, одна з найдавніших систем кодування, запропонована Полібієм (грецький історикок, полководець, державний діяч, III століття до н е. ..). Даний вид кодування спочатку застосовувався для грецького алфавіту, але потім був поширений на інші мови.
Принцип роботи
Для початку потрібно створити квадрат,для нашого прикладу візьмем анг. алфавіт і квадрат розміром 8х8 і заповнимо його так як вказано в таблиці.N/N a b c d e f g h
a a b c d e f g h
b i j k l m n o p
c q r s t u v w x
d y z A B C D E F
e G H I J K L M N
f O P Q R S T U V
g W X Y Z 0 1 2 3
h 4 5 6 7 8 9 ,
Наш квадрат - символи в помаранчевій комірках,рядок і стовпець в зелених комірках - це координати кожного символу.
спочатку йде координата стовпця а потім рядка (хоча за бажанням можна і навпаки,але в моїй подальшій програмі використано саме такий принцип).
Для прикладу потрібно зашифрувати символ А шукаєм його стовпець,він рівний - c потім його рядок він рівний d отже результат cd тоді,для прикладу зашифруємо слово Hello результат - beeadbdbgb.
Приклад розшифрування розберемо на шифротексті aggbbcda, для простішого розуміння розіб'ємо шифротекст на блоки по 2 символи ag gb bc da . Перший блок нам дасть букву - W, 2 - o, 3 - r , 4 - d .
-
Шифри перестановки. Квадрат «Кардана».
Способ шифрования
Несмотря на то, что квадрат изначально создавался для кодирования с его помощью можно успешно шифровать. Для того, чтобы зашифровать текст квадратом Полибия нужно сделать несколько шагов:
[править]
Шаг 1: Формирование таблицы шифрования [2]
К каждому языку отдельно составляется таблица шифрования с одинаковым (не обязательно) количеством пронумерованных строк и столбцов, параметры которой зависят от его мощности (количества букв в алфавите). Берутся два целых числа, произведение которых ближе всего к количеству букв в языке — получаем нужное число строк и столбцов. Затем вписываем в таблицу все буквы алфавита подряд — по одной на каждую клетку. При нехватке клеток можно вписать в одну две буквы (редко употребляющиеся или схожие по употреблению).
[править]
Латинский алфавит
В современном латинском алфавите 26 букв, следовательно таблица должна состоять из 5 строк и 5 столбцов, так как 25=5*5 наиболее близкое к 26 число. При этом буквы I, J не различаются (J отождествляется с буквой I), так как не хватает 1 ячейки: 1 2 3 4 5
1 A B C D E
2 F G H I/J K
3 L M N O P
4 Q R S T U
5 V W X Y Z
[править]
Русский алфавит[3]
Идею формирования таблицы шифрования проиллюстрируем для русского языка. Число букв в русском алфавите отличается от числа букв в греческом алфавите, поэтому размер таблицы выбран другой (квадрат 6*6=36, поскольку 36 наиболее близкое число к 33): 1 2 3 4 5 6
1 А Б В Г Д Е
2 Ё Ж З И Й К
3 Л М Н О П Р
4 С Т У Ф Х Ц
5 Ч Ш Щ Ъ Ы Ь
6 Э Ю Я - - -
Возможен также другой вариант составления, предусматривающий объединение букв Е и Ё, И и Й, Ъ и Ь. В данном случае получаем следующий результат: 1 2 3 4 5 6
1 А Б В Г Д Е/Ё
2 Ж З И/Й К Л М
3 Н О П Р С Т
4 У Ф Х Ц Ч Ш
5 Щ Ы Ь/Ъ Э Ю Я
Используя подобный алгоритм таблицу шифрования можно задать для любого языка. Чтобы расшифровать закрытый текст необходимо знать, таблицей шифрования какого алфавита он зашифрован.
[править]
Шаг 2: Принцип шифрования
Существует несколько методов шифрования с помощью квадрата Полибия. Ниже приведены три из них.
[править]
Метод 1
Зашифруем слово "SOMETEXT":
Для шифрования на квадрате находили букву текста и вставляли в шифровку нижнюю от неё в том же столбце. Если буква была в нижней строке, то брали верхнюю из того же столбца.
Таблица координатБуква текста: S O M E T E X T
Буква шифротекста : X T R K Y K C Y
Таким образом после шифрования получаем:
РезультатДо шифрования: SOMETEXT
После шифрования: XTRKYKCY
[править]
Метод 2
Сообщение преобразуется в координаты по квадрату Полибия, координаты записываются вертикально:
Таблица координатБуква: S O M E T E X T
Координата горизонтальная: 3 4 2 5 4 5 3 4
Координата вертикальная: 4 3 3 1 4 1 5 4
Затем координаты считывают по строкам:
34 25 45 34 43 31 41 54 (*)
Далее координаты преобразуются в буквы по этому же квадрату:
Таблица координатКоордината горизонтальная: 3 2 4 3 4 3 4 5
Координата вертикальная: 4 5 5 4 3 1 1 4
Буква: S W Y S O C D U
Таким образом после шифрования получаем:
РезультатДо шифрования: SOMETEXT
После шифрования: SWYSOCDU
[править]
Метод 3
Усложненный вариант, который заключается в следующем: полученный первичный шифротекст (*) шифруется вторично. При этом он выписывается без разбиения на пары:
3425453443314154
Полученная последовательность цифр сдвигается циклически влево на один шаг(нечетное количество шагов):
4254534433141543
Эта последовательность вновь разбивается в группы по два:
42 54 53 44 33 14 15 43
и по таблице заменяется на окончательный шифротекст:
Таблица координатКоордината горизонтальная: 4 5 5 4 3 1 1 4
Координата вертикальная: 2 4 3 4 3 4 5 3
Буква: I U P T N Q V O
Таким образом после шифрования получаем:
РезультатДо шифрования: SOMETEX