Метод гаммирования с обратной связью

Шифрование данных с помощью датчика псевдослучайных чисел (псч)

Линейные конгруэнтные датчики ПСЧ

Чтобы получить линейные последовательности элементов гаммы, длина которых не превышает размер шифруемых данных, используют датчики ПСЧ. Одним из хороших конгруэнтных генераторов является линейный конгруэнтный датчик ПСЧ. Он вырабатывает последовательности псевдослучайных чисел T(i), описываемые со-

отношением T( i+1) = ( A * T( i ) + C ) mod M ,

где A и C - константы, T(0) - исходная величина, выбранная в качестве порождающего числа. Очевидно, что эти три величины и образуют ключ. Такой датчик ПСЧ генерирует псевдослучайные числа с определенным перио-

дом повторения, зависящим от выбранных значений A и C. Значение M обычно устанавливается равным 2b, где b -длина машинного слова в битах. Необходимо выбирать числа A и C так, чтобы период M был максимальным. Как показано Д.Кнуттом, линейный конгруэнтный датчик имеет максимальную длину M тогда, когда C нечетное и A mod 4 = 1.

В качестве примера использования линейного конгруэнтного датчика ПСЧ рассмотрим процесс шифрования исходного текста “абв”. Пусть b = 5, тогда в соответствии с номером алфавите: буква “а” имеет двоичный код 00001; буква “б” имеет двоичный код 00010; буква “в” имеет двоичный код 00011. Исходный

текст будет представлен в виде последовательности 00001 00010 00011. Для формирования гаммы шифра выберем параметры датчика ПСЧ: A=5; C=3;

T(0)=7; M=2b; b=5; M=25=32. Сформируем три псевдослучайных числа:

T(1) = (5*7+3) mod 32 = 6 (00110);

T(2) = (5*6+3) mod 32 = 1 (00001);

T(3) = (5*1+3) mod 32 = 8 (01000).

Полученная гамма шифра 00110 00001 01000. Зашифрованный текст получается путем наложения гаммы шифра на исходный текст (путем сложения по модулю 2):

00001 00010 00011

00110 00001 01000

_________________

00111 00011 01011

что соответствует шифрограмме “жвк” , “ж” (седьмая буква в алфавите) имеет код 00111, “в” (третья буква в алфавите) имеет код 00011, “к” (одиннадцатая буква в алфавите) имеет код 01011. Дешифрование производится путем наложения той же гаммы на зашифрованный текст:

00001 00010 00011

00110 00001 01000

_________________

00111 00011 01011

Метод гаммирования с обратной связью

Заключается в том, что для получения сегмента гаммы используется контрольная сумма определенного участка шифруемых данных. Например, если рассматривать гамму шифра как объединение непересекающихся множеств H(j), то процесс шифрования можно представить следующими шагами:

1. Генерация сегмента гаммы H(1) и наложение его на соответствующий участок шифруемых данных.

2. Подсчет контрольной суммы участка, соответствующего сегменту гаммы H(1).

3. Генерация с учетом контрольной суммы уже зашифрованного участка данных следующего сегмента гамм H(2).

4. Подсчет контрольной суммы участка данных, соответствующего сегменту данных H(2) и т.д. Под контрольной суммой понимают функцию f(t(1), ... t(n)), где t(i) - i-е слово шифруемых данных.

Зашифруем исходный текст “абв”, представленный в виде последовательности 00001 00010 00011.

Пусть A=5; C=3;b=5; M=32;T(0)=7. Тогда:

T(1)=(5*7+3) mod 32 = 6 (00110).

В качестве контрольной суммы участка данных, выберем количество единиц

на этом участке. Тогда сегменту H(1) соответствует участок 00001, количество единиц равно 1.

T(2)=(5*1+3) mod 32 = 8 (01000).

Контрольная сумма следующего участка (00010) равна 1.

T(3)=(5*1+3) mod 32 = 8 (01000).

Полученная шифрограмма: 00001 00010 00011

00110 00001 01000

________________

00111 00011 01011

что соответствует тексту “еик”.

2.3. Задание на лабораторную работу:

1.Выбрать в таблице параметры генератора псевдослучайных чисел: A, C, T(0),b.

2.Разработать программу шифрования и дешифрования текста.

3.Произвести шифрование исходного текста, получить шифрограмму, осуществить ее дешифрование и сравнение

с исходным текстом.

4.Произвести изменение одного или несколько параметров генератора случайных чисел , осуществить

получение шифрограммы и сравнение ее с предыдущим вариантом.

5.Результаты работы оформить в виде отчета.

6.Содержание отчета:

описание используемого метода,

описание исходных данных,

алгоритм работы программы,

текст программы,

результаты работы программы,

анализ результатов

выводы.

2.4.Варианты индивидуальных заданий

Таблица 2.1 – Генераторы ПСЧ

№ варианта   Вид генератора ПСЧ   Количество разрядов b  
Линейные конгруэнтные датчики ПСЧ  
Гаммирование с обратной связью
Линейные конруэнтные датчики ПСЧ
Гаммирование с обратной связью
Линейные конруэнтные датчики ПСЧ
Гаммирование с обратной связью
Линейные конруэнтные датчики ПСЧ
Гаммирование с обратной связью  

Наши рекомендации