Защита Информации в ТКС
Содержание:
Введение…………………………………………………………
1.Задание
1……………………………………………………………………...
1.1.Задача 1……………………………………………………………………...
1.2.Задача 2………………………………………………………………………..
2.Задание
2……………………………………………………………………...
2.1.Задача 1……………………………………………………………………….
2.2.Задача 2……………………………………………………………………….
2.3.Задача 3……………………………………………………………………….
Заключение……………………………………………………
Список литературы…………………………………
Введение
Система Диффи-Хеллмана - это первая
система, которая позволила
1 Задание 1
1.1 Задача 1. Несимметричное шифрование – дешифрование.
Зашифровать информацию по методу RSA для последующей передачи. Вариант задания определяется последними цифрами номера студенческого билета. По номеру i (предпоследняя цифра) студент выбирает сообщение для зашифровывания, по j – требуемые для реализации этого алгоритма числа р и q.
Таблица1.1 Исходные данные для числа g:
i |
7 |
Сообщение |
Корень |
g |
3 |
p q |
3, 11 |
Одним из наиболее распространенных методов несимметричного шифрования - дешифрования является метод шифрования с открытым ключом, в котором используется алгоритм RSA.
Алгоритм основан на использовании операции возведения в степень модульной арифметики. Его можно представить в виде следующей последовательности шагов:
Шаг 1. Выбирается два больших простых числа р и q. Простыми называются числа, которые делятся на самих себя и на 1. На практике для обеспечения криптостойкости системы величина этих чисел должна быть длиной не менее двухсот десятичных разрядов.
Шаг 2. Вычисляется открытая компонента ключа n: n = р q.
Шаг 3. Находится функция Эйлера по формуле: f(р q.)=(р-1)(q-1)
Функция Эйлера показывает количество целых положительных чисел от1 до n, которые не имеют ни одного общего делителя, кроме 1.
Шаг 4. Выбирается число е, которое должно взаимно простым со значением функции Эйлера и меньшим, чем f(р q.)
Шаг 5. Определяется число d, удовлетворяющее соотношению
е * d(mod f(р q.))=1. Числа е и n принимаются в качестве открытого ключа.
В качестве секретного ключа используются числа d и n.
Шаг 6. Исходная информация независимо от её физической природы представляется в числовом двоичном виде. Последовательность бит разделяется на блоки длиной L бит, где L – наименьшее целое число, удовлетворяющее условию
L ³ log2(n.+1); Каждый блок рассматривается как целое положительное число X(i), принадлежащее интервалу (0, n-1). Таким образом, исходная информация представляется последовательностью чисел X(i), (i = 1.I). Значение I определяется длиной шифруемой последовательности.
Шаг 7. Зашифрованная информация получается в виде последовательности чисел Y(i)= (Y(i)) e (mod n).
Шаг 8. Для расшифрования информации используется следующая зависимость: Х(i)= (Y(i)) e (mod n).
Рассмотрим числовой пример применения метод RSA для криптографического закрытия информации, в котором для простоты вычислений использованы минимально возможные числа. Пусть требуется зашифровать сообщение на русском языке Корень.
Сообщение: Корень
Числа p и q – 3 и 11
1) Вычислим открытую компоненту
ключа: n=p*q=3*11=33
3) Выберем число е по следующей формуле: е * 3(mod 20)=1; e=7
Числа е и n принимаются в качестве открытого ключа, d и n используются в качестве секретного ключа.
Таблица1.2 Позиции букв в алфавите:
Буквы алфавита |
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
Й |
К |
Л |
М |
Н |
О |
П |
Р |
Номер буквы |
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 |
4) Представим шифруемое
5) Для представления чисел в
двоичном виде требуется 6 двоичных
разрядов, так как в русском
алфавите используются 33 буквы, поэтому
исходный текст имеет вид:
6) Длина блока L определяется как
минимальное число из целых чисел, удовлетворяющих
условию L ³ log2(33+1); L=7
Y5 = (147) mod 33 = 20
Y6 = (297) mod 33 = 17
Зашифрованное сообщение: 11, 27, 8, 30, 20, 17
8) Расшифруем полученные данные,
используя закрытый ключ {3,33}:
Y1 = (113) mod 33 = 11
Y5 = (203) mod 33 = 14
Y6 = (173) mod 33 = 29
Данные расшифрованы, сопоставим последовательность <11,15,17,6,14,29> с последовательностью букв нашего алфавита. Получили слово КОРЕНЬ.
1. 2 Задача 2. Хеширование и цифровая подпись документов.
Используя данные задания 2, получить хеш – код m для сообщения М при помощи хеш-функции Н, взятой из рекомендаций МККТТ Х.509. Вектор инициализации Н0 выбрать равным нулю.
Вычислить цифровую подпись методом RSA под электронным документом М, используя рассчитанный хеш – код m и секретный ключ d.
Хеш-функцию МККТТ Х.509 запишем следующим образом:
Hi=[(Hi-1 Å Mi)2] (mod n), где i=l,n, H0 – вектор инициализации, Мi =М1,М2,М3…,Мn - -длина блока.
Все блоки делят пополам и к каждой половине прибавляют равноценное количество единиц. С преобразованными таким образом блоками производят интеграционные действия.
1) Получить значение модуля: n=p*q=3*11=33
2) Представить сообщение в виде номеров букв русского алфавита в десятичном и двоичном видах:
К |
О |
Р |
Е |
Н |
Ь |
11 |
15 |
17 |
6 |
14 |
29 |
00001011 |
00001111 |
00010001 |
00000110 |
00001110 |
00011101 |
3) Разбить байт пополам, добавив в начало полубайта единицы и получить хешируемые блоки Мi:
M1 |
M2 |
M3 |
M4 |
M5 |
M6 |
|
11110000 |
11111011 |
11110000 |
11111111 |
11110001 |
11110001 |
M7 |
M8 |
M9 |
M10 |
M11 |
M12 |
|
11110000 |
11110110 |
11110000 |
11111110 |
11110001 |
11111101 |
4) Выполнить интеративные шаги:
Первая интерация
М1 |
11110000 |
Å |
|
Н0=0 |
00000000 |
Н0 Å М1 |
11110000=24010 |
[(H0Å M1)2] (mod 33) |
2402 mod 33 = 9 |
Н1 |
910=00001001 |
Вторая интерация
М2 |
11111011 |
Å |
|
Н1 |
00001001 |
Н1 Å М2 |
11110010=24210 |
[(H1Å M2)2] (mod 33) |
2422 mod 33 =11 |
Н2 |
00001011 |
Третья интерация
М3 |
11110000 |
Å |
|
Н2 |
00001011 |
Н2 Å М3 |
11111011=25110 |
[(H2Å M3)2] (mod 33) |
2512 mod 33 = 20 |
Н3 |
00010100 |
Четвертая интерация
М4 |
11111111 |
Å |
|
Н3 |
00010100 |
Н3 Å М4 |
11101011=23510 |
[(H3Å M4)2] (mod 33) |
2352 mod 33 = 4 |
Н4 |
00000100 |
Пятая интерация
М5 |
11110001 |
Å |
|
Н4 |
00000100 |
Н4 Å М5 |
11110101=24510 |
[(H4Å M5)2] (mod 33) |
2452 mod 33 = 14 |
Н5 |
00001110 |
Шестая интерация
М6 |
11110001 |
Å |
|
Н5 |
00001110 |
Н5 Å М6 |
11111111=25510 |
[(H5Å M6)2] (mod 33) |
2552 mod 33 =24 |
Н6 |
00011000 |
Седьмая интерация
М7 |
11110000 |
Å |
|
Н6 |
00011000 |
Н6 Å М7 |
11101000 = 23210 |
[(H6Å M7)2] (mod 33) |
2322 mod 33 = 1 |
Н7 |
00000001 |
Восьмая интерация
М8 |
11110110 |
Å |
|
Н7 |
00000001 |
Н7 Å М8 |
11110111= 24710 |
[(H7Å M8)2] (mod 33) |
2472 mod 33 = 16 |
Н8 |
00010000 |
Девятая интерация
М9 |
11110000 |
Å |
|
Н8 |
00010000 |
Н8 Å М9 |
11100000= 22410 |
[(H8Å M9)2] (mod 33) |
2242 mod 33 = 26 |
Н9 |
00011010 |
Десятая интерация
М10 |
11111110 |
Å |
|
Н9 |
00011010 |
Н9 Å М10 |
11100100= 22810 |
[(H9Å M10)2] (mod 33) |
2282 mod 33 = 30 |
Н10 |
00011110 |
Одиннадцатая интерация
М11 |
11110001 |
Å |
|
Н10 |
00011110 |
Н10 Å М11 |
11101111= 23910 |
[(H10Å M11)2] (mod33) |
2392 mod 33 = 8 |
Н11 |
00001000 |
Двенадцатая интерация
М12 |
11111101 |
Å |
|
Н11 |
00001000 |
Н11 Å М12 |
11110101= 24510 |
[(H11Å M12)2] (mod33) |
2452 mod 33 = 14 |
Н12 |
00001110 |
Таким образом, исходное сообщение КОРЕНЬ имеет хеш – код m=14.
Для вычисления цифровой подписи используем следующую формулу:
S=md (mod n) = 143 mod 33 = 5
Пара (M, S) передается получателю как электронный документ М, подписанный цифровой подписью S, причем подпись S сформирована обладателем секретного ключа d.
Получив пару (M, S), получатель вычисляет хеш – код сообщения М двумя способами:
1) Восстанавливает хеш – код m’, применяя криптографическое преобразование подписи S с использованием открытого ключа e:
m’=Se (mod n) =57 mod 33 = 14
2) Находит
результат хеширования
При равенстве вычисленных значений m’ и m получатель признает пару (M, S) подлинной.
2 Задание 2
2.1 Задача 1. Система с открытым ключом Диффи-Хелмана
Сгенерировать секретные ключи для пяти абонентов по методу Диффи-Хеллмана (DH). Для этого взять значение секретного ключа x из таблицы 1. Соответствующие значения открытого ключа вычислить и результаты внести в таблицу. Вариант задания определяется по номеру i (предпоследняя цифра) и j (последняя цифра зачетной книжки)– требуемая для реализации этого алгоритма число x . Число j – начальный номер для второго абонента при выборе числа x. Для выбора x для связи с пятью абонентами необходимо по циклической процедуре выбрать x по последней цифре зачетки.
Таблица 1.1 Исходные данные для числа g:
i |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
g |
1 |
3 |
5 |
11 |
23 |
29 |
41 |
101 |
113 |
179 |
Таблица 1.2 Исходные данные для чисел XA, XB, XC, XD, XE:
j |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
X |
7 |
11 |
13 |
17 |
19 |
29 |
31 |
37 |
39 |
41 |
Исходные данные:
i |
7 |
g |
101 |
j |
3 |
Xa |
17 |
Xb |
19 |
Xc |
29 |
Xd |
31 |
Xe |
37 |
Решение:
p=2q+1=1001 q=500
Вычислим открытые числа Y для пяти абонентов по следующей формуле:
Ya = gXa mod р = 10117mod 1001 = 810
Yb = gXb mod р = 10119 mod 1001 = 556
Yc = gXc mod р = 10129mod 1001 = 446
Yd = gXd mod р = 10131 mod 1001 = 101
Ye = gXe mod р = 10137mod 1001 = 920
Таблица1.3 Ключи пользователей в системе Диффи-Хеллмана
Абонент |
Секретный ключ |
Открытый ключ |
A B C D E |
17 19 29 31 37 |
810 556 446 101 920 |
Приведем пример работы алгоритма Диффи-Хеллмана. Покажем как абонент A и B смогут вычислить секретные ключи, благодаря открытым числам Ya и Yb. Вычислим следующие величины:
ZAB = (YB)XAmodp = (556)17
mod 1001 = 173
ZBA = (YA)XBmodp = (810)19 mod 1001 = 173
Z = Zab=Zва
Таким образом, любая пара абонентов может вычислить свой секретный ключ, который в нашем примере является Z.
2.2 Задача 2. Шифрование по алгоритму Шамира
Зашифровать сообщение по алгоритму Шамира для трех абонентов, взяв значение сообщения m и значение p из таблицы 2. По номеру i (предпоследняя цифра) студент выбирает сообщение для зашифровывания, по j – требуемые для реализации этого алгоритма число р. Выбор данных для других абонентов произвести циклически согласно процедуре (I + 1) и (G + 1).
Таблица 2 Исходные данные для выбора сообщений (m)
i |
7 |
8 |
9 |
Сообщение |
26 |
28 |
30 |
j |
3 |
3 |
3 |
p |
41 |
41 |
41 |
Решение:
Перейдем к описанию системы. Пусть есть два абонента Аи В, соединенные линией связи. А хочет передать сообщение m абоненту Б так, чтобы никто не узнал его содержание. А выбирает случайное большое простое число р и открыто передает его В. Затем А выбирает два числа сА и dA , такие, что
сАdA
mod (р - 1) = 1.
Эти числа А держит в секрете и передавать не будет. В тоже выбирает два числа св dв, такие, что
св<dв
mod (p - 1) = 1,
и держит их в секрете.
После этого А передает свое сообщение m, используя трехступенчатый протокол. Если m < р (m рассматривается как число), то сообщение т передается сразу , если же т р, то сообщение представляется в виде m1, m2,..., mt, где все mi < р, и затем передаются последовательно m1, m2,..., mt.
При этом для кодирования каждого mi лучше выбирать случайно новые пары (cA,dA) и (cB,dB) — в противном случае надежность системы понижается. В настоящее время такой шифр, как правило, используется для передачи чисел, например, секретных ключей, значения которых меньше р. Таким образом, мы будем рассматривать только случай m < р.
Описание протокола.
Шаг
1.
А вычисляет число: Х1 =mСА modp
(2.3),
Шаг
2.
В, получив х1, вычисляет число: X2
= х1CB mod p (2.4),
и передает х2 к А.
Шаг
3.
А вычисляет число: X3 = х2dA
mod p (2.5),
и передает его В.
Шаг 4. В, получив х3, вычисляет число X4 = x3dB mod p (2.6).
Утверждение (свойства протокола Шамира).
1) х4 = m, т.е. в результате реализации протокола от А к В действительно передается исходное сообщение;
2) злоумышленник не может, узнать, какое сообщение было передано.
Доказательство.
Вначале заметим, что любое целое
число е
0 может быть представлено в виде е
= k(р-1)+r, где r = е mod (p-1). Поэтому на основании
теоремы Ферма:
(2.7).
Справедливость первого пункта утверждения вытекает из следующей цепочки равенств:
(предпоследнее равенство следует из (2.7), а последнее выполняется в силу (2.1) и (2.2)).
Доказательство второго пункта утверждения основано на предположении, что для злоумышленника, пытающегося определить m, не существует стратегии более эффективной, чем следующая. Вначале он вычисляет CB из (2.4), затем находит dB и, наконец, вычисляет Х4 = m по (2.6). Но для осуществления этой стратегии злоумышленник должен решить задачу дискретного логарифмирования (2.4), что практически невозможно при больших р.
Опишем метод нахождения пар cA,dA и сB,dB, удовлетворяющих (2.1) и (2.2). Достаточно описать только действия для абонента А. так как действия для В совершенно аналогичны. Число сA выбираем случайно так, чтобы оно было взаимно простым с р-1 (поиск целесообразно вести среди нечетных чисел, так как р - 1 четно), Затем вычисляем dA с помощью обобщенного алгоритма Евклида.
Теорема: Пусть a и b – два целых положительных числа. Тогда существуют целые (не обязательно положительные) числа x и y, такие, что
ax + by = gcd(a, b). (1)
Обобщенный алгоритм Евклида служит для отыскания gcd(a,b) и x,y, удовлетворяющих (1). Введем три строки U=(u1, u2, u3), V=(v1, v2, v3) и Т=(t1, t2, t3). Тогда алгоритм записывается следующим образом.
Обобщенный алгоритм Евклида
ВХОД: Положительные целые числа a, b, .
ВЫХОД: gcd(a,b), x, y, удовлетворяющие (1).
1. .
2. WHILE u1 0 DO
3. u1 div v1;
4. T ( u1 mod v2, u2-qu2, u3-qv3);
5. U V, V T.
6. RETURN U= (gcd(a,b), x, y).
Результат содержится в строке U.
Операция div в алгоритме – это целочисленное деление
a div b=[a/b].
Произведем расчет сА dA сВ dВ сС dС.
Дано:
Ma=26 Mb=28 Mc=30
P=41 P=41 P=41
Ca=7 Cb=11 Cc=33
Здесь Ма, Mb, Mc сообщения, Р простое число, Сa, Cb, Cc секретные ключи. Вычислить Da, Db, Dc с помощью обобщенного алгоритма Евклида. Находим Da. Делается это с помощью обобщенного алгоритма Евклида, описанного выше в приложении. Для начала мы вычислим n=p-1 и Ca. Они должны быть взаимно простые. Затем пользуясь алгоритмом Евклида вычислить секретный ключ Da.
Здесь n=p-1=41-1=40 Ca=7
U 40 - 0
V U 7 - 1
T V U 5 - -5 q=5
T V U 2 - 6 q=1
T V 1 - -17 q=2
Da=23.
Произведем проверку, правильно ли мы вычислили Da. Для того проверим верность следующего уравнения:
Сa*Da mod (p-1)=1 7*23 mod (40)=1
Наши расчеты оказались верны.
Вычислим Db, применяя описанные выше операции.
n=(p-1)=40 Cb=11
U 40 - 0
V U 11 - 1
T V U 7 - -3 q=3
T V U 4 - 4 q=1
T V 3 - -7 q=1
T V 1 - 11 q=1
Db=11
Произведем проверку, правильно ли мы вычислили Db. Для того проверим верность следующего уравнения:
Сb*Db mod (p-1)=1 11*11 mod (40)=1
Наши расчеты оказались верны.
Вычислим Dc, применяя описанные выше операции.
n=(p-1)=40 Cc=33
U 40 - 0
V U 33 - 1
T V U 7 - -1 q=1
T V 5 - 5 q=4

- Защита информации в условиях естестественных помех
- Защита информации в экономических информационных системах
- Защита информации в экономических информационных системах
- Защита информации в экономических информационных системах
- Защита информации в экономических информационных системах
- Защита информации в экономических системах
- Защита информации Департамента с использованием средства криптографической защиты
- Защита информации в РФ
- Защита информации в сети
- Защита информации в сети
- Защита информации в сетях
- Защита информации в системах электронного делопроизводства
- Защита информации в современных операционных средах
- Защита информации в телефонных сетях