АНАЛИЗ МЕТОДОВ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ РЕЧЕВОЙ ИНФОРМАЦИИ

       

Алгоритмы защиты


Криптографические алгоритмы делятся на два класса: симметричные (одноключевые) и асимметричные (двухключевые) [8].

К алгоритмам первого класса относятся любые методы шифрования (подстановка, перестановка, гаммирование) с использованием одного ключа, который сохраняется в тайне и передается по защищенным каналам связи. Среди стандартных алгоритмов наиболее известные: стандарт шифрования данных (DES), ГОСТ 28147-89. Проблемой симметричного шифрования является распределение ключей.

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

Главными характеристиками криптосистемы являются ее безопасность и производительность. Так, система RSA работает примерно в тысячу раз медленнее DES и требует, чтобы ключи были примерно в 10 раз длиннее. Хотя очевидно, что использование систем с открытым ключом может быть ограничено задачей обмена ключами с последующим их применением в классической криптографии, то есть использование так называемых гибридных систем.

В своей основополагающей работе, давшей толчок развитию двухключевой криптографии, Диффи и Хеллман предложили использовать функцию дискретного возведения в степень [11,12]:

(1.1)

где a - целое число (1<a <p) - примитивный элемент конечного поля GF(p) , p - очень большое простое число.

Стойкость криптосистемы на основе дискретного возведения в степень определяется сложностью задачи нахождения дискретного логарифма, которая состоит в том, чтобы по заданным a и b найти x, такое, что a x=b [9]. В области разработки алгоритмов вычисления дискретных логарифмов в конечных полях достигнут значительный прогресс, особенно это относится к полям GF(2n). При современном уровне развития алгоритмов, сложность нахождения логарифмов в простом поле GF(p) практически совпадает со сложностью разложения целого числа n, имеющего примерно тот же порядок величины и являющегося произведением двух примерно одинаковых простых сомножителей. Однако нахождение дискретных логарифмов в полях GF(2k) является значительно более простой задачей. При использовании конечного поля GF(q), причем независимо от того, является ли q простым числом или же q=2k, необходимо обеспечить, чтобы число q-1 обладало большим простым делителем, иначе задача нахождения логарифмов в GF(q) окажется слишком простой.


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

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

Алгоритм генерации гаммы должен удовлетворять ряду условий для “хорошего” генератора случайных чисел (бит). Длина цикла генератора должна быть такой, чтобы исключить повторение последовательности на некотором достаточно большом интервале времени при условии непрерывной работы генератора, например, в системах высокой стойкости применяются генераторы с циклом в сотни лет. При построении генератора применяются алгоритмы формирования m-последовательностей (в простейших реализациях), линейных конгруэнтных последовательностей или комбинированные алгоритмы с двумя разнородными генераторами, один из которых формирует псевдослучайные коды, а другой выполняет их перестановки.

При наличии определенных требований (заказчика) в качестве алгоритма шифрования может быть использован алгоритм ГОСТ 28147-89 в режиме гаммирования или другой алгоритм шифрования данных, но только в режимах без обратной связи и без поблочного шифрования (такие режимы при наличии ошибок разрушают данные, следующие за ошибкой или искажают данные целого блока) [9].





Для получения случайной гаммы, используемой в качестве секретного ключа, рекомендуется использовать нелинейные алгоритмы формирования псевдослучайной последовательности с большим периодом повторения или же воспользоваться физическим датчиком случайных чисел. В качестве последнего может использоваться младший разряд АЦП или тепловой шум нелинейного элемента (диода, транзистора). Сигнал с генератора шума после обрезания постоянной составляющей в ФВЧ подается на компаратор, где оцифровывается и в виде нулей и единиц через последовательный порт вводится в вычислительное устройство. Данные с компаратора в порт поступают с определенной частотой по сигналам синхронизации, вырабатываемым вычислительным устройством.

рис.2. Функциональная схема генератора гаммы.

Опыт применения физических ДСЧ показывает, что неизбежна ассиметрия в распределении нулей и единиц. Поэтому рекомендуется многократное считывание случайной последовательности с последующим поразрядным сложением по mod 2.

Для обмена секретными ключами и формирования сеансового ключа используется алгоритм Диффи-Хеллмана[10].

В качестве односторонней функции используется функция дискретного возведения в степень

(3.1.)

где X - целое число от 1 до p-1 включительно, а вычисления производятся по модулю p, где p - очень большое простое число, причем p-1 имеет большой простой множитель при делении на 2; - целое число от 1 до p-1.

Для обмена секретными ключами используется следующая процедура. Будем полагать, что всем пользователям известны и p. Первый пользователь перед установлением связи случайным образом генерирует число X, заключенное между 1 и p-1, и держит его в секрете. Далее он вычисляет

, (3.2.)

Аналогично поступает второй пользователь. Затем пользователи обмениваются открытыми ключами и . Первый пользователь с помощью своего секретного ключа вычислит

(3.3.)

Таким же образом и второй пользователь вычисляет . Однако и оба пользователя могут с этого момента использовать как секретный ключ в классической криптосхеме, например ГОСТ 28147-89.



Описанный выше алгоритм представлен на рисунке:

рис.3. Реализация алгоритма Диффи-Хеллмана.

Из вышесказанного следует, что числа необходимо выбирать одинаковой разрядности. Так как по ГОСТ 28147-89 необходимо использовать ключ разрядностью 256 бит, то следовательно числа должны иметь разрядность 256 бит. Число p может выбираться на основании ГОСТ Р 34.10-94 Глава 7. пункт 7.2. либо это может быть число , где n - число разрядов ключа, то есть [14,15].

На число не накладываются ни какие ограничения, это может быть любое число из диапазона от 0 до p-1.

Секретный ключ формируется датчиком случайных чисел для каждого сеанса связи.

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

Краткое описание ГОСТ 28147-89 [14].

Настоящий стандарт устанавливает единый алгоритм криптографического преобразования для систем обработки информации в сетях электронных вычислительных машин (ЭВМ), отдельных вычислительных комплексах и ЭВМ, который определяет правила шифрования данных и выработки имитовставки.

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

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

Предусмотрены четыре вида работы:

- зашифрование (расшифрование) данных в режиме простой замены;

- зашифрование (расшифрование) данных в режиме гаммирования;

- зашифрование (расшифрование) данных в режиме гаммирования с обратной связью;

- режим выработки имитовставки.


Содержание раздела