17.3. КСГПСЧ и потоковые шифры

task-section1task-number0

task-number1task-section.task-number. Привести следующие два элемента последовательности, сформированной линейным конгруэнтным методом, если предыдущие 3 элемента последовательности такие: 348, 65, 139, а все вычисления выполняются в поле $\mathbb{F}_{499}$.

Решение:

Ответ: 266, 194.

task-number1task-section.task-number. Приведите предыдущие 5 бит выхода генератора псевдослучайной последовательности, основанного на регистре сдвига с линейной обратной связью, если известно, что характеристический полином регистра – $m\left(x\right)=x^{5} + x^{3} + 1$ (см. рис.), а дальнейшая последовательность такова: $1, 1, 0, 1, 0, 1$.

tikzpicturescale=0.05 black,very thick (30,30) – (30,40) – (40,40) – (40,30) – (30,30) – (30,40); black,thick (35,40) – (35,50) – (35,50) – (37.5,50); black,very thick (40,30) – (40,40) – (50,40) – (50,30) – (40,30) – (40,40); black,very thick (50,30) – (50,40) – (60,40) – (60,30) – (50,30) – (50,40); black,thick (55,40) – (55,47.5); black,thick (53.5,46) – (55,47.5) – (56.5,46); black,thick (37.5,50) – (52.5,50); black,thick (51,51.5) – (52.5,50) – (51,48.5); (55,50) circle radius=2.5; black (52.5,50) – (57.5,50); black (55,47.5) – (55,52.5); black,very thick (60,30) – (60,40) – (70,40) – (70,30) – (60,30) – (60,40); black,very thick (70,30) – (70,40) – (80,40) – (80,30) – (70,30) – (70,40); black,thick (57.5,50) – (85,50) – (85,35) – (80,35); black,thick (82.5,36.5) – (80,35) – (82.5,33.5); black,thick (30,35) – (15,35); black,thick (20,30) – (15,35) – (20,40);

Решение.

Ответ: $0, 1, 1, 0, 1$.

task-number1task-section.task-number. Укажите характеристический полином и приведите следующие 5 бит выхода генератора псевдослучайной последовательности, основанного на регистре сдвига с линейной обратной связью, если известно, что степень характеристического полинома регистра – $m\left(x\right)$ – равна 5, а предыдущая последовательность такова: $0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1$. Порядок бит в последовательности соответствует порядку их генерации РСЛОС.

Решение.Каждый бит выходной последовательности есть функция 5 предыдущих выходных бит вида $b_0 = f\left( b_{5} \dots b_1 \right) $. В данных обозначениях $b_{5}$ является наиболее ранним битом, а $b_1$ – последним, который сгенерировал РСЛОС непосредственно перед генерацией бита $b_0$. Вид функции задаётся характеристическим многочленом, который и нужно найти.

$$\begin{array}{l} m \left( x \right) = x^{5} + a_{4} x^{4} + a_{3} x^{3} + a_{2} x^{2} + a_{1} x^{1} +1; \\ b_{5} \oplus a_{4} b_{4} \oplus a_{3} b_{3} \oplus a_{2} b_{2} \oplus a_{1} b_{1} = b_0. \\ \end{array}$$
$$\begin{array}{l} f\left(0,1,0,0,1\right) = 1, \\ f\left(1,0,0,1,1\right) = 0, \\ f\left(0,0,1,1,0\right) = 0, \\ f\left(0,1,1,0,0\right) = 0, \\ f\left(1,1,0,0,0\right) = 0, \\ f\left(1,0,0,0,0\right) = 1. \\ \end{array}$$

Это приводит к системе уравнений:

$$\left\{ {\begin{array}{*{20}c} f\left(0,1,0,0,1\right) = 0 \oplus \left( a_{4} \cdot 1\right) \oplus \left( a_{3} \cdot 0\right) \oplus \left( a_{2} \cdot 0\right) \oplus \left( a_{1} \cdot 1\right) = 1 \\ f\left(1,0,0,1,1\right) = 1 \oplus \left( a_{4} \cdot 0\right) \oplus \left( a_{3} \cdot 0\right) \oplus \left( a_{2} \cdot 1\right) \oplus \left( a_{1} \cdot 1\right) = 0 \\ f\left(0,0,1,1,0\right) = 0 \oplus \left( a_{4} \cdot 0\right) \oplus \left( a_{3} \cdot 1\right) \oplus \left( a_{2} \cdot 1\right) \oplus \left( a_{1} \cdot 0\right) = 0 \\ f\left(0,1,1,0,0\right) = 0 \oplus \left( a_{4} \cdot 1\right) \oplus \left( a_{3} \cdot 1\right) \oplus \left( a_{2} \cdot 0\right) \oplus \left( a_{1} \cdot 0\right) = 0 \\ f\left(1,1,0,0,0\right) = 1 \oplus \left( a_{4} \cdot 1\right) \oplus \left( a_{3} \cdot 0\right) \oplus \left( a_{2} \cdot 0\right) \oplus \left( a_{1} \cdot 0\right) = 0 \\ f\left(1,0,0,0,0\right) = 1 \oplus \left( a_{4} \cdot 0\right) \oplus \left( a_{3} \cdot 0\right) \oplus \left( a_{2} \cdot 0\right) \oplus \left( a_{1} \cdot 0\right) = 1 \\ \end{array} } \right.$$
$$\left\{ {\begin{array}{*{20}l} a_{4} \oplus a_{1} = 1 \\ a_{2} \oplus a_{1} = 1 \\ a_{3} \oplus a_{2} = 0 \\ a_{4} \oplus a_{3} = 0 \\ a_{4} = 1 \\ \end{array} } \right.$$

Найденные из системы уравнения коэффициенты:

$$\left(a_{4}, a_{3}, a_{2}, a_{1}\right) = \left(1 , 1 , 1 , 0\right).$$

Характеристический полином регистра:

$$\begin{array}{l} m \left( x \right) = x^{5}+ a_{4} x^{4}+ a_{3} x^{3}+ a_{2} x^{2}+ a_{1} x^{1} + 1; \\ m = x^{5} + x^{4} + x^{3} + x^{2} + 1. \\ \end{array}$$

Схема РСЛОС приведена на рисунке.

tikzpicturescale=0.05 black,very thick (30,30) – (30,40) – (40,40) – (40,30) – (30,30) – (30,40); black,thick (35,40) – (35,50) – (35,50) – (37.5,50); black,very thick (40,30) – (40,40) – (50,40) – (50,30) – (40,30) – (40,40); black,thick (45,40) – (45,47.5); black,thick (43.5,46) – (45,47.5) – (46.5,46); black,thick (37.5,50) – (42.5,50); black,thick (41,51.5) – (42.5,50) – (41,48.5); (45,50) circle radius=2.5; black (42.5,50) – (47.5,50); black (45,47.5) – (45,52.5); black,very thick (50,30) – (50,40) – (60,40) – (60,30) – (50,30) – (50,40); black,thick (55,40) – (55,47.5); black,thick (53.5,46) – (55,47.5) – (56.5,46); black,thick (47.5,50) – (52.5,50); black,thick (51,51.5) – (52.5,50) – (51,48.5); (55,50) circle radius=2.5; black (52.5,50) – (57.5,50); black (55,47.5) – (55,52.5); black,very thick (60,30) – (60,40) – (70,40) – (70,30) – (60,30) – (60,40); black,thick (65,40) – (65,47.5); black,thick (63.5,46) – (65,47.5) – (66.5,46); black,thick (57.5,50) – (62.5,50); black,thick (61,51.5) – (62.5,50) – (61,48.5); (65,50) circle radius=2.5; black (62.5,50) – (67.5,50); black (65,47.5) – (65,52.5); black,very thick (70,30) – (70,40) – (80,40) – (80,30) – (70,30) – (70,40); black,thick (67.5,50) – (85,50) – (85,35) – (80,35); black,thick (82.5,36.5) – (80,35) – (82.5,33.5); black,thick (30,35) – (15,35); black,thick (20,30) – (15,35) – (20,40);

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

Следующие итерации, дающие нужный ответ:

Итого ответ на вторую часть задачи: $0, 1, 1, 0, 1$.

Краткое оформление второй части задачи можно увидеть в таблице [table:task-lfsr-2-short-solution]. Таблица заполняется сверху вниз. Столбцы таблицы связаны формулой $b_{5} \oplus b_{4} \oplus b_{3} \oplus b_{2} = b_0 $. В первой строке записаны первые 5 бит полученной последовательности. Выполняя последовательно операции над регистром, мы получим все следующие биты. Начать заполнение таблицы можно со строчки $\overrightarrow s_{6}$ (то есть с последних 5 бит, данных в условии задачи), строки выше приведены для возможности (само)контроля студента. Ответом являются последние 5 бит в первом столбце.

 $b_{5}$$b_{4}$$b_{3}$$b_{2}$$b_{1}$$b_0$
$\overrightarrow {s_{0}}$0010011
$\overrightarrow {s_{1}}$1100110
$\overrightarrow {s_{2}}$0001100
$\overrightarrow {s_{3}}$0011000
$\overrightarrow {s_{4}}$1110000
$\overrightarrow {s_{5}}$1100001
$\overrightarrow {s_{6}}$0000010
$\overrightarrow {s_{7}}$0000101
$\overrightarrow {s_{8}}$0001011
$\overrightarrow {s_{9}}$0010110
$\overrightarrow {s_{10}}$1101101
$\overrightarrow {s_{11}}$0011010
$\overrightarrow {s_{12}}$1110101
$\overrightarrow {s_{13}}$1101010
$\overrightarrow {s_{14}}$0010100
$\overrightarrow {s_{15}}$1101000
Таблица 17.2 — Краткое оформление решения второй части задачи №task-section.task-number в виде таблицы

Ответ: полином $m \left( x \right) = x^{5} + x^{4} + x^{3} + x^{2} + 1$; дальнейшая последовательность: $0, 1, 1, 0, 1$.