Помощь в написании студенческих работ
Антистрессовый сервис

Лабораторный практикум. 
Криптографические методы защиты информации

РефератПомощь в написанииУзнать стоимостьмоей работы

С помощью BBS-генератора получена псевдослучайная последовательность, которая затем наложена на открытый текст. Известно, что использована аффективная реализация BBS-генератора, т. е. при формировании псевдослучайной последовательности используется максимально возможное число младших битов чисел Хр не нарушающее стойкости последовательности. Известны числа Блюма п = 243 793 и случайное число s… Читать ещё >

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

Лабораторная работа 2.1 Генерация псевдослучайных чисел

Задание

Изучить процедуру генерации случайных чисел методом Блюм — Блюма — Шуба.

Технология выполнения задания

Задание 1. Сгенерировать 8-битовую псевдослучайную последовательность.

1. Выбрать значения параметров BBS-генератора р, q и случайное число s из табл. 2.26 согласно номеру варианта (от 1 до 5). Сформировать псевдослучайную последовательность аналогично рассмотренному ниже примеру.

Таблица 2.26

Варианты задания.

Номер варианта.

Р

q

S

98 907.

20 302.

14 930.

166 646.

Пример 2.13.

Заданы параметры BBS-генератора р = 407, q = 599, выбрано случайное число s = 3612. Сформировать псевдослучайную 8-битовую последовательность, используя один младший бит чисел «г., формируемых BBS-генератором.

2. В приложении MS Excel создать новую книгу, на первом листе ввести значения р, q, вычислить число Блюма п как их произведение, например =В1*В2 (рис. 2.66). Ниже ввести значение случайного числа х.

Вычисление последовательности x BBS-генератора.

Рис. 2.66. Вычисление последовательности xt BBS-генератора.

  • 3. Рассчитать элементы ряда х'.
  • • пронумеровать ячейки первого столбца от 0 до 7;
  • • в первую ячейку второго столбца ввести формулу для вычисления х0 по формуле х0 = s'2 mod и, например =ОСТАТ (В4Л2;$В$ 3) (см. рис. 2.66);
  • • скопировать формулу на весь ряд.
  • 4. Вычислить младшие биты чисел хг Значение младшего бита определяется остатком от деления числа на 2, поэтому для вычисления можно использовать функцию ОСТАТ (рис. 2.67), например =ОСТАТ (В5;2) для числа х0. Скопировать формулу на все ячейки диапазона.

Вычисление значений младших битов.

Рис. 2.67. Вычисление значений младших битов.

5. Сформировать результирующую битовую псевдослучайную последовательность с помощью операции &, например =С5&С6&С7&С8&С9&С10& С11&С12, или функции СЦЕПИТЬ из группы Текстовые, например =СЦЕПИТЬ (С5;С6;С7;С8;С9;С10;С11;С12). Значение результирующей последовательности: 11 101 111 (см. рис. 2.67).

Задание 2. Расшифровать криптограмму, полученную наложением на шифруемый текст псевдослучайной последовательности, сформированной эффективной реализацией BBS-генератора.

6. Выбрать из табл. 2.27 согласно номеру варианта (от 1 до 5) значения числа Блюма п, секретного ключа — случайного числа s и шифротекста, представленного последовательностью ASCII-кодов символов. Провести расшифрование (получить открытый текст) аналогично рассмотренному ниже примеру.

Таблица 2.27

Варианты задания.

Номер варианта.

п

S

Криптограмма Y

309 889.

281 812.

69, 47, 119,91.

28 841.

2,133,58.

62, 89, 4.

30 353.

17 849.

214, 190, 100.

217 913.

151, 195, 144, 53.

Пример 2.13.

С помощью BBS-генератора получена псевдослучайная последовательность, которая затем наложена на открытый текст. Известно, что использована аффективная реализация BBS-генератора, т. е. при формировании псевдослучайной последовательности используется максимально возможное число младших битов чисел Хр не нарушающее стойкости последовательности. Известны числа Блюма п = 243 793 и случайное число s = 48 914, использованные для генерации. Требуется расшифровать текст, заданный последовательностью ASCII-кодов: 16, 182,219, 83.

7. Занести значения п и s на лист MS Excel, ниже в столбец занести значения ASCII-кодов, составляющих криптограмму (рис. 2.68). Перевести десятичные значения ASCII-кодов в двоичный вид, используя функцию ДЕС.В.ДВ из группы Инженерные. Поскольку символы в таблице ASCII кодируются одним байтом (восемью битами), указать разрядность 8. Например, =ДЕС.В.ДВ (А4;8).

Перевод десятичных кодов в двоичный вид.

Рис. 2.68. Перевод десятичных кодов в двоичный вид.

  • 8. Ниже с помощью операции & или функции СЦЕПИТЬ (например, =СЦЕПИТЬ (В4;В5;В6;В7)) сформировать соответствующую шифротексту битовую последовательность (см. рис. 2.68).
  • 9. Определить максимально допустимое для использования в BBS-генераторе число младших битов (рис. 2.69):
    • • определить минимальное число битов, необходимое для кодирования п. Рядом со значением п вычислить двоичный логарифм значения п + 1. Для этого следует использовать функцию LOG, задав значение второго параметра равным двум, например =LOG (Bl+l;2). Получено значение 17,8953;
    • • округлить полученное значение вверх до целого, для чего следует использовать функцию ОКРУГЛВВЕРХ, задав число десятичных разрядов равным нулю, например =ОКРУГЛВВЕРХ (С1;0). Получено значение 18;
Расчет максимально допустимого числа младших битов таким образом, для кодирования числа п = 243 793 требуется не менее 18 двоичных разрядов.

Рис. 2.69. Расчет максимально допустимого числа младших битов таким образом, для кодирования числа п = 243 793 требуется не менее 18 двоичных разрядов.

Замечание: округление вверх можно произвести также с помощью функций ОКРВВЕРХ или ОКРВВЕРХ. ТОЧН, в этом случае значение второго параметра (точность) следует установить равным единице;

  • • взять двоичный логарифм от полученного значения, например =LOG (Dl;2). Получено значение 4,1699;
  • • округлить полученное значение вниз с помощью функции О КРУГЛ ВНИЗ, задав число десятичных разрядов равным нулю, например =ОКРУГЛВНИЗ (Е1;0). Получено значение «4», таким образом, в BBS-генераторе допустимо использовать не более четырех младших битов.

Замечание: округление вниз можно также произвести с помощью функций ОКРВНИЗ или ОКРВНИЗ. ТОЧН, в этом случае значение второго параметра (точность) следует установить равным единице.

  • 10. С помощью BBS-генератора сформировать псевдослучайную последовательность, которая была использована при шифровании. Это возможно, поскольку секретный параметр s известен:
    • • определить число членов ряда Х-, необходимых для формирования псевдослучайной последовательности достаточной для шифрования/рас — шифрования длины. Для этого число ASCII-кодов, задающих шифротскст, следует умножить на 8 и разделить на полученное максимально допустимое число младших битов. Для рассматриваемого примера получаем: 4 • 8/4 = 8, т. е. требуется сформировать восемь чисел ряда х;у
    • • пронумеровать ячейки первого столбца от 0 до 7 (ниже сформированного шифротекста в двоичном виде). Во втором столбце ввести формулу для вычисления членов х0 и х{ с помощью функции ОСТАТ, например =ОСТАТ (В2А2;$В$ 1) и =ОСТАТ (ВЮА2;$В$ 1) соответственно. Скопировать формулу для х{ на остальные ячейки диапазона значений хх (рис. 2.70);
    • • в третьем столбце сформировать значения четырех младших разрядов. Получить значения т младших разрядов числа в десятичном виде можно, взяв остаток от деления на 2т. Это можно сделать с помощью функции ОСТАТ, например =ОСТАТ (ВЮ;16) для ps0 (см. рис. 2.70).

Замечание: если максимально допустимое число младших битов равно трем, следует проводить деление по модулю 8 (значение второго параметр функции ОСТАТ следует задать равным восьми);

Формирование псевдослучайной последовательности эффективного.

Рис. 2.70. Формирование псевдослучайной последовательности эффективного.

BBS-генератора.

  • • скопировать формулу на остальные ячейки диапазона ps. В силу особенностей функций MS Excel, которые будут применены в дальнейших расчетах, переводить полученные десятичные значения в двоичный вид не имеет смысла.
  • 11. Сформировать фрагменты шифротекста, которые будут расшифрованы полученной псевдослучайной последовательностью. Длина / формируемых фрагментов Yt должна совпадать с длиной фрагментов последовательности ps (в рассматриваемом примере / = 4 бита):
    • • рядом с членами последовательности ps сформировать 4-битовые фрагменты Yj с помощью функции ПСТР группы Текстовые. Функция ПСТР позволяет выделять из строки заданное количество символов, начиная с определенной позиции, символы строки нумеруются слева направо, начиная с единицы. В качестве начальной позиции следует задать значение г • / + 1, число выделяемых символов равно /, например =ПСТР ($В$ 8;А10*4+1;4) для У0 (рис. 2.71);
    • • перевести полученные значения Y{ в десятичный вид, используя функцию ДВ.В.ДЕС группы Инженерные, например =ДВ.В.ДЕС (Е10). Скопировать формулу на весь диапазон (см. рис. 2.71).[1][2]
Формирование фрагментов шифротекста.

Рис. 2.71. Формирование фрагментов шифротекста.

Формирование фрагментов открытого текста.

Рис. 2.72. Формирование фрагментов открытого текста.

воспользоваться функцией ПСТР, задав значение начальной позиции равной i • 8 + 1, количество символов — равным восьми, 0 < i < 3 для рассматриваемого примера (если изначально шифротекст содержал три символа, то 0 < i < 2), например =ПСТР ($Н$ 18;А10*8+1;8) для фрагмента с номером «О» (рис. 2.73);

  • • перевести полученные фрагменты в десятичный вид с помощью функции ДВ.В.ДЕС, например =ДВ.В.ДЕС (И0);
  • • полученные десятичные значения ASCII-кодов перевести в символьный вид с помощью функции СИМВОЛ группы Текстовые, например =CHMB (XJI (J10). Критерием правильности расшифрования является получение осмысленного текста. Для рассматриваемого примера получено слово «коза» (см. рис. 2.73).
Получение открытого текста.

Рис. 2.73. Получение открытого текста

  • [1] Расшифровать фрагменты Y;. • наложить на Yi фрагменты последовательности psi с помощью операции побитового XOR. В среде MS Excel 2013 это можно сделать с помощьюфункции БИТ. ИСКЛИЛИ группы Инженерные, операнды которой должны быть целыми числами, например =БИТ.ИСКЛИЛИ (С10;Е10) для вычисления значения Х0 (рис. 2.72). Примечание: в версиях MS Excel ниже 2013 функция БИТ. ИСКЛИЛИ не определена. В этом случае следует воспользоваться стандартным Windows-приложением Калькулятор, вид Инженерный, режим вычислений Dec, функция XOR; • перевести полученные фрагменты открытого текста X, в двоичный видс помощью функции ДЕС.В.ДВ, задав разрядность, равной четырем, например =ДЕС.В.ДВ (С10;4) для значения Х0 (см. рис. 2.72); • сформировать общую двоичную последовательность открытого текстас помощью операции & или функции СЦЕПИТЬ (см. рис. 2.72).
  • [2] Получить символы открытого текста: • выделить из общей двоичной последовательности открытого текста8-битовые фрагменты, задающие ASCII-коды символов. Для этого следует
Показать весь текст
Заполнить форму текущей работой