Система скремблер/дескремблер со сменным секретным ключом.
Сигнал речи, оцифрованный, например, δ-модулятором (рис. 2 и 3, раздел 2.2.), можно рассматривать как непрерывный поток бит.
Аппаратно и программно простыми и дешёвыми способами являются:
1) Метод гаммирования (рис.1) с помощью сумматоров по модулю два и двух одинаковых на приёмной и передающей стороне генераторов ПСП в качестве ключей шифрования и дешифрования. Поток бит ключа называют гаммой.
![]() |
![]() |
2) Устройства скремблер/дескремблер на базе регистра сдвига с обратными связями на сумматорах па модулю два, рассмотренных в разделах 2.4. и 2.5.
Кодек (устройство кодирования/декодирования) оцифрованного сигнала речи на базе схемы с рис.1 требует, чтобы в реальном времени начало кодирования и начало декодирования строго совпадали по фазе, с точностью до бита после каждой
«микропаузы» речи. Сдвиг ключа K относительно шифрограммы Ci всего на один бит приводит к полному нарушению процесса декодирования на приёмной стороне, так как генераторы ПСП приёма и передачи не синхронизированы. Эту задачу решают с помощью сложного и дорогого, как программного, так и аппаратного обеспечения. Однако кодек работающий по схеме с рис.1 имеет несомненное достоинство: наличие секретного ключа.
Кодек на базе регистра сдвига прост и дёшев и обладает свойством самосинхронизации, заключающемся в том, что через несколько тактов (не больше числа разрядов регистра сдвига) состояния регистров шифратора и дешифратора выходят на режим совпадения, после чего устанавливается нормальная работа кодека, когда yi = xi.
Однако различных схем обратных связей регистра сдвига не так много. Поэтому, перехватив шифрограмму Ci на линии связи, можно вскрыть конфигурацию скремблера.
![]() |
Количество различных ключей, которые можно записать в ПЗУ с p-разрядными адресами одноразрядных ячеек памяти, равно
M = 2 2p
Например, для p = 8 получим: длина ключа M = 2256 = 1.15*1077.
В разделе 2.3 доказано, что для скремблера/дескремблера с ключом на ПЗУ выполняется равенство yi = xi.
Докажем теперь, что выполняется также и свойство самосинхронизации. Возьмём возможный алгоритм функционирования модели нашей системы.
1 ввод N1
2 ввод N2
3 ввод x
4 K1 := f(N1)
5 K2 := f(N2)
6 C := x XOR K1
7 y := C XOR K2
8 печать x, N1, C, N2, y
9 N1 := сдвиг RG1
10 N2 := сдвиг RG2
11 GO TO 3
Система возбуждается тактовыми импульсами, генератор которых на передающей стороне и устройство выделения их из полученного сигнала на приёмной стороне на рисунке не показаны.
Система обладает свойством самосинхронизации, состоящем в том, что через некоторое количество тактов состояние регистров становится одинаковым:
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.
2) Если в начальных состояниях регистров нет совпадений для каждой подгруппы младших бит, то есть 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) содержимого обеих ПЗУ одинаковы.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.