Главная страница
Навигация по странице:

  • Таб. 1. Параметры сдвига k.

  • Таб. 2. Функции примитивного многочлена.

  • Таб. 3. Размерность регистров.

  • Задание 2 (1). Задача Потоковые методы шифрования


    Скачать 69.5 Kb.
    НазваниеЗадача Потоковые методы шифрования
    Дата28.12.2022
    Размер69.5 Kb.
    Формат файлаdoc
    Имя файлаЗадание 2 (1).doc
    ТипЗадача
    #867540

    Введение

    0.1. Реализуйте алгоритм быстрого возведения в степень для вычисления выражения

    x = az mod n при целых положительных числах a, z и n. Алгоритм использовать из лекций!

    0.2. Реализуйте расширенный алгоритм Евклида для двух взаимно простых чисел. Результат выведите на экран.

    Разминка

    1. Методы простой подстановки.

    • Моноалфавитный шифр

    1.1 Реализуйте программное средство, осуществляющее шифрование и дешифрование текстового документа посредством моноалфавитного шифра со сдвигом k. Значение k используйте из таблицы 1.


    K

    3

    5

    7

    9

    2

    11

    Таб. 1. Параметры сдвига k.

    • Полиалфавитный шрифт

      1. Реализуйте программное средство, использующее метод Виженера для шифрования и дешифрования текстового документа. В качестве ключевого слова можно использовать слово произвольной длины от 5 до 10 символов.

    Задача

    1. Потоковые методы шифрования.

    2.1 Реализуйте алгоритм гаммирования шифрования и дешифрования простейшей потоковой криптосистемы, шифрующий короткое текстовое сообщение ключем длины, равной длине сообщения.

    2.2 Используя функцию примитивного многочлена из таблицы 2, реализуйте генератор ключей с линейной обратной связью. Начальное состояние сдвигового регистра определите установкой в его разряды единичных значений. Рассчитайте максимальный возможный период повторения генерируемой последовательности


    m

    P(x)

    m

    P(x)

    m

    P(x)

    23

    x23 x5 + 1

    29

    x29 + x2 + 1

    35

    x35 + x2 + 1

    24

    x24 + x4 + x3 + x + 1

    30

    x30 + x16 + x15 + + 1

    36

    x36 + x11 + 1

    25

    x25 + x3 + 1

    31

    x31 + x3 + 1

    37

    x37 + x12 + x10 + x2 + 1

    26

    x26 + x8 + x7 + x + 1

    32

    x32 + x28 + x27 + + 1

    38

    x38 + x6 + x5 + + 1

    27

    x27 + x8 + x7 + x + 1

    33

    x33 + x13 + 1

    39

    x39 + x4 + 1

    28

    x28 + x3 + 1

    34

    x34 + x15 + x14 + + 1

    40

    x40 + x21 + x19 + x2 + 1

    Таб. 2. Функции примитивного многочлена.

    2.3 Реализуйте генератор псевдослучайной последовательности методом Геффа с тремя сдвиговыми регистрами с линейной обратной связью и программное средство для поточного шифрования и дешифрования текста из файла. Выход данного генератора описывается уравнением вида , где - выходы регистров с линейной обратной связью. Вычислите период данного генератора согласно формуле где - длины трех генераторов ключей с линейной обратной связью. Размерность регистров необходимо взять из таблицы 3.

    2.4 Реализуйте программное средство для поточного шифрования текстового файла алгоритмом A5/2. В качестве примитивных многочленов трех регистров используйте значения из таблицы 3. Тактирующий регистр должен быть построен на основе образующего многочлена x17 x12 + 1.


    Степень

    многочлена

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

    1

    2

    3

    4

    5

    6

    7

    8

    LFSR1

    23

    24

    25

    26

    27

    28

    29

    30

    LFSR2

    31

    32

    33

    34

    35

    36

    37

    38

    LFSR3

    39

    40

    23

    24

    25

    26

    27

    28

    Таб. 3. Размерность регистров.

    Проблема

    1. Симметричные методы шифрования.

    3.1 Реализуйте алгоритм IDEA шифрования и дешифрования текста произвольной длины с режимом шифрования EBC. Для улучшения стойкости к анализу шифрованных данных блок данных для шифрования необходимо дополнить случайно сгенерированными 8 битами.

    3.2 Реализуйте алгоритм IDEA шифрования и дешифрования текста произвольной длины с режимом шифрования СBC. Вектор инициализации для осуществления шифрования и дешифрования текста задайте самостоятельно.

    3.3 Реализуйте алгоритм IDEA шифрования и дешифрования текста произвольной длины с режимом шифрования OFB. Вектор инициализации для осуществления шифрования и дешифрования текста задайте самостоятельно.

    3.4 Реализуйте алгоритм IDEA шифрования и дешифрования текста произвольной длины с режимом шифрования CFB. Вектор инициализации для осуществления шифрования и дешифрования текста задайте самостоятельно.

    3.5 Реализуйте алгоритм DES шифрования и дешифрования текста произвольной длины с режимом шифрования EBC. Для улучшения стойкости к анализу шифрованных данных блок данных для шифрования необходимо дополнить случайно сгенерированными 8 битами.

    3.6 Реализуйте алгоритм DES шифрования и дешифрования текста произвольной длины с режимом шифрования СBC. Вектор инициализации для осуществления шифрования и дешифрования текста задайте самостоятельно.

    3.7 Реализуйте алгоритм DES шифрования и дешифрования текста произвольной длины с режимом шифрования OFB. Вектор инициализации для осуществления шифрования и дешифрования текста задайте самостоятельно.

    3.8 Реализуйте алгоритм DES шифрования и дешифрования текста произвольной длины с режимом шифрования CFB. Вектор инициализации для осуществления шифрования и дешифрования текста задайте самостоятельно.

    4. Криптографические системы с открытным ключем.

    4.1. Реализуйте криптографическую систему, осуществляющую шифрование текста по алгоритму RSA. Параметры открытого ключа Ко, а также двух взаимно простых чисел выберите самостоятельно. При выборе ключа Ko можно использовать простые числа Ферма 3, 5, 17, 257, 65537, так и получить его самостоятельно.

    4.2. Разработайте программное средство, реализующее систему Диффи-Хелмана. В качестве параметра p используйте значение p=30803. Программа должна включать проверку на выбор параметра g. Секретные ключи необходимо сгенерировать случайно.

    4.3 Напишите программу, реализующую шифр Эль-Гамаля. Рекомендуемые значения р=30803. Остальные параметры сгенерируйте случайным образом. Программно осуществите проверку выбранных параметров.

    1. Функции хеширования.

    5.1 Реализуйте алгоритм построения хеш-образа текста произвольной длины по методу SHA-1.

    5.2 Реализуйте алгоритм построения хеш-образа текста произвольной длины по методу MD5.

    6. Цифровая подпись.

    6.1 Разработайте программное средство осуществляющее электронную цифровую подпись по алгоритму RSA.

    6.2 Разработайте программное средство осуществляющее цифровую подпись на основе шифра Эль-Гамаля.


    написать администратору сайта