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

  • docx
  • 13.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Система скремблер дескремблер со сменным секретным ключом.docx

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

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

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

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



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

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

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

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

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


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

Количество различных ключей, которые можно записать в ПЗУ с 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) содержимого обеих ПЗУ одинаковы.