Имя материала: Защита компьютерной информации

Автор: Борис Анин

Сжатие и шифрование

 

Алгоритмы сжатия данных очень хорошо подходят для совместного использования с криптографическими алгоритмами. Тому есть две причины:

 

r При вскрытии шифра криптоаналитик, как правило, полагается на

избыточность, свойственную любому открытому тексту. Сжатие помогает избавиться от этой избыточности.

r Шифрование данных является весьма трудоемкой операцией. При

сжатии уменьшается длина открытого текста, за счет чего сокращается время, которое будет потрачено на его шифрование.

 

Надо только не забыть сжать файл до того, как он будет зашифрован. После шифрования файла при помощи качественного криптографического алгоритма полученный шифртекст сжать не удастся, поскольку его характеристики будут близки к характеристикам совершенно случайного набора букв. Кстати, сжатие может служить своеобразным тестом для проверки качества криптографического алгоритма: если шифртекст поддается сжатию, значит этот алгоритм лучше заменить на более совершенный.

Как спрятать один шифртекст в другом

 

Антон и Борис несколько месяцев обменивались шифрованными сообщениями. Контрразведка перехватила все эти сообщения, но так и не смогла прочесть ни единого слова. Контрразведчикам надоело коллекционировать переписку Антона и Бориса, не зная ее содержания, и они решили арестовать подозрительную парочку. Первый же допрос начался словами: “Где ключи к шифру?” “К какому такому шифру?!” — в один голос воскликнули Антон и Борис, но тут же осеклись и побледнели, заметив на столе у следователя зловещего вида клещи, покрытые пятнами то ли ржавчины, то ли крови.

Антон и Борис смогли бы выкрутиться из создавшегося положения, если бы шифровали каждое свое сообщение так, чтобы оно допускало два различных расшифрования в зависимости от используемого ключа. Свое настоящее секретное сообщение Борису Антон мог бы зашифровать на одном ключе, а вполне невинный открытый текст — на другом. Теперь, если от Антона потребуют ключ к шифру, он отдаст подставной ключ, который позволит прочесть невинное сообщение, а другой ключ сохранит в тайне.

Самый простой способ сделать это потребует использования одноразового блокнота. Пусть Р — секретный открытый текст, D — невинный открытый текст, С — шифрованный текст, К — настоящий ключ, а К' — подставной ключ. Антон шифрует Р:

 

P ⊕ K = C

 

Поскольку у Бориса имеется копия ключа К, он может без проблем расшифровать сообщение Антона:

 

С ⊕ К= Р

 

Если контрразведчики попытаются заставить Антона и Бориса выдать используемый ими ключ, то вместо К они могут сообщить в контрразведку:

 

К' = C ⊕ D

 

В результате контрразведчики смогут прочитать невинный открытый текст:

 

С ⊕ К'= D

 

Так как Антон и Борис пользуются одноразовым блокнотом, то К является полностью случайным и доказать, что К' является подставным ключом, практически невозможно (не прибегая к пыткам).

Антон мог бы зашифровать Р не с помощью одноразового блокнота, а пользуясь любым из своих самых любимых криптографических алгоритмов и ключом К. Сложив С с фрагментом какого-либо общеизвестного произведения (например, с отрывком из второй главы “Идиота”) по модулю 2, Антон получит К'. Теперь если к Антону пристанут злые “дяденьки” из контрразведки, он предъявит им С вместе с К' и скажет, что К' — это одноразовый блокнот для С и что он просто захотел попрактиковаться в криптографии, зашифровав для этой цели отрывок из первой попавшейся книги. РГ пока контрразведчики не получат в свое распоряжение ключ К, доказать, что Антон занимался чем-то противозаконным, они не смогут.

 

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 |