Реализация генератора гаммы на регистрах сдвига.docx

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

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

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

Иконка файла материала Реализация генератора гаммы на регистрах сдвига.docx

Реализация генератора гаммы на регистрах сдвига

Общая идея:

 

 


 

C0 = 1

С


Ci = {0, 1}

 

 

 

Рис. 1


 

 

 

элемент (звено) задержки информации в регистре сдвига на один такт (тактовый генератор не показан)

 

 

 


 

C

q         


 

выход = q×C – элемент умножения


 

 

 


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

Например, для полинома 3-го порядка qi = qi-1 + qi-3

 

 

 

 

 

 

 

3

qi    Рис. 3

 

Более криптостойка нелинейная схема с дополнительным ЛП.


 

 

 

Рис. 4

 

 

Y

 

 

X

 

Комбинированные генераторы ПСП бит на регистрах сдвига с обратной связью.

1)      Схема Джеффа

1AND

Рег. сдвига с лин. обр. связью                          Х

 


 

 

 

 

2)      Схема Брюса



AND


XOR


 

Рис. 5


 

Рег. сдвига с лин. обр. связью

1

 

 


 

 

порогSРис. 6

 

fарифметический сумматор Генератор ПСП бит с внутренней нелинейной логикой

ПСП


1, порог

0, S<порог


 

 

nn–1Рис. 7

 

Генератор ПСП бит с внешней нелинейной логикой


 

ПСП

 

 

Рис. 8

 

 

 

 

 

ПСП максимальной длины для регистров сдвига с m звеньями

 

длина регистра

m

номера отводов для одного логического элемента XOR

длина ПСП

2m – 1

3

3,2

7

4

4,3

15

5

5,3

31

6

6,5

63

7

7,6

127

9

9,5

511

10

10,7

1023

11

11,9

2047

20

20,17

1 048 575

24

23,22,17

16 771 215

39

39,35

549 755 813 887

 

При m = 100 максимальная длина гамм равна 2100 – 1. Для передачи её со скоростью

1 Мбайт/с период повторится лишь через ~ 1016 лет.

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

[Диффи У., Хеллман М. Защищённость и имитостойкость. Введение в криптографию//ТИНЭР – 1979, т. 67, №3, стр. 71-104]

Распределение отводов можно определить, так как:

+1   = (  × )mod 2 ,                  (6)

где Si – вектор-столбец из m символов состояния регистра в i-й момент; А – матрица m*m положений отводов,

1-ая строка – последовательность отводов, непосредственно под главной диагональю располагаются единицы, а в остальных позициях нули.

Например, для трехразрядного регистра (Рис. 3)


21C3  011

A010  001

100  100

Зная 2m бит гаммы, можно за m3 итераций обратить формулу (6) и найти отводы.