logo
Информационная безопасность / Информационная безопасность2006

Система скремблер/дескремблер со сменным секретным ключом.

Сигнал речи, оцифрованный, например, δ-модулятором (рис. 2 и 3, раздел 2.2.), можно рассматривать как непрерывный поток бит.

Аппаратно и программно простыми и дешёвыми способами являются:

  1. Метод гаммирования (рис.1) с помощью сумматоров по модулю два и двух одинаковых на приёмной и передающей стороне генераторов ПСП в качестве ключей шифрования и дешифрования. Поток бит ключа называют гаммой.

  1. Устройства скремблер/дескремблер на базе регистра сдвига с обратными связями на сумматорах па модулю два, рассмотренных в разделах 2.4. и 2.5.

Кодек (устройство кодирования/декодирования) оцифрованного сигнала речи на базе схемы с рис.1 требует, чтобы в реальном времени начало кодирования и начало декодирования строго совпадали по фазе, с точностью до бита после каждой «микропаузы» речи. Сдвиг ключа Kотносительно шифрограммыCiвсего на один бит приводит к полному нарушению процесса декодирования на приёмной стороне, так как генераторы ПСП приёма и передачи не синхронизированы. Эту задачу решают с помощью сложного и дорогого, как программного, так и аппаратного обеспечения. Однако кодек работающий по схеме с рис.1 имеет несомненное достоинство: наличие секретного ключа.

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

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

Рассмотрим простой и дешёвый кодек (скремблер/дескремблер), работающий с секретным ключом записанным в микросхемы памяти ПЗУ1 и ПЗУ2 (рис. 2).

Количество различных ключей, которые можно записать в ПЗУ с p-разрядными адресами одноразрядных ячеек памяти, равно

Например, для p= 8 получим: длина ключаM= 2256= 1.15*1077.

В разделе 2.3 доказано, что для скремблера/дескремблера с ключом на ПЗУ выполняется равенство yi =xi.

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

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

Система обладает свойством самосинхронизации, состоящем в том, что через некоторое количество тактов состояние регистров становится одинаковым:

N1i=N2i=Ni.

Для последующих тактов наступает равенство yi =xi для любых ключей, одинаковых для приёмника и передатчика:

f(N1i) =f(N2i) (1)

Докажем это. Действительно из (1) вытекает, что начнут совпадать и биты ключей:

K1i=K2i=Ki.

Согласно 6-7 строк алгоритма будем иметь:

yi = Ci  Ki = xi  Ki  Ki.

Но так как KiKi = 0, то то получаем при самосинхронизацииyi =xi.

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

Пусть RGимеютpразрядов. Рассмотрим множество подгрупп младших бит двоичного числаNсостояния регистра, то есть следующие подгруппы младших бит:

(a0), (a1, a0), (a2, a1, a0), (a3, a2, a1, a0) и так далее, где a{0, 1}.

Обозначим биты регистра RG1 символами ‘a’, биты регистраRG2 - символами ‘b’.

Так как при операции сдвига в регистрах в их младший бит записывается одинаковая информация Ci {0, 1}, то возможны следующие случаи:

  1. Если mмладших бит, как начальных, так и очередных состояний регистров, совпадают:

am-1am-2…a1a0 = bm-1bm-2…b1b0,

то какая бы информация Ci (либо 0, либо 1) ни записывалась бы в младший разряд регистров, после этого такта будут совпадать ужеm+1 младших разрядов.

Например:

N1 = …x101,

N1 = …x101, где х{0, 1} – безразлично какой бит;

После сдвига при Ci = 1 получим:

N1 = …x1011,

N1 = …x1011 – совпадают четыре младших бита,

После сдвига при Ci = 1:

N1 = …x1010,

N1 = …x1010 – совпадают четыре младших бита.

Следовательно через (p–m) начнётся полное совпадение состояний регистров и в каждом последующем такте будетN1 =N2, независимо от очередного значенияCi.

  1. Если в начальных состояниях регистров нет совпадений для каждой подгруппы младших бит, то есть m= 0, то самосинхронизация устанавливается черезpтактов. Например, пустьp= 4, и пусть вRG1 находится числоN1, а вRG2 - числоN2.тогда при очередных сдвигах с произвольнымCi получим:

i

Ci

N1

N2

0

1101

0010

1

1

1011

0101

2

0

0110

1010

3

1

1101

0101

4

1

1011

=

1011

Совпадения начинаются на 4-ом такте. Здесь в исходном состоянии N2 есть инверсияN1:m= 0.

I

Ci

N1

N2

0

1011

0110

1

1

0110

1100

2

0

1100

1000

3

1

1001

0001

4

1

0011

=

0011

Совпадения начинаются на 4-ом такте. Здесь все подгруппы младших бит не совпадают: m= 0.

Итак, при самых неблагоприятных начальных состояниях регистров самосинхронизация наступает через pтактов.

Как видно из вышеизложенного, выход на самосинхронизацию не зависит от ключевой последовательности нулей и единиц, записанных в ПЗУ, если таблицы f(N1) иf(N2) содержимого обеих ПЗУ одинаковы.