20
Челябинский Государственный Университет Челябинский Государственный Университет Кафедра Компьютерной Безопасности Кафедра Компьютерной Безопасности Алгоритм арифметического Алгоритм арифметического кодирования как алгоритм кодирования как алгоритм шифрования шифрования Чемезова Екатерина Чемезова Екатерина МК-501 МК-501

Чемезова Е.В. (МК-501). Арифметическое шифрование

Embed Size (px)

Citation preview

Page 1: Чемезова Е.В. (МК-501). Арифметическое шифрование

Челябинский Государственный УниверситетЧелябинский Государственный УниверситетКафедра Компьютерной БезопасностиКафедра Компьютерной Безопасности

Алгоритм арифметического Алгоритм арифметического кодирования как алгоритм кодирования как алгоритм

шифрованияшифрования

Чемезова ЕкатеринаЧемезова ЕкатеринаМК-501МК-501

Page 2: Чемезова Е.В. (МК-501). Арифметическое шифрование

Цель работы:Цель работы:

исследование применимости исследование применимости алгоритма арифметического алгоритма арифметического кодирования в задачах кодирования в задачах шифрования шифрования

Page 3: Чемезова Е.В. (МК-501). Арифметическое шифрование

Задачи:Задачи:

• изучить алгоритм изучить алгоритм арифметического кодирования;арифметического кодирования;

• предложить способ шифрования предложить способ шифрования на основе алгоритма на основе алгоритма арифметического кодирования;арифметического кодирования;

• исследовать предложенный исследовать предложенный способ способ

Page 4: Чемезова Е.В. (МК-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)

Page 5: Чемезова Е.В. (МК-501). Арифметическое шифрование

Алгоритм арифметического Алгоритм арифметического кодированиякодирования

В начале [0.0; 1.0 )В начале [0.0; 1.0 )

Page 6: Чемезова Е.В. (МК-501). Арифметическое шифрование

Алгоритм арифметического Алгоритм арифметического кодированиякодирования

Ширина интервала Ширина интервала B = HI - LO B = HI - LO

Нижняя границаНижняя граница LO = LO + B*LSLO = LO + B*LS

Верхняя границаВерхняя граница HI = LO + B*HSHI = LO + B*HS

LS – LS – нижняя граница интервала, нижняя граница интервала, соответствующего символасоответствующего символа

HS - HS - верхняя граница интервала, верхняя граница интервала, соответствующего символасоответствующего символа

Page 7: Чемезова Е.В. (МК-501). Арифметическое шифрование

Алгоритм арифметического Алгоритм арифметического кодированиякодирования

[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 )

Page 8: Чемезова Е.В. (МК-501). Арифметическое шифрование

Алгоритм арифметического Алгоритм арифметического кодированиякодирования

[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))

Page 9: Чемезова Е.В. (МК-501). Арифметическое шифрование

Алгоритм арифметического Алгоритм арифметического кодированиякодирования

В начале [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)

Page 10: Чемезова Е.В. (МК-501). Арифметическое шифрование

Программа арифметического Программа арифметического кодирования кодирования

• Реализация на языке СиРеализация на языке Си

Page 11: Чемезова Е.В. (МК-501). Арифметическое шифрование

Идея шифрования на Идея шифрования на основе арифметического основе арифметического кодированиякодирования Алгоритм шифрованияАлгоритм шифрования• Вводится ключВводится ключ• На основе этого ключа генерируется На основе этого ключа генерируется

таблица частоттаблица частот• Посимвольно считываются и кодируются Посимвольно считываются и кодируются

данные с файла алгоритмом данные с файла алгоритмом арифметического кодирования, арифметического кодирования, используя составленную таблицу частотиспользуя составленную таблицу частот

• Побитовая запись полученного шифр Побитовая запись полученного шифр текстатекста

Page 12: Чемезова Е.В. (МК-501). Арифметическое шифрование

Идея шифрования на Идея шифрования на основе арифметического основе арифметического кодированиякодированияАлгоритм расшифрования:Алгоритм расшифрования:• Вводится ключВводится ключ• На основе этого ключа генерируется На основе этого ключа генерируется

таблица частоттаблица частот• Побитовое чтение файла и расшифровка Побитовое чтение файла и расшифровка

алгоритмом арифметического алгоритмом арифметического кодирования, используя составленную кодирования, используя составленную таблицу частоттаблицу частот

• Посимвольная запись расшифрованного Посимвольная запись расшифрованного текстатекста

Page 13: Чемезова Е.В. (МК-501). Арифметическое шифрование

Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Плоская модельПлоская модель• 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

Page 14: Чемезова Е.В. (МК-501). Арифметическое шифрование

Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Адаптивная модель, соответствующей английскому языку Адаптивная модель, соответствующей английскому языку • 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

Page 15: Чемезова Е.В. (МК-501). Арифметическое шифрование

Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Плоская таблица. Изменение частот всех Плоская таблица. Изменение частот всех

символов по очереди на 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

Page 16: Чемезова Е.В. (МК-501). Арифметическое шифрование

Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Плоская таблица. Изменение значения Плоская таблица. Изменение значения

частоты одного из символов частоты одного из символов

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

Page 17: Чемезова Е.В. (МК-501). Арифметическое шифрование

Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Адаптивная таблица. Изменение частот Адаптивная таблица. Изменение частот

всех символов по очереди на 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

Page 18: Чемезова Е.В. (МК-501). Арифметическое шифрование

Исследование Исследование предложенного способа предложенного способа шифрованияшифрования• Адаптивная таблица. Изменение Адаптивная таблица. Изменение

значения частоты одного из символов значения частоты одного из символов

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

Page 19: Чемезова Е.В. (МК-501). Арифметическое шифрование

ВыводыВыводы

• Не выявлено четкой зависимости Не выявлено четкой зависимости между статистическими данными между статистическими данными текста шифровки и таблицей текста шифровки и таблицей частот, что позволяет частот, что позволяет использовать в качестве ключа использовать в качестве ключа шифрования таблицу частотшифрования таблицу частот

Page 20: Чемезова Е.В. (МК-501). Арифметическое шифрование

В планах: В планах:

• Реализация предложенного Реализация предложенного способа создания ключей способа создания ключей шифрованияшифрования

• Реализация законченной Реализация законченной криптосистемыкриптосистемы