logo search
ОЗІ / Лекц_ї / все / Методы и средства защиты информации, 2003

Кодирование

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

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

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

При смысловом кодировании основной кодируемой единицы является смысловой элемент текста. Для кодирования составляется специальная таблица кодов, содержащая перечень кодируемых элементов и соответствующих им кодов.

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

При правильном использовании коды намного труднее раскрыть, чем другие классические системы. Успех их использования объясняется тремя причинами. Наиболее важной их них является большая длина используемого ключа. В типичной системе шифрования используется ключ длиной максимум несколько сотен бит. Например, ключом шифра на основе простой подстановки является переставленный алфавит, представляющий в среднем 90 бит, тогда как кодовая книга хорошего размера может содержать сотни тысяч и даже миллион бит. Как показал Шеннон, работа криптоаналитика затрудняется, когда из сообщения удаляется избыточность, а коды удаляют избыточность. Причем, коды работают с относительно большими блоками открытого текста (словами и фразами) и, следовательно, скрывают локальную информацию, которая в противном случае могла бы дать ценные “зацепки” для криптоанализа.

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

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