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

  • Криптоанализ

  • Шифры простой замены Система шифрования Цезаря

  • Шифры сложной замены Шифр Гронсфельда

  • Асимметричные криптосистемы Схема шифрования Эль Гамаля

  • Криптосистема шифрования данных RSA

  • ( e

  • ( d

  • Номер варианта Исходные данные Часть 1

  • Методические указания к выполнению практических работ по дисциплине "Информационная безопасность" Карпенко Г. С. СанктПетербург


    Скачать 0.67 Mb.
    НазваниеМетодические указания к выполнению практических работ по дисциплине "Информационная безопасность" Карпенко Г. С. СанктПетербург
    Дата05.01.2022
    Размер0.67 Mb.
    Формат файлаdoc
    Имя файлаmu_ib (1).doc
    ТипМетодические указания
    #324659
    страница6 из 10
    1   2   3   4   5   6   7   8   9   10

    Практическая работа № 5

    «Программная реализация криптографических алгоритмов»




    1. Цель работы

    Знакомство с основными методами криптографической зашиты информации.
    2. Краткие теоретические сведения
    Криптография – обеспечивает сокрытие смысла сообщения с помощью шифрования и открытия его расшифровкой, которые выполняются по специальным алгоритмам с помощью ключей.

    Ключ – конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования данных, обеспечивающее выбор только одного варианта из всех возможных для данного алгоритма.

    Криптоанализ – занимается вскрытием шифра без знания ключа (проверка устойчивости шифра).

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

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

    Большинство средств защиты информации базируется на использовании криптографических шифров и процедур шифрования-расшифровки. В соответствии со стандартом ГОСТ 28147-89 под шифром понимают совокупность обратимых преобразований множества открытых данных на множество зашифрованных данных, задаваемых ключом и алгоритмом преобразования.

    В криптографии используются следующие основные алгоритмы шифрования:

    • алгоритм замены (подстановки) – символы шифруемого текста заменяются символами того же или другого алфавита в соответствии с заранее обусловленной схемой замены;

    • алгоритм перестановки – символы шифруемого текста переставляются по определенному правилу в пределах некоторого блока этого текста;

    • гаммирование – символы шифруемого текста складываются с символами некоторой случайной последовательности;

    • аналитическое преобразование – преобразование шифруемого текста по некоторому аналитическому правилу (формуле).

    Процессы шифрования и расшифровки осуществляются в рамках некоторой криптосистемы. Для симметричной криптосистемы характерно применение одного и того же ключа как при шифровании, так и при расшифровке сообщений. В асимметричных криптосистемах для шифрования данных используется один (общедоступный) ключ, а для расшифровки – другой (секретный) ключ.
    Симметричные криптосистемы

    Шифры перестановки

    В шифрах средних веков часто использовались таблицы, с помощью которых выполнялись простые процедуры шифрования, основанные на перестановке букв в сообщении. Ключом в данном случае является размеры таблицы. Например, сообщение “Неясное становится еще более непонятным” записывается в таблицу из 5 строк и 7 столбцов по столбцам:

    Н

    О

    Н

    С

    Б

    Н

    Я

    Е

    Е

    О

    Я

    О

    Е

    Т

    Я

    С

    В

    Е

    Л

    П

    Н

    С

    Т

    И

    Щ

    Е

    О

    Ы

    Н

    А

    Т

    Е

    Е

    Н

    М


    Для получения шифрованного сообщения текст считывается по строкам и группируется по 5 букв:
    НОНСБ НЯЕЕО ЯОЕТЯ СВЕЛП НСТИЩ ЕОЫНА ТЕЕНМ
    Несколько большей стойкостью к раскрытию обладает метод одиночной перестановки по ключу. Он отличается от предыдущего тем, что столбцы таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы. Используя в качестве ключа слово «ЛУНАТИК», получим следующую таблицу:


    Л

    У

    Н

    А

    Т

    И

    К

     

     

    А

    И

    К

    Л

    Н

    Т

    У

    4

    7

    5

    1

    6

    2

    3

     

     

    1

    2

    3

    4

    5

    6

    7

    Н

    О

    Н

    С

    Б

    Н

    Я

     

     

    С

    Н

    Я

    Н

    Н

    Б

    О

    Е

    Е

    О

    Я

    О

    Е

    Т

     

     

    Я

    Е

    Т

    Е

    О

    О

    Е

    Я

    С

    В

    Е

    Л

    П

    Н

     

     

    Е

    П

    Н

    Я

    В

    Л

    С

    С

    Т

    И

    Щ

    Е

    О

    Ы

     

     

    Щ

    О

    Ы

    С

    И

    Е

    Т

    Н

    А

    Т

    Е

    Е

    Н

    М

     

     

    Е

    Н

    М

    Н

    Т

    Е

    А

    До перестановки После перестановки
    В верхней строке левой таблицы записан ключ, а номера под буквами ключа определены в соответствии с естественным порядком соответствующих букв ключа в алфавите. Если в ключе встретились бы одинаковые буквы, они бы нумеровались слева направо. Получается шифровка:
    СНЯНН БОЯЕТ ЕООЕЕ ПНЯВЛ СЩОЫС ИЕТЕН МНТЕА
    Для обеспечения дополнительной скрытности можно повторно шифровать сообщение, которое уже было зашифровано. Для этого размер второй таблицы подбирают так, чтобы длины ее строк и столбцов отличались от длин строк и столбцов первой таблицы. Лучше всего, если они будут взаимно простыми.

    Кроме алгоритмов одиночных перестановок применяются алгоритмы двойных перестановок. Сначала в таблицу записывается текст сообщения, а потом поочередно переставляются столбцы, а затем строки. При расшифровке перестановки проводятся в обратном порядке. Например, сообщение “Приезжаю_шестого” можно зашифровать следующим образом:





    2

    4

    1

    3

     

     

    1

    2

    3

    4

     

     

    1

    2

    3

    4

    4

    П

    Р

    И

    Е

     

    4

    И

    П

    Е

    Р

     

    1

    А

    З

    Ю

    Ж

    1

    З

    Ж

    А

    Ю

     

    1

    А

    3

    Ю

    Ж

     

    2

    Е

    _

    С

    Ш

    2

    _

    Ш

    Е

    С

     

    2

    Е.

    _

    С

    Ш

     

    3

    Г

    Т

    О

    О

    3

    Т

    О

    Г

    О

     

    3

    Г

    Т

    О

    О

     

    4

    И

    П

    Е

    Р

    Двойная перестановка столбцов и строк
    В результате перестановки получена шифровка АЗЮЖЕ_СШГТООИПЕР. Ключом к шифру служат номера столбцов 2413 и номера строк 4123 исходной таблицы.

    Число вариантов двойной перестановки достаточно быстро возрастает с увеличением размера таблицы: для таблицы 3 х 3 их 36, для 4 х 4 их 576, а для 5*5 их 14400.

    В средние века для шифрования применялись и магические квадраты. Магическими квадратами называются квадратные таблицы с вписанными в их клетки последовательными натуральными числами, начиная с единицы, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число. Для шифрования необходимо вписать исходный текст по приведенной в квадрате нумерации и затем переписать содержимое таблицы по строкам. В результате получается шифротекст, сформированный благодаря перестановке букв исходного сообщения.


    16

    3

    2

    13

     

     

    О

    И

    Р

    Т

    5

    10

    11

    8

     

     

    З

    Ш

    Е

    Ю

    9

    6

    7

    12

     

     

    _

    Ж

    А

    С

    4

    15

    14

    1

     

     

    Е

    Г

    О

    П




    П

    Р

    И

    Е

    З

    Ж

    А

    Ю

    _

    Ш

    Е

    С

    Т

    О

    Г

    О

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16


    Число магических квадратов очень резко возрастает с увеличением размера его сторон: для таблицы 3*3 таких квадратов -1; для таблицы 4*4 - 880; а для таблицы 5*5-250000.
    Шифры простой замены

    Система шифрования Цезаря - частный случай шифра простой замены. Метод основан на замене каждой буквы сообщения на другую букву того же алфавита, путем смещения от исходной буквы на K букв.

    Известная фраза Юлия Цезаря VENI VINI VICI – пришел, увидел, победил, зашифрованная с помощью данного метода, преобразуется в SBKF SFAF SFZF (при смещении на 4 символа).

    Греческим писателем Полибием за 100 лет до н.э. был изобретен так называемый полибианский квадрат размером 5*5, заполненный алфавитом в случайном порядке. Греческий алфавит имеет 24 буквы, а 25-м символом является пробел. Для шифрования на квадрате находили букву текста и записывали в шифротекст букву, расположенную ниже ее в том же столбце. Если буква оказывалась в нижней строке таблицы, то брали верхнюю букву из того же столбца.
    Шифры сложной замены

    Шифр Гронсфельда состоит в модификации шифра Цезаря числовым ключом. Для этого под буквами сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифротекст получают примерно также, как в шифре Цезаря, но отсчитывают не третью букву по алфавиту (как в шифре Цезаря), а ту, которая смещена по алфавиту на соответствующую цифру ключа.

    Пусть в качестве ключа используется группа из трех цифр – 314, тогда

    Сообщение: СОВЕРШЕННО СЕКРЕТНО

    Ключ: 3143143143143143143

    Шифровка: ФПИСЬИОССАХИЛФИУСС

    В шифрах многоалфавитной замены для шифрования каждого символа исходного сообщения применяется свой шифр простой замены (свой алфавит):


     

    АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_

    А

    АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_

    Б

    _АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ

    В

    Я_АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮ

    Г

    ЮЯ_АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭ

    .

    …………

    Я

    ВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_АБ

    _

    БВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЪЫЬЭЮЯ_А


    Каждая строка в этой таблице соответствует одному шифру замены аналогично шифру Цезаря для алфавита, дополненного пробелом. При шифровании сообщения его выписывают в строку, а под ним ключ. Если ключ оказался короче сообщения, то его циклически повторяют. Шифротекст получают, находя символ в колонке таблицы по букве текста и строке, соответствующей букве ключа. Например, используя ключ АГАВА, из сообщения ПРИЕЗЖАЮ ШЕСТОГО получаем следующую шифровку:


    Сообщение

    ПРИЕЗЖАЮ_ШЕСТОГО

    Ключ

    АГАВААГАВААГАВАА

    Шифровка

    ПНИГЗЖЮЮЮАЕОТМГО


    Гаммирование

    Процесс шифрования заключается в генерации гаммы шифра и наложении этой гаммы на исходный открытый текст. Перед шифрованием открытые данные разбиваются на блоки Т(0)i одинаковой длины (по 64 бита). Гамма шифра вырабатывается в виде последовательности блоков Г(ш)i аналогичной длины (Т(ш)i=Г(ш)i+Т(0)i, где + - побитовое сложение, i =1-m).

    Процесс расшифровки сводится к повторной генерации шифра текста и наложение этой гаммы на зашифрованные данные T(0)i=Г(ш)i+Т(ш)i.
    Асимметричные криптосистемы
    Схема шифрования Эль Гамаля

    Алгоритм шифрования Эль Гамаля основан на применении больших чисел для генерации открытого и закрытого ключа, криптостойкость же обусловлена сложностью вычисления дискретных логарифмов.

    Последовательность действий пользователя:

    1. Получатель сообщения выбирает два больших числа P и G, причем P > G.

    2. Получатель выбирает секретный ключ - случайное целое число X < P.

    3. Вычисляется открытый ключ Y= G x mod P.

    4. Получатель выбирает целое число K, 1< K< P-1.

    5. Шифрование сообщения (M): a= GK mod P, b=Y K M mod P, где пара чисел (a,b) является шифротекстом.


    Криптосистема шифрования данных RSA

    Предложена в 1978 году авторами Rivest, Shamir и Aldeman и основана на трудности разложения больших целых чисел на простые сомножители.
    Алгоритм создания открытого и секретного ключей:

    1. Получатель выбирает 2 больших простых целых числа p и q, на основе которых вычисляет n=p*q и функцию Эйлера φ(n)=(p-1)(q-1).

    1. Получатель выбирает целое число е (1<e< φ(n)), взаимно простое со значением функции φ(n). 

    Пара чисел (e,n) публикуется в качестве открытого ключа.

    1. Получатель вычисляет целое число d, которое отвечает условию: e*d=1(mod φ(n) ).

    Пара чисел (d,n) является секретным ключом.

    Шифрование сообщения с использованием открытого ключа:

    Если m – сообщение (сообщениями являются целые числа в интервале от 0 до n-1), то зашифровать это сообщение можно как c=mе mod(n).

    Дешифрование сообщения с использованием секретного ключа:

    Получатель расшифровывает, полученное сообщение с: m=cd mod (n).
    3. Задание

    Практическая работа состоит из двух частей:

    Часть 1 – применение одного из алгоритмов симметричного шифрования;

    Часть 2 – шифрование с использованием алгоритма RSA.

    Порядок выполнения работы:

    Часть 1:

      1. Используя один из алгоритмов симметричного шифрования (см. вариант), зашифровать свои данные: фамилию, имя, отчество.

      1. Выполнить проверку, расшифровав полученное сообщение.

    Часть 2:

      1. Написать программу, реализующую алгоритм шифрования и дешифрования сообщения RSA. Входные данные: открытый и секретный ключи (значения n, e, d) и сообщение (m).

      2. Используя заданные значения p, q, e, d (см. вариант) зашифровать и дешифровать сообщения m1, m2, m3 (см. вариант).



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



      1. Титульный лист

      2. Содержание

      3. Задание

      4. Применение алгоритма симметричного шифрования

      5. Применение алгоритма асимметричного шифрования

    4.1. Программа шифрования и дешифрования сообщения при помощи алгоритма RSA

    4.2. Результаты шифрования и дешифрования заданных сообщений

      1. Выводы

    1. Варианты

    Вариант – номер по списку в журнале.

    Номер

    варианта

    Исходные данные

    Часть 1

    Часть 2

    Алгоритм шифрования

    p

    q

    е

    d

    m1

    m2

    m3

    1

    Простая перестановка

    3

    11

    7

    3

    9

    12

    23

    3

    Одиночная перестановка

    17

    11

    7

    23

    8

    15

    45

    3

    Двойная перестановка

    13

    7

    5

    29

    3

    16

    55

    4

    Магический квадрат

    101

    113

    3533

    6597

    6

    19

    23

    5

    Шифр Цезаря

    7

    11

    37

    13

    8

    18

    51

    6

    Полибианский квадрат

    7

    17

    5

    77

    9

    11

    86

    7

    Шифр Гронсфельда

    3

    11

    7

    3

    8

    13

    25

    8

    Многоалфавитная замена

    17

    11

    7

    23

    7

    14

    47

    9

    Простая перестановка

    13

    7

    5

    29

    2

    17

    55

    10

    Одиночная перестановка

    17

    11

    7

    23

    3

    20

    51

    11

    Двойная перестановка

    13

    7

    5

    29

    2

    12

    15

    12

    Магический квадрат

    101

    113

    3533

    6597

    3

    15

    86

    13

    Шифр Цезаря

    7

    11

    37

    13

    3

    16

    54

    14

    Полибианский квадрат

    7

    17

    5

    77

    3

    19

    36

    15

    Шифр Гронсфельда

    3

    11

    7

    3

    4

    18

    25

    16

    Многоалфавитная замена

    17

    11

    7

    23

    5

    11

    64

    17

    Простая перестановка

    101

    113

    3533

    6597

    4

    13

    91

    18

    Одиночная перестановка

    7

    11

    37

    13

    7

    14

    34

    19

    Двойная перестановка

    7

    17

    5

    77

    7

    17

    73

    20

    Магический квадрат

    3

    11

    7

    3

    5

    20

    23

    21

    Шифр Цезаря

    17

    11

    7

    23

    2

    11

    85

    22

    Полибианский квадрат

    13

    7

    5

    29

    3

    13

    57

    23

    Шифр Гронсфельда

    17

    11

    7

    23

    2

    14

    59

    24

    Многоалфавитная замена

    13

    7

    5

    29

    5

    17

    56

    25

    Простая перестановка

    101

    113

    3533

    6597

    6

    20

    92

    26

    Одиночная перестановка

    7

    11

    37

    13

    5

    14

    76

    27

    Двойная перестановка

    7

    17

    5

    77

    4

    17

    64

    28

    Магический квадрат

    3

    11

    7

    3

    8

    20

    32

    29

    Одиночная перестановка

    7

    17

    5

    77

    4

    13

    91

    30

    Шифр Гронсфельда

    13

    7

    5

    29

    9

    11

    58
    1   2   3   4   5   6   7   8   9   10


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