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

  • Ключ шифрования

  • 1. Шифры замены. 2. Шифры перестановки. 3. Шифры гаммирования.

  • Шифрование методом Цезаря

  • Простая моноалфавитная замена

  • Шифрование методом Вернама

  • Метод простой перетановки

  • . Символы открытого текста внутри каждого из блоков переставляют в соответствие с символами ключа внутри блока справа налево.

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

  • Лекции ЗИ_Э. Самарский государственный архитектурностроительный университет


    Скачать 1.6 Mb.
    НазваниеСамарский государственный архитектурностроительный университет
    АнкорЛекции ЗИ_Э.doc
    Дата28.01.2017
    Размер1.6 Mb.
    Формат файлаdoc
    Имя файлаЛекции ЗИ_Э.doc
    ТипДокументы
    #870
    страница9 из 26
    1   ...   5   6   7   8   9   10   11   12   ...   26

    Методы и средства криптографической защиты




      1. 4.1. Принципы криптографической защиты информации



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

    Для шифрования обычно используется некоторый алгоритм или устройство, реализующее заданный алгоритм, которые могут быть известны широкому кругу лиц. Управление процессом шифрования осуществляется с помощью периодически меняющегося ключа шифрования, обеспечивающего каждый раз оригинальное представление информации при использовании одного и того же алгоритма или устройства. Знание ключа дешифрования позволяет просто и надежно расшифровать текст. Однако, без знания этого ключа процедура дешифрования может быть практически невыполнима даже при известном алгоритме. Ключ шифрования K - конкретное состояние некоторого параметра (параметров), обеспечивающее выбор одного преобразования из совокупности возможных для используемого метода шифрования.

    Будем называть открытым текстом M исходное сообщение, которое шифруют для его сокрытия от посторонних лиц. Сообщение, формируемое в результате шифрования открытого текста, будем называть закрытым текстом (шифротекстом) С.

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

    Существуют несколько основных типов криптоаналитических атак [2]. Реализация каждой из них предполагает, что злоумышленник знает применяемый алгоритм шифрования.

    1. Криптоаналитическая атака при наличии только известного закрытого текста С.

    2. Криптоаналитическая атака при наличии известного открытого текста (атака по открытому тексту). В этом случае, криптоаналитику известен открытый текст M и соответствующий ему закрытый текст C. Задача криптоаналитика состоит в нахождении ключа шифрования K для возможности прямой расшифровки последующих шифротекстов.

    3. Криптоаналитическая атака методом полного перебора всех возможных ключей. Такой подход требует привлечения предельных вычислительных ресурсов и иногда называется силовой атакой, атакой «в лоб», или brute-forcing.

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

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

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

    1.Зашифрованный текст должен поддаваться чтению только при наличии секретного ключа шифрования.

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

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

    4. Незначительное изменение ключа шифрования или открытого текста должно приводить к существенному изменению вида шифротекста.

    5. Алгоритм шифрования должен допускать как программную, так и аппаратную реализацию.

      1. 4.2. Традиционные симметричные криптосистемы



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

    Функциональная схема взаимодействия участников симметричного криптографического обмена приведена на рис. 4.1.


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

    В настоящее время симметричные шифры - это:

    • блочные шифры. Обрабатывают информацию блоками определенной длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект - нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.

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

    Существует множество (не менее двух десятков) алгоритмов симметричных шифров, существенными параметрами которых являются:

    • стойкость;

    • длина ключа;

    • число раундов;

    • длина обрабатываемого блока;

    • сложность аппаратной/программной реализации.


    Распространенные алгоритмы симметричного шифрования:

    • DES и TripleDES (3DES)

    • AES (Rijndael)

    • ГОСТ 28147-89

    В частности, AES — симметричный алгоритм блочного шифрования, принятый в качестве американского стандарта шифрования правительством США в 2002году, до него c 1977 года официальным стандартом США был алгоритм DES. По состоянию на 2006 год AES является одним из самых распространённых алгоритмов симметричного шифрования.
    Шифры традиционных симметричных криптосистем можно разделить на следующие основные виды [5,10]:

    1. Шифры замены.

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

    3. Шифры гаммирования.

    4.2.1. Шифрование методом замены



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

    Рассмотрим наиболее известные шифры моноалфавитной замены.


    Шифрование методом Цезаря
    Свое название данный шифр получил по имени римского императора Гая Юлия Цезаря, который использовал этот шифр при переписке с Цицероном (около 50 г. до н.э).

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

    Общая формула шифра Цезаря имеет следующий вид:


    С=P+K (modM),

    (4.1)


    где P – номер символа открытого текста, С – соответствующий ему номер символа шифротекста, K – ключ шифрования (коэффициент сдвига), M – размер алфавита (для русского языка M= 32)

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

    Таблица подстановок для символов русского текста при ключе K=3 представлена в таблице 4.1. Данной таблице соответствует формула


    С=P+3 (mod 32)

    (4.2)


    Табл. 4.1. Табл. подстановок шифра Цезаря для ключа K=3

    А



    Г




    Р



    У

    Б



    Д




    С



    Ф

    В



    Е




    Т



    Х

    Г



    Ж




    У



    Ц

    Д



    З




    Ф



    Ч

    Е



    И




    Х



    Ш

    Ж



    Й




    Ц



    Щ

    З



    К




    Ч



    Ь

    И



    Л




    Ш



    Ы

    Й



    М




    Щ



    Ъ

    К



    Н




    Ь



    Э

    Л



    О




    Ы



    Ю

    М



    П




    Ъ



    Я

    Н



    Р




    Э



    А

    О



    С




    Ю



    Б

    П



    Т




    Я



    В


    Согласно формуле (4.2) открытый текст «БАГАЖ» будет преобразован в шифротекст «ДГЖГЙ».

    Дешифрование закрытого текста, зашифрованного методом Цезаря согласно (4.1), осуществляется по формуле:


    P=C-K (modM)

    (4.3)


    Простая моноалфавитная замена
    Шифр простой моноалфавитной замены является обобщением шифра Цезаря и выполняет шифрование по следующей схеме:


    ,

    (4.4)


    где - ключ шифрования, .

    Преобразование согласно схеме (4.4) является взаимно однозначным отображением только в том случае, если a и M взаимно простые. В этом случае для дешифрования закрытого текста выполняют обратное преобразование по формуле:




    (4.5)


    Пример 4.2.

    Пусть M=26, a=3, K=6, НОД(3,26) = 1. Тогда получаем следующую таблицу подстановок для шифра простой моноалфавитной замены.





    A

    B

    C

    D

    E

    F

    G

    H

    I

    G

    K

    L

    M

    N

    O

    P

    Q

    R

    S

    P

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    C

    6

    9

    12

    15

    18

    21

    24

    1

    4

    7

    10

    13

    16

    19

    22

    25

    2

    5

    8
































































    T

    U

    V

    W

    X

    Y

    Z





































    P

    19

    20

    21

    22

    23

    24

    25





































    C

    11

    14

    17

    20

    23

    0

    3






































    Тогда открытый текст «HOME» будет преобразован в шифротекст «BWQS».

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

    Пусть необходимо зашифровать исходное сообщение «НОЧЕВАЛА ТУЧКА ЗОЛОТАЯ», в качестве ключа возьмем К=193431.


    Сообщение

    Н

    О

    Ч

    Е

    В

    А

    Л

    А

    Т

    У

    Ч

    К

    А

    З

    О

    Л

    О

    Т

    А

    Я

    Ключ

    1

    9

    3

    4

    3

    1

    1

    9

    3

    4

    3

    1

    1

    9

    3

    4

    3

    1

    1

    9

    Шифротекст

    О

    Ч

    Ь

    Й

    Е

    Б

    М

    Й

    Х

    Ч

    Ь

    Л

    Б

    Р

    С

    П

    С

    У

    Б

    И


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

    Дешифрование шифротеста предполагает сдвиг его символов на необходимое число позиций в обратную сторону.
    Шифрование методом Вернама
    При шифровании открытого текста, каждый его символ представляется в двоичном виде [2]. Ключ шифрования также представляется в двоичной форме. Шифрование исходного текста осуществляется путем сложения по модулю 2 двоичных символов открытого текста с двоичными символами ключа:

    Y=PK

    (4.6)

    Дешифрование состоит в сложении по модулю 2 символов шифротекста с ключом.


    Рис. 4.2. Схема системы шифрования Вернама
    Модификация системы шифрования Вернама используется для криптографической защиты информации в архиваторе ARJ. Формула (4.6) в этом случае принимает следующий вид:


    Y=P(K+VALUE),

    (4.7)


    где VALUE – фиксированное значение.
    Пример 4.4.

    Зашифруем с помощью системы Вернама открытый текст «БЛАНК» с помощью ключа «ОХ».

    Преобразуем открытый текст «БЛАНК» в ASCII коды: Б=129, Л=139, A=128, Н=141, К=138. В двоичном виде последовательность 129, 139, 128, 141, 138 представится в виде 10000001 10001011 10000000 10001101 10001010.


    символ

    код























    128

    64

    32

    16

    8

    4

    2

    1

    Б

    129

    1

    0

    0

    0

    0

    0

    0

    1

    Л

    139

    1

    0

    0

    0

    1

    0

    1

    1

    А

    128

    1

    0

    0

    0

    0

    0

    0

    0

    Н

    141

    1

    0

    0

    0

    1

    1

    0

    1

    К

    138

    1

    0

    0

    0

    1

    0

    1

    0


    Преобразуем ключ «ОХ» в ASCII коды: О=142, Х=149. В двоичном виде последовательность 142, 149 представится в виде 10001110 10010101.

    Подпишем циклически ключ под открытым текстом и выполним сложение по модулю 2 соответствующих битов.


    Открытый текст

    1

    0

    0

    0

    0

    0

    0

    1

    1

    0

    0

    0

    1

    0

    1

    1

    1

    0

    0

    0

    Ключ

    1

    0

    0

    0

    1

    1

    1

    0

    1

    0

    0

    1

    0

    1

    0

    1

    1

    0

    0

    0

    Закрытый текст

    0

    0

    0

    0

    1

    1

    1

    1

    0

    0

    0

    1

    1

    1

    1

    0

    0

    0

    0

    0


    Продолжение таблицы по горизонтали

    Открытый текст

    0

    0

    0

    0

    1

    0

    0

    0

    1

    1

    0

    1

    1

    0

    0

    0

    1

    0

    1

    0

    Ключ

    1

    1

    1

    0

    1

    0

    0

    1

    0

    1

    0

    1

    1

    0

    0

    0

    1

    1

    1

    0

    Закрытый текст

    1

    1

    1

    0

    0

    0

    0

    1

    1

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0



    4.2.2. Шифрование методами перестановки



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

    При достаточной длине блока, в пределах которого осуществляется перестановка, и сложном неповторяющемся порядке перестановки можно достигнуть приемлемой для простых практических приложений стойкости шифра.
    Метод простой перетановки
    При шифровании методом простой перестановки производят деление открытого текста на блоки одинаковой длины, равной длине ключа. Ключ длины n представляет собой последовательность неповторяющихся чисел от 1 до n. Символы открытого текста внутри каждого из блоков переставляют в соответствие с символами ключа внутри блока справа налево. Элемент ключа Ki в заданной позиции блока говорит о том, что на данное место будет помещен символ открытого текста с номером Ki из соответствующего блока.
    Пример 4.5.

    Зашифруем открытый текст «ПРИЕЗЖАЮДНЕМ» методом перестановки с ключом К=3142.


    П

    Р

    И

    Е

    З

    Ж

    А

    Ю

    Д

    Н

    Е

    М

    3

    1

    4

    2

    3

    1

    4

    2

    3

    1

    4

    2

    И

    П

    Е

    Р

    А

    З

    Ю

    Ж

    Е

    Д

    М

    Н


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


    Алгоритм Гамильтона
    Весьма высокую стойкость шифрования можно обеспечить усложнением перестановок по маршрутам типа гамильтоновских. При этом, для записи символов шифруемого текста используются вершины некоторого гиперкуба, а знаки зашифрованного текста считываются по маршрутам Гамильтона, причем используется восемь различных маршрутов. Размер ключа перестановки в данном случае равен восьми по числу вершин куба. Для примера, два из маршрутов Гамильтона представлено на рис. 4.2. Первому маршруту соответствует перестановка 4-0-2-3-1-5-7-6, второму 4-6-2-0-1-5-7-3 (нумерация символов в блоке осуществляется с нуля).






    Рис. 4.2. Пример маршрутов Гамильтона
    Пример 4.6.

    Зашифруем открытый текст «ВОСЕМЬ МАРШРУТОВ» с помощью перестановок Гамильтона при использовании в качестве ключа двух перестановок, представленных на рис. 4.2.


    0

    1

    2

    3

    4

    5

    6

    7

    0

    1

    2

    3

    4

    5

    6

    7

    В

    О

    С

    Е

    М

    Ь




    М

    А

    Р

    Ш

    Р

    У

    Т

    О

    В

    4

    0

    2

    3

    1

    5

    7

    6

    4

    6

    2

    0

    1

    5

    7

    3

    М

    В

    С

    Е

    О

    Ь

    М




    У

    О

    Ш

    А

    Р

    Т

    В

    Р



        1. Шифрование методом гаммирования



    Под гаммированием понимают наложение на открытые данные по определенному закону гаммы шифра (двоичного числа, сформированного на основе генератора случайных чисел) [2] .

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

    Общая схема шифрования методом гаммирования представлена на рис. 4.3.



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

    Перед шифрованием открытые данные обычно разбивают на блоки одинаковой длины, например по 64 бита. Гамма шифра также вырабатывается в виде последовательности блоков той же длины.

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

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

      1. 1   ...   5   6   7   8   9   10   11   12   ...   26


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