Upload
vasily-dolgushev
View
538
Download
1
Embed Size (px)
Citation preview
Челябинский Государственный УниверситетЧелябинский Государственный УниверситетКафедра Компьютерной БезопасностиКафедра Компьютерной Безопасности
Алгоритм арифметического Алгоритм арифметического кодирования как алгоритм кодирования как алгоритм
шифрованияшифрования
Чемезова ЕкатеринаЧемезова ЕкатеринаМК-501МК-501
Цель работы:Цель работы:
исследование применимости исследование применимости алгоритма арифметического алгоритма арифметического кодирования в задачах кодирования в задачах шифрования шифрования
Задачи:Задачи:
• изучить алгоритм изучить алгоритм арифметического кодирования;арифметического кодирования;
• предложить способ шифрования предложить способ шифрования на основе алгоритма на основе алгоритма арифметического кодирования;арифметического кодирования;
• исследовать предложенный исследовать предложенный способ способ
Алгоритм арифметического Алгоритм арифметического кодированиякодирования
• Пример кодирования текста "eaii!" Пример кодирования текста "eaii!" с постоянными вероятностямис постоянными вероятностями
Символ Веpоятность Интеpвалa .2 [0.0; 0.2)e .3 [0.2; 0.5)i .1 [0.5; 0.6)o .2 [0.6; 0.8)u .1 [0.8; 0.9)! .1 [0.9; 1.0)
Алгоритм арифметического Алгоритм арифметического кодированиякодирования
В начале [0.0; 1.0 )В начале [0.0; 1.0 )
Алгоритм арифметического Алгоритм арифметического кодированиякодирования
Ширина интервала Ширина интервала B = HI - LO B = HI - LO
Нижняя границаНижняя граница LO = LO + B*LSLO = LO + B*LS
Верхняя границаВерхняя граница HI = LO + B*HSHI = LO + B*HS
LS – LS – нижняя граница интервала, нижняя граница интервала, соответствующего символасоответствующего символа
HS - HS - верхняя граница интервала, верхняя граница интервала, соответствующего символасоответствующего символа
Алгоритм арифметического Алгоритм арифметического кодированиякодирования
[0.0; 1.0 )[0.0; 1.0 )e - e - [0.2; 0.5)LO = 0 HI = 1LO = 0 HI = 1LS = 0.2 HS = 0.5LS = 0.2 HS = 0.5
B = 1 – 0 = 1 B = 1 – 0 = 1 LO = 0 + 1*0.2 = 0.2LO = 0 + 1*0.2 = 0.2HI = 0 + 1*0.5HI = 0 + 1*0.5 = 0.5 = 0.5=> => После пpосмотpа "e" [0.2; 0.5 )После пpосмотpа "e" [0.2; 0.5 )
Алгоритм арифметического Алгоритм арифметического кодированиякодирования
[0.2; 0.5 )[0.2; 0.5 )a - a - [0.0; 0.2)LO = 0.2 HI= 0.5LO = 0.2 HI= 0.5LS = 0.0 HS = 0.2LS = 0.0 HS = 0.2
B = 0.5 – 0.2 = 0.3 B = 0.5 – 0.2 = 0.3 LO = 0.2 + 0.3*0.0 = 0.2LO = 0.2 + 0.3*0.0 = 0.2HI = 0.2 + 0.3*0.2HI = 0.2 + 0.3*0.2 = 0.26 = 0.26=> => После пpосмотpа "После пpосмотpа "aa" [0.2; 0." [0.2; 0.2626))
Алгоритм арифметического Алгоритм арифметического кодированиякодирования
В начале [0.0; 1.0 )В начале [0.0; 1.0 )
После пpосмотpа "e" [0.2; 0.5 )После пpосмотpа "e" [0.2; 0.5 )
После пpосмотpа "a" [0.2; 0.26 )После пpосмотpа "a" [0.2; 0.26 )
После пpосмотpа "i" [0.23; 0.236 )После пpосмотpа "i" [0.23; 0.236 )
После пpосмотpа "i" [0.233; 0.2336)После пpосмотpа "i" [0.233; 0.2336)
После пpосмотpа "!" [0.23354; 0.2336)После пpосмотpа "!" [0.23354; 0.2336)
Программа арифметического Программа арифметического кодирования кодирования
• Реализация на языке СиРеализация на языке Си
Идея шифрования на Идея шифрования на основе арифметического основе арифметического кодированиякодирования Алгоритм шифрованияАлгоритм шифрования• Вводится ключВводится ключ• На основе этого ключа генерируется На основе этого ключа генерируется
таблица частоттаблица частот• Посимвольно считываются и кодируются Посимвольно считываются и кодируются
данные с файла алгоритмом данные с файла алгоритмом арифметического кодирования, арифметического кодирования, используя составленную таблицу частотиспользуя составленную таблицу частот
• Побитовая запись полученного шифр Побитовая запись полученного шифр текстатекста
Идея шифрования на Идея шифрования на основе арифметического основе арифметического кодированиякодированияАлгоритм расшифрования:Алгоритм расшифрования:• Вводится ключВводится ключ• На основе этого ключа генерируется На основе этого ключа генерируется
таблица частоттаблица частот• Побитовое чтение файла и расшифровка Побитовое чтение файла и расшифровка
алгоритмом арифметического алгоритмом арифметического кодирования, используя составленную кодирования, используя составленную таблицу частоттаблицу частот
• Посимвольная запись расшифрованного Посимвольная запись расшифрованного текстатекста
Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Плоская модельПлоская модель• 00• 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 • 11
Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Адаптивная модель, соответствующей английскому языку Адаптивная модель, соответствующей английскому языку • 00• 1 1 1 1 1 1 1 1 1 1 124 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 124 1 1 1 1 1 • 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 1236 1 21 9 3 1 25 15 2 2 2 1 79 19 60 1 1236 1 21 9 3 1 25 15 2 2 2 1 79 19 60 1 • 15 15 8 5 4 7 5 4 6 3 2 1 1 1 1 1 15 15 8 5 4 7 5 4 6 3 2 1 1 1 1 1 • 1 24 15 22 12 15 10 9 16 16 8 6 12 23 13 1 1 24 15 22 12 15 10 9 16 16 8 6 12 23 13 1 • 14 1 14 28 29 6 3 11 1 3 1 1 1 1 1 3 14 1 14 28 29 6 3 11 1 3 1 1 1 1 1 3 • 1 491 85 173 232 744 127 110 293 418 6 39 250 139 429 446 1 491 85 173 232 744 127 110 293 418 6 39 250 139 429 446 • 111 5 388 375 531 152 57 97 12 101 5 2 1 2 3 1 111 5 388 375 531 152 57 97 12 101 5 2 1 2 3 1 • 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 11
Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Плоская таблица. Изменение частот всех Плоская таблица. Изменение частот всех
символов по очереди на 1символов по очереди на 1
35
40
45
50
55
60
65
70
75
1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153 161 169 177 185 193 201 209 217 225 233 241 249
Файл1
Файл2
Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Плоская таблица. Изменение значения Плоская таблица. Изменение значения
частоты одного из символов частоты одного из символов
45
50
55
60
65
70
75
1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153 161 169 177 185 193 201 209 217 225 233 241 249
Файл1
Файл2
Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Адаптивная таблица. Изменение частот Адаптивная таблица. Изменение частот
всех символов по очереди на 1всех символов по очереди на 1
30
35
40
45
50
55
60
65
70
1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153 161 169 177 185 193 201 209 217 225 233 241 249
Файл1
Файл2
Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Адаптивная таблица. Изменение Адаптивная таблица. Изменение
значения частоты одного из символов значения частоты одного из символов
40
45
50
55
60
65
70
1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153 161 169 177 185 193 201 209 217 225 233 241 249
Файл1
Файл2
ВыводыВыводы
• Не выявлено четкой зависимости Не выявлено четкой зависимости между статистическими данными между статистическими данными текста шифровки и таблицей текста шифровки и таблицей частот, что позволяет частот, что позволяет использовать в качестве ключа использовать в качестве ключа шифрования таблицу частотшифрования таблицу частот
В планах: В планах:
• Реализация предложенного Реализация предложенного способа создания ключей способа создания ключей шифрованияшифрования
• Реализация законченной Реализация законченной криптосистемыкриптосистемы