36750

Изучение криптографических методов защиты информации

Лабораторная работа

Информатика, кибернетика и программирование

Кодирование – это процесс замены элементов открытого текста символов комбинаций символов слов и т. В этом процессе криптографическому преобразованию подвергается каждый символ текста. Алгоритм позволяет использовать сравнительно короткий ключ для шифрования сколь угодно большого текста. Метод замены подстановки основан на том что каждый символ открытого текста заменяется другим символом того же алфавита.

Русский

2013-09-23

236.5 KB

28 чел.

Лабораторная работа №3

Изучение криптографических методов

защиты информации

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

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

2. Теоретические сведения

2.1. Основные понятия, термины и определения криптографии

Слово «криптография» произошло от древнегреческих слов «cryptos» – тайный и «graphos» – письмо. Таким образом, криптография – это тайнопись. Криптографическая защита информации (данных) с помощью кодов и шифров является одним из важнейших решений проблемы ее безопасности. Зашифрованные данные становятся доступными только тому, кто знает, как их расшифровать. Поэтому похищение зашифрованных данных бессмысленно для несанкционированных пользователей.

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

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

Шифрование – это процесс зашифрования или расшифрования. В этом процессе криптографическому преобразованию подвергается каждый символ текста. В шифровании всегда используются два элемента: алгоритм и ключ.

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

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

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

Зашифрование – это процесс преобразования открытых данных в зашифрованные с помощью шифра.

Расшифрование – это процесс преобразования закрытых данных в открытые данные с помощью шифра.

Дешифрование – это процесс преобразования закрытых данных в открытые данные при неизвестном ключе и, возможно, неизвестном алгоритме.

Гаммирование – это процесс наложения по определенному закону гаммы шифра на открытые данные.

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

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

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

Имитозащита – это защита системы шифрованной связи от навязывания ложных данных. Для обеспечения имитозащиты к зашифрованным данным добавляется имитовставка.

Имитовставка – это отрезок информации фиксированной длины, полученной по определённому правилу из открытых данных и ключа, добавленный к зашифрованным данным для обеспечения имитозащиты.

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

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

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

2.2. Методы криптографии

2.2.1. Классификация методов

Методы криптографии можно разделить на две группы: с секретными ключами и с открытыми ключами [1].

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

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

В свою очередь методы с секретными ключами делятся на методы замены (подстановки), методы перестановки и методы перемешивания.

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

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

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

Метод перемешивания основан на том, что изменение одного символа открытого текста приводит к изменению многих символов шифротекста.

2.2.2. Методы криптографии с секретными ключами

2.2.2.1. Общие положения

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

                     EK(X)                                    DK(Y)                               

 

 

                                                                                       

Рис. 3.1. Симметричное шифрование

Уравнение зашифрования может быть представлено в следующем виде:

                                           Х=EK(X),                                                    (3.1)

где EK – символ, означающий алгоритм шифрования по секретному ключу K.

Уравнение расшифрования принимает тогда следующий вид:

                                              X=DK(Y),                                                 (3.2)

где  DK  –   символ,     означающий    алгоритм    расшифрования    по секретному ключу K.

Таким образом, зашифрование и расшифрование проводится с помощью только одного секретного ключа [3].

2.2.2.2. Метод замены

Шифрование методом замены (подстановки) основано на алгебраической операции, называемой подстановкой. Подстановкой называется взаимно однозначное отображение некоторого конечного множества М на себя. Число N элементов этого множества называется степенью подстановки. Природа множества М роли не играет, поэтому можно сказать, что М=1, 2, …, N.

Если при данной подстановке число j переходит в число ij, то такую подстановку, обозначаемую символом S, можно записать в виде

                                                

1   2   …   n

S =                                                                (3.3)

      i1   i2   …   in      .

В этой записи числа 1, 2, …, n можно произвольным образом переставлять, соответственно переставляя числа i1 , i2 , …, in.

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

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

Количество чисел m, действительно перемещаемых подстановкой S, называется длиной цикла подстановки.

Подстановка S называется транспозицией, если существует пара (j1,j2) различных элементов из множества М, удовлетворяющих условиям: ij1=j1, ij2=j2, ij=j для каждого j{M( j1,j2 )}. Любая подстановка разлагается в произведение транспозиций. Разложение подстановки в произведение независимых подстановок однозначно с точностью до порядка множителей.

В криптографии рассматриваются четыре типа подстановки (замены): моноалфавитная, гомофоническая, полиалфавитная и полиграммная [1]. Подстановка может быть реализована с использованием датчика псевдослучайных чисел.

Моноалфавитная замена. При моноалфавитной замене каждый символ алфавита открытого текста заменяется символом шифротекста из того же алфавита.

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

                               Yi = (K1Xi + K2) mod n,                             (3.4)

где  Yi i-й символ шифротекста;

        Xi i-й символ открытого текста;

 К1 и К2 – константы;

 n – длина алфавита.

Под результатом операции (K1Xi K2) mod n понимают остаток от целочисленного деления суммы (K1Xi + K2) на число n, если сумма больше длины алфавита.

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


Таблица 3.1

Цифровые эквиваленты букв русского алфавита

Буква

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

Цифровой эквивалент

1

2

3

4

5

6

7

8

9

10

11

12

Буква

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Цифровой эквивалент

13

14

15

16

17

18

19

20

21

22

23

24

Буква

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

_ (ПРОБЕЛ)

Цифровой эквивалент

25

26

27

28

29

30

31

32

33

Общее число символов алфавита n=33.

Пример 1. Открытый текст: «ШИФРОВАНИЕ ЗАМЕНОЙ». Подстановка задана табл.3.2.

Таблица 3.2

Подстановка алфавита для шифрования моноалфавитной заменой

Алфавит открытого текста

А

Б

В

Г

Д

Ь

Э

Ю

Я

_

Алфавит шифротекста

_

Я

Ю

Э

Ь

Д

Г

В

Б

А

Шифротекст: «ИШМРТЮ_УШЫАЩ_ФЫУТЧ».

Основным недостатком рассмотренного метода является то, что статистические свойства открытого текста (частоты появления букв) сохраняются и в шифротексте. Этого недостатка лишены  шифры Вижинера и Бофора.

Шифр Вижинера. Шифр Вижинера задается формулой

                               Yi = (Xi + Ki) mod n,                                             (3.5)

где Kii-й символ ключа, в качестве которого используется слово или фраза.

Пример 2. Открытый текст: «ЗАМЕНА». В качестве ключа используется слово «КЛЮЧ». Подстановка задана табл.3.3.

Таблица 3.3

Подстановка шифра Вижинера

З

А

М

Е

Н

А

К

Л

Ю

Ч

К

Л

 В соответствии с табл. 3.1 записываем:

Y1=(8+11) mod 33=19 T;

Y2=(1+12) mod 33=13 М;

Y3=(13+31) mod 33=11 К;

Y4=(6+24) mod 33=30 Э;

Y5=(14+11) mod 33=25 Ш;

Y6=(1+12) mod 33=13 М.

 Шифротекст: «ТМКЭШМ».

Шифр Вижинера с неограниченным неповторяющимся ключом называют шифром Вернама.

Шифры Бофора. Шифры Бофора задаются формулами:

                          Yi = (Ki – Xi) mod n;                                                  (3.6)

                          Yi = (Xi – Ki) mod n.                                         

Так как при использовании шифров Бофора возможны случаи, когда разность может быть равна нулю, то нумерацию символов алфавита необходимо начинать с нуля. Тогда в табл.3.1 буква А будет соответствовать 0,  Б – 1,  В – 2 и т.д.

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

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

Пример 3. Открытый текст: «ШИФРОВАНИЕ ЗАМЕНОЙ». Первичный ключ: «КЛЮЧ». Схема шифрования с автоключом при использовании открытого текста представлена в табл.3.4.

Таблица 3.4

Схема шифрования с автоключом при использовании открытого текста

Ш

И

Ф

Р

О

В

А

Н

И

Е

_

З

А

М

Е

Н

О

Й

К

Л

Ю

Ч

Ш

И

Ф

Р

О

В

А

Н

И

Е

_

З

А

М

36

21

52

41

40

12

22

31

24

9

34

22

10

19

39

22

16

23

В

Ф

Т

З

Ж

Л

Х

Ю

Ч

И

А

Х

Й

Т

Е

Х

П

Ц

Шифротекст: «ВФТЗЖЛХЮЧИАХЙТЕХПЦ».

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

Таблица 3.5

Схема шифрования с автоключом при использовании криптограммы

Ш

И

Ф

Р

О

В

А

Н

И

Е

_

З

А

М

Е

Н

О

Й

К

Л

Ю

Ч

В

Ф

Т

З

С

Ч

У

Х

Ъ

Э

У

Э

Ы

Й

36

21

52

41

18

24

20

22

27

30

53

30

28

43

26

44

43

20

В

Ф

Т

З

С

Ч

У

Х

Ъ

Э

У

Э

Ы

Й

Щ

К

Й

У

Шифротекст: «ВФТЗСЧУХЪЭУЭЫЙЩКЙУ».

Гомофоническая замена. При гомофонической замене каждый символ алфавита открытого текста заменяется в определенном порядке несколькими символами шифротекста из этого же алфавита. Этот метод применяется для искажения статистических свойств шифротекста.

Пример 4. Открытый текст: «ЗАМЕНА». Подстановка задана табл.3.6.

Таблица 3.6

Подстановка алфавита для шифрования гомофонической заменой

Алфавит открытого текста

А

Б

Е

Ж

З

М

Н

Алфавит шифротекста

17

31

48

23

44

63

97

51

15

47

67

33

76

19

59

32

28

61

55

84

34

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

Шифротекст: «76 17 32 97 55 31».

Полиалфавитная замена. При полиалфавитной замене используется несколько алфавитов шифротекста. Пусть используется k алфавитов. Тогда открытый текст

                Х=Х1 Х2…Хk Хk+1…Х2k Х2k+1                             (3.7)

заменяется шифротекстом

 Y=F1(X1)F2(X2)…Fk(Xk)F1(Xk+1)…Fk(X2k)F1(X2k+1)…, (3.8)

где Fi(Xj)символ шифротекста алфавита i для символа открытого текста Xj.

Пример 5. Открытый текст: «ЗАМЕНА». k=3. Замена задана табл.3.6, в которой каждая строка цифр соответствует своему алфавиту шифротекста.

Шифротекст: «76 31 61 97 84 48».

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

Шифр Плэйфера. В этом шифре алфавит располагается в матрице. Открытый текст разбивается на пары символов Xi, Xi+1. Каждая пара символов открытого текста заменяется на пару символов из матрицы по следующим правилам:

если символы находятся в одной строке, то каждый из символов пары заменяется на стоящий правее от него (за последним символом в строке следует первый);

если символы находятся в одном столбце, то каждый символ пары заменяется на символ, расположенный ниже его в столбце (за последним нижним символом следует верхний);

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

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

 Пример 6. Открытый текст: «ШИФР ПЛЭЙФЕРА.». Матрица алфавита задана табл.3.7.

Таблица 3.7

Матрица алфавита шифра Плэйфера

А

Ж

Б

М

Ц

В

Ч

Г

Н

Ш

Д

О

Е

Щ

,

Х

У

П

.

З

Ъ

Р

И

Й

С

Ь

К

Э

Т

Л

Ю

Я

_

Ы

Ф

Шифротекст: «РДИЫ,–СТ–И.ХЧС».

Метод замены с использованием датчика псевдослучайных чисел. Шифрование этим методом заключается в генерации гаммы шифра датчиком псевдослучайных чисел с последующим наложением полученной гаммы на открытые данные обратимым способом (например, путем поразрядного сложения по модулю 2 с использовнием логической операции «исключающее ИЛИ»: 0+0=0; 1+0=1; 0+1=1; 1+1=0).

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

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

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

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

                             T( i+1 )=[ AT( i ) + C ] mod M ,                             (3.9)

где А и C – константы;

     T( i )  исходная величина, выбранная в качестве порождающего числа (входного ключа).

Генератор вырабатывает псевдослучайные числа с определенным периодом повторения, зависящим от выбранных значений А и C. Значение M обычно устанавливается равным 2l, где  l – длина последовательности (длина слова в ЭВМ) в битах.

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

Пример 7. Открытый текст: «ПРИКАЗ»

(«16 17 09 11 01 08» согласно табл. 3.1).

Гамма: «ГАММА» («04 01 13 13 01» согласно табл. 3.1)

Операция: сложение по mod 33:

Y1 = (16+4) mod 33 = 20 У;

Y2 = (17+1) mod 33 = 18 С;

Y3 = (9+13) mod 33 = 22   Х;

Y4 = (11+13) mod 33 = 24 Ч;

Y5 = (1+1) mod 33 = 2   Б;

Y6 = (8+4) mod 33 = 12   Л.

Шифротекст: «УСХЧБЛ».

Пример 8. Открытый текст: «ПРИКАЗ»

(«16 17 09 11 01 08» согласно табл. 3.1).

Первые значения датчика: «2 1 7 9 4 5 6 7».

Операция: сложение по mod 2 с использованием логической операции «исключающее ИЛИ»

Запишем код (цифру) каждой буквы открытого текста в двоичном виде, используя пять разрядов, а каждую цифру гаммы – используя четыре разряда, и проведем операцию сложения по mod 2:

10000(16)

10001(17)

01001(09)

01011(11)

00001(01)

01000(08)

00010(2)

00001(1)

00111(7)

01001(9)

00100(4)

00101(5)

10010(18)

10000(16)

01110(14)

00010(02)

00101(05)

01101(13)

Шифротекст: «СПНБДМ» («18 16 14 02 05 13»).

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

2.2.2.3. Метод перестановки

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

Простая перестановка. При простой перестановке осуществляется перестановка групп символов алфавита открытого текста в определенном порядке.

Пример9. Открытый текст: «ШИФРОВАНИЕ ПЕРЕСТА-НОВКОЙ». Ключ (правило перестановки): буквы в группах из восьми букв с порядковыми номерами 1, 2, …, 8 переставить в порядок 3, 8, 1, 5, 2, 7, 6, 4.

Шифротекст: «ФНШОИАВР_СИЕЕЕРПНЙТВАОКО».

Усложненная перестановка. При усложненной перестановке открытый текст записывается в матрицу по определенному ключу К1. Шифротекст образуется при считывании из этой матрицы по ключу К2.

Пример 10. Открытый текст: «ШИФРОВАНИЕ ПЕРЕСТАНОВ-
КОЙ». Матрица из четырех столбцов приведена в табл.3.8, где запись открытого текста проведена по строкам в соответствии с ключом
К1: 5, 3, 1, 2, 4, 6, а чтение – по столбцам в соответствии с ключом К2: 4, 2, 3, 1.

Таблица 3.8

Матрица алфавита с перестановкой из четырех столбцов

1

И

Е

_

П

2

Е

Р

Е

С

3

О

В

А

Н

4

Т

А

Н

О

5

Ш

И

Ф

Р

6

В

К

О

Й

К12

1

2

3

4

Шифротекст: «ПСНОРЙЕРВАИК_ЕАНФОИЕОТШВ».

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

Пример 11. Открытый текст:

«ШИФРОВАНИЕ ПЕРЕСТАНОВКОЙ». Ключ – гамильтонов путь на графе рис.2.2.

Шифротекст: «ШАОНИРФВИЕЕСЕП_РТОВЙАОНК».

                                                                          Чтение криптограммы

                              (1–7–5–8–2–4–3–6)

                                                                               Запись открытого текста

                (1–2–3–4–5–6–7–8) 

Рис. 3.2. Гамильтонов путь на графе

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

Еще более сложные перестановки основаны на принципах, заложенных в логической игре «Кубик Рубика». При использовании такой схемы открытый текст записывается в ячейки граней куба по строкам. После осуществления заданного числа заданных поворотов слоев куба считывание шифротекста осуществляется по столбцам. Сложность расшифрования в этом случае определяется числом ячеек на гранях куба и сложностью выполненных поворотов слоев куба. Перестановка, основанная на кубике Рубика, получила название объемной (многомерной) перестановки. Усовершенствованная схема такой перестановки, в которой наряду с открытым текстом перестановке подвергаются и функциональные элементы самого алгоритма шифрования, легла в основу секретной системы «Рубикон». В этой системе в качестве прообразов пространственных многомерных структур, на основании которых осуществляются перестановки, используются трехмерный куб и тетраэдр.

Основным недостатком методов перестановки является сохранение частотных свойств символов открытого текста в шифротексте.

2.2.2.4. Метод перемешивания

Метод перемешивания основан на совместном использовании методов замены (подстановки) и перестановки. При этом существенно нарушаются статистические связи шифротекста с открытым текстом. В стандартах шифрования часто применяются специальные меры, обеспечивающие расширение влияния каждого символа открытого текста на группу символов шифротекста [2]. В результате этого при замене любого одного символа открытого текста изменяется значительная группа символов шифротекста.

В практических шифрах используются два основных принципа Шеннона: рассеивание и перемешивание. Рассеивание – это распространение влияния одного знака открытого текста на множество знаков шифротекста, что позволяет скрыть статистические свойства открытого текста. Перемешивание – это использование взаимосвязи статистических свойств открытого и шифротекста.


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

2.2.3. Методы криптографии с открытыми ключами

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

Структурная схема шифрования с открытым ключом (несимметричное шифрование) показана на рис.3.3.

                  EK1 (X)                                    DK2(Y)                               

 

 

                                                                                       

Рис.3.3. Несимметричное шифрование

Криптосистема с открытым ключом должна содержать следующие элементы:

рандомизированный алгоритм генерации открытого ключа К1 и соответствующего ему секретного ключа К2;

алгоритм зашифрования, который по сообщению Х, используя открытый ключ К1, формирует шифротекст Y=EK1 (X);

алгоритм расшифрования, который по шифротексту Y, используя секретный ключ К2, восстанавливает исходное сообщение X= DK2(Y).

Наиболее перспективным методом криптографической защиты информации с открытым ключом является алгоритм RSA (назван по начальным буквам фамилии его изобретателей – Rivest, Shamir и Adleman). При рассмотрении алгоритма RSA необходимо вспомнить некоторые математические термины.

Под простым числом понимают такое число, которое делится только на 1 и на само себя. Взаимно простыми числами называют такие числа, которые не имеют ни одного общего делителя, кроме 1. Под результатом операции i mod j понимают остаток от целочисленного деления i на j.

Чтобы использовать алгоритм RSA, необходимо сначала сгенерировать открытый и секретный (закрытый) ключи, выполнив следующее:

выбрать два очень больших простых числа p и q;

определить n как результат умножения p на q ( n = pq );

выбрать большое случайное число d. Оно должно быть взаимно простым с числом, определяемым как результат умножения чисел  ( р–1 )( q–1 );

определить такое число е, для которого является истинным следующее соотношение: ed mod (( p–1 )( q–1 )) = 1;

считать открытым ключом числа е и n, а секретным ключом – числа d и n .

Для того чтобы зашифровать данные по известному ключу { e, n }, необходимо разбить шифруемый текст на блоки, каждый из которых может быть представлен в виде числа Мi от 0 до n–1.

Затем зашифровать текст, рассматриваемый как последовательность чисел Мi , выполнив вычисления Yi = Mie mod n.

Чтобы расшифровать эти данные, используя секретный ключ { d, n }, необходимо выполнить вычисления Mi = Yid mod n. В результате будет получено множество чисел Мi, которое представляет собой исходный текст.

Пример 12. Открытый текст «ЕДА».

Для простоты будем использовать маленькие числа.

Выберем два простых числа р=3 и q=11.

Определим n=3ּ11=33.

Найдем (р1)(q1)=20.

Следовательно, в качестве секретного ключа d нужно выбрать любое число, которое является взаимно простым с числом 20, например d=3.

Выберем значение открытого ключа е. В качестве такого числа может быть использовано любое число, для которого справедливо соотношение (3) mod 20 = 1. Например, е = 7.

 Таким образом, открытый ключ составляют числа е = 7 и = 33, а секретный – числа = 3 и = 33.

Представим шифруемое сообщение как последовательность целых чисел в диапазоне 0…32, число которых не превышает = 33. Тогда буква Е изображается числом 6, буква Д – числом 5, буква А – числом 1, а слово «ЕДА» представляется последовательностью цифровых эквивалентов (чисел) как 651.

Зашифруем сообщение, используя открытый ключ { 7, 33 }:

Y1 = 67 mod 33 = 279936 mod 33 = 30;

Y2 = 57 mod 33 = 78125 mod 33 = 14;

Y3 = 17 mod 33 = 1 mod 33 = 1.

Шифротекст: «30 14 1».

Расшифруем сообщение «30 14 1», полученное в результате зашифрования по известному ключу, на основе секретного ключа { 3, 33 }:

                         М1 = 303 mod 33 = 27000 mod 33 = 6;

M2 = 143 mod 33 = 2744 mod 33 = 5;

M3 = 13 mod 33 = 1 mod 33 = 1.

Таким образом, в результате расшифрования сообщения получено исходное сообщение «ЕДА» («651»).

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

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

  1.  Изучить теоретическую часть работы.
  2.  Провести самопроверку теоретических знаний, ответив на поставленные вопросы.
  3.  Получить вариант задания на зашифрование и расшифрование текста.
  4.  Осуществить зашифрование и расшифрование текста соответствующим методом, используя необходимые табл. 3.9 и 3.10 и соответствующий алгоритм.
  5.  Провести проверку правильности результатов зашифрования и расшифрования текста.
  6.  Оформить отчет и защитить работу.

Если студент индивидуально выполнил лабораторную работу, то необходимость в представлении отчета и защите работы отпадает.

Таблица 3.9

Подстановка алфавита для шифрования моноалфавитной заменой

Буква

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

Цифровой эквивалент

1

2

3

4

5

6

7

8

9

10

11

12

Буква

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Цифровой эквивалент

13

14

15

16

17

18

19

20

21

22

23

24

Буква

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

_ (ПРОБЕЛ)

Цифровой эквивалент

25

26

27

28

29

30

31

32

33


Таблица 3.10

Подстановка алфавита для шифрования полиалфавитной заменой
(количество алфавитов шифротекста
k = 3)

Алфавит открытого текста

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

Алфавит

1

2

3

4

5

6

7

8

9

10

11

12

шифро-текста

34

35

36

37

38

39

40

41

42

43

44

45

67

68

69

70

71

72

73

74

75

76

77

78

Алфавит открытого текста

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Алфавит

13

14

15

16

17

18

19

20

21

22

23

24

шифро-текста

46

47

48

49

50

51

52

53

54

55

56

57

79

80

81

82

83

84

85

86

87

88

89

90

Алфавит открытого текста

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

_ (ПРОБЕЛ)

Алфавит

25

26

27

28

29

30

31

32

33

шифро-текста

58

59

60

61

62

63

64

65

66

91

92

93

94

95

96

97

98

99

Алгоритм зашифрования:    О + К = Ш.

        Если (О + К) > 33, то      Ш = О + К – 33.

        Если (О + К) ≤ 33, то      Ш = О + К.

Алгоритм расшифрования: Ш – К = О.

        Если (Ш – К) > 0, то       О = Ш – К.

        Если (Ш – К) ≤ 0, то       О = 33 + (Ш – К). 

        О – открытый текст. К – ключ. Ш – шифротекст.


4.Описание программы для ЭВМ

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

Литература

1. Петраков А.В. Основы практической защиты информации. – М.: Радио и связь, 2000. – 368 с.

2. ГОСТ 28147–89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразова-
ния. – М.: Изд-во стандартов, 1989. – 26
c.

3. Панасенко С.П., Петренко С.А. Криптографические ме-
тоды защиты информации для российских корпоративных систем //
Конфидент. 2001. №5. С. 64 – 71.

11

PAGE  1


 

А также другие работы, которые могут Вас заинтересовать

65725. Отоліти та зуби костистих риб палеогену України 538 KB
  Костисті риби переважають у складі кайнозойської іхтіофауни. Окрім скелетних решток самостійним об’єктом дослідження є розрізнені отоліти та зуби костистих риб. Костисті риби з палеогенових відкладів України були вивчені в основному за повноскелетними рештками.
65726. Цілеспрямована стимуляція перебудови полів дефектів структури кристалів CdZnTe і ZnSe:Te 501.5 KB
  Однак при сучасній цифровій обробці частина інформації віртуальна тому при комплексному дослідженні впливу перебудови полів дефектів структури на кінетичні фотоелектричні та фотодіелектричні характеристики кристалів необхідно використовувати взаємоузгодженні алгоритми і програми.
65727. ПОВЕРХНЕВI ТА ТУНЕЛЬНI ЕФЕКТИ В МЕТАЛЕВИХ НАНОСТРУКТУРАХ 820 KB
  Розвинути теорiю одноелектронного тунельного транспорту в кластерних структурах з урахуванням нагрiву електронної пiдсистеми кластерiв і уширення енергетичних рiвнiв. Для досягнення поставленої мети необхiдно було вирiшити наступнi задачi: розвинути метод функцiонала густини для...
65728. ЗАЛЕЖНІСТЬ ФІЗИЧНИХ ВЛАСТИВОСТЕЙ НУКЛЕОТИДІВ І ПРОМОТОРІВ ВІД ЇХНІХ ФУНКЦІОНАЛЬНИХ І ЕВОЛЮЦІЙНИХ ХАРАКТЕРИСТИК 722 KB
  Саме виявлення та дослідження взаємозв’язків між фізичними властивостями промоторів та їхньою біологічною активністю проводиться в дисертаційній роботі. Знання перелічених закономірностей і залежностей дає змогу зрозуміти енергетичні характеристики генетичного коду...
65729. Релігійне виховання в закладах загальної середньої освіти ФРН: 1945-2005 роки 166.5 KB
  У контексті європейського партнерства одним зі стратегічних завдань української освіти стало виховання високоморальних громадян які могли б налагоджувати міжлюдські й міжнаціональні взаємовідносини сприяти суспільно-економічному та культурному розвитку нашої держави.
65730. ЦІННІСНИЙ ДИСКУРС СТУДЕНТСЬКОЇ МОЛОДІ В ПЕРІОД РИНКОВИХ ТА ДЕМОКРАТИЧНИХ ТРАНСФОРМАЦІЙ 178 KB
  Актуальність дослідження проблеми ціннісного дискурсу студентської молоді обумовлена необхідністю формування відповідей на виклики які сьогодні делегує студентській молоді дійсність економічні політичні та соціокультурні зміни як всередині країни так і на міжнародному рівні.
65731. Моделі та методи аналізу сервіс-орієнтованих інформаційно-обчислювальних систем 289.5 KB
  Математичне моделювання є одним з найбільш поширених методів що дозволяє вирішити цю задачу. Використання ж методів імітаційного моделювання не дозволяє отримати формалізовані залежності між показниками якості та параметрами системи.
65732. ПЕДАГОГІЧНІ УМОВИ ПІДВИЩЕННЯ КВАЛІФІКАЦІЇ ВЧИТЕЛІВ МИСТЕЦЬКИХ ДИСЦИПЛІН У СИСТЕМІ ПІСЛЯДИПЛОМНОЇ ОСВІТИ 170.5 KB
  У сучасному постіндустріальному суспільстві ідеал гармонійно розвинутої особистості також набуває нового змісту тому система художньоестетичного виховання потребує появи вчителя нової формації особливо вчителя мистецьких дисциплін який має вирішувати ряд основних завдань...
65733. ФУНКЦІЇ ОРГАНІВ ДОСУДОВОГО СЛІДСТВА В КРИМІНАЛЬНОМУ ПРОЦЕСІ УКРАЇНИ 182 KB
  У науці кримінального процесу концепція щодо визначення кримінальнопроцесуальних функцій має більш як сторічну історію. Це пояснюється насамперед тим що правильне визначення кримінально-процесуальних функцій та їх...