bsuir.info
БГУИР: Дистанционное и заочное обучение
(файловый архив)
Вход (быстрый)
Регистрация
Категории каталога
Другое [183]
Бухучет [16]
ВМиМОвЭ [4]
ОДМиТА [13]
ОЛОБД [17]
ООПиП [58]
ОС [19]
ПСОД [44]
Форма входа
Логин:
Пароль:
Поиск
Статистика

Онлайн всего: 5
Гостей: 4
Пользователей: 1
AlbertChirl
Файловый архив
Файлы » ИСиТвЭ » Другое

ИСиТвЭ (з.), КИОКИ, Контрольная работа, вар.1, 2016
Подробности о скачивании 29.03.2017, 11:23
Министерство образования республики Беларусь
Учреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»
Институт информационных технологий

Специальность Информационные системы и технологии в экономике

КОНТРОЛЬНАЯ РАБОТА

По курсу: «Криптография и охрана коммерческой информации»

Вариант № 1

Студент-заочник 3 курса
Группы № 382371
Бичуков Сергей Александрович

Минск, 2016

Содержание
Задание 1 3
Задание 2 14
Задание 3 22
Задание 4 23
Список использованных источников 32


Задание 1

Основные понятия в области защиты информации. Цели защиты информации. Различие понятий информационная безопасность и защита информации.
Основные понятия
1 Защищаемая информация - информация, являющаяся предметом собственности и подлежащая защите в соответствии с требованиями правовых документов или требованиями, устанавливаемыми собственником информации.
Примечание:
Собственником информации может быть - государство, юридическое лицо, группа физических лиц, отдельное физическое лицо.
2 Защита информации - деятельность по предотвращению утечки защищаемой информации, несанкционированных и непреднамеренных воздействий на защищаемую информацию.
3 Защита информации от утечки - деятельность по предотвращению неконтролируемого распространения защищаемой информации от ее разглашения, несанкционированного доступа к защищаемой информации и от получения защищаемой информации [иностранными] разведками.
4 Защита информации от несанкционированного воздействия защита информации от НСВ: Деятельность по предотвращению воздействия на защищаемую информацию с нарушением установленных прав и/или правил на изменение информации, приводящего к искажению, уничтожению, копированию, блокированию доступа к информации, а также к утрате, уничтожению или сбою функционирования носителя информации.
5 Защита информации от непреднамеренного воздействия - деятельность по предотвращению воздействия на защищаемую информацию ошибок пользователя информацией, сбоя технических и программных средств информационных систем, а также природных явлений или иных нецеленаправленных на изменение информации воздействий, связанных с функционированием технических средств, систем или с деятельностью людей, приводящих к искажению, уничтожению, копированию, блокированию доступа к информации, а также к утрате, уничтожению или сбою функционирования носителя информации.
6 Защита информации от разглашения - деятельность по предотвращению несанкционированного доведения защищаемой информации до неконтролируемого количества получателей информации.
7 Защита информации от несанкционированного доступа - защита информации от НСД: Деятельность по предотвращению получения защищаемой информации заинтересованным субъектом с нарушением установленных правовыми документами или собственником, владельцем информации прав или правил доступа к защищаемой информации.
Примечание:
Заинтересованным субъектом, осуществляющим несанкционированный доступ к защищаемой информации, может выступать: государство, юридическое лицо, группа физических лиц, в том числе общественная организация, отдельное физическое лицо.
8 Защита информации от [иностранной] разведки - деятельность по предотвращению получения защищаемой информации [иностранной] разведкой.
9 Защита информации от [иностранной] технической разведки - деятельность по предотвращению получения защищаемой информации [иностранной] разведкой с помощью технических средств.
10 Защита информации от агентурной разведки - деятельность по предотвращению получения защищаемой информации агентурной разведкой.
11 Цель защиты информации - желаемый результат защиты информации.
Примечание:
Целью защиты информации может быть предотвращение ущерба собственнику, владельцу, пользователю информации в результате возможной утечки информации и/или несанкционированного и непреднамеренного воздействия на информацию.
12 Эффективность защиты информации - степень соответствия результатов защиты информации поставленной цели.
13 Показатель эффективности защиты информации - мера или характеристика для оценки эффективности защиты информации.
14 Нормы эффективности защиты информации - значения показателей эффективности защиты информации, установленные нормативными документами.
Защита информации - правовые, организационные и технические меры, направленные на обеспечение
защиты информации от
неправомерного доступа,
уничтожения,
модифицирования,
блокирования,
копирования,
предоставления,
распространения, а также от иных неправомерных действий в отношении такой информации;
соблюдения конфиденциальности информации ограниченного доступа,
реализации права на доступ.
Конфиденциальность: защита от несанкционированного доступа
Защита от несанкционированного изменения
Обеспечение доступа к информации
Информационная безопасность — все аспекты, связанные с определением, достижением и поддержанием конфиденциальности, целостности, доступности, неотказуемости, подотчётности, аутентичности и достоверности информации или средств её обработки.
Защита информации — это деятельность по предотвращению утечки защищаемой информации, несанкционированных и непреднамеренных воздействий на защищаемую информацию
Таким образом отличием понятия защиты информации и информационная безопасность, в том, что первое направлено на то, чтобы, та информация которая является защищенной не была похищена или как-то изменена злоумышленником.
Задание 2

Симметричная криптосистема DES
Привести результаты шифрования после 1-го раунда (цикла) и ключ шифрования для 1-го цикла.
Сообщением является часть фамилии студента из первых 8 букв (если фамилия меньше 8 букв, то дописать именем, например «Крук Юрий»:«КРУК ЮРИ»), представленная в двоичном виде в кодировке ANSI (для одного символа – 8 бит).
Начальный ключ К равен (1, 8, 29, 17, 19, 105, 9, 36)
Шифруемое сообщение: БИЧУКОВС
Решение
Симметри́чные криптосисте́мы (также симметричное шифрование, симметричные шифры) (англ. symmetric-key algorithm) — способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование. Ключ алгоритма должен сохраняться в секрете обеими сторонами. Алгоритм шифрования выбирается сторонами до начала обмена сообщениями.

Рисунок 2.1 – Обобщенная схема шифрования в алгоритме DES

Таблица 2.1 - Блок Т
Шифруемое сообщение в 2-ном коде
Б 1 1 0 0 0 0 0 1
И 1 1 0 0 1 0 0 0
Ч 1 1 0 1 0 1 0 1
У 1 1 0 1 0 0 1 1
К 1 1 0 0 1 0 1 0
О 1 1 0 0 1 1 1 0
В 1 1 0 0 0 0 1 0
С 1 1 0 1 0 0 0 1

Таблица 2.2 - IP(T)10101001
1 1 1 1 1 1 1 1
1 0 0 0 1 1 0 0
0 0 1 0 0 1 0 0
1 0 0 0 1 1 0 1
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0
0 0 1 1 0 0 1 0
0 1 1 1 1 0 0 0

Полученная последовательность битов T(0) разделяется на две последовательности по 32 бита каждая: L(0) – левые, или старшие биты (таблица 2.3); R(0) – правые, или младшие биты (таблица 2.4).

Таблица 2.3 -L(0) Таблица 2.4 - R(0)
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0
0 0 1 0 0 0 1 1
0 1 0 0 0 0 1 0
1 0 0 0 0 1 1 1
1 1 0 1 1 0 0 0

Затем выполняется шифрование, состоящее из 16 итераций. Результат i-й итерации описывается следующими формулами:
L(i) = R(i-1), i = 1, 2,…,16
R(i) = L(i-1)⊕F(R(i-1), K(i)), i = 1,2,…, 16, (2.1)
где ⊕ – операция XOR, сложение по модулю 2.
Функция F называется функцией шифрования. Ее аргументы – это 32-битовая последовательность R(i-1), полученная на (i-1)-й итерации, 48-битовый ключ K(i), который является результатом преобразования 64-битового ключа K (таблица 2.5).

Таблица 2.5 – 64-битовый ключ K
1 0 0 0 0 0 0 0 1
8 0 0 0 0 1 0 0 0
29 0 0 0 1 1 1 0 1
17 0 0 0 1 0 0 0 1
19 0 0 0 1 0 0 1 1
105 0 1 1 0 1 0 0 1
9 0 0 0 0 1 0 0 1
36 0 0 1 0 0 1 0 0

Чтобы завершить описание алгоритма шифрования данных, проведем алгоритм получения 48-битовых ключей К(i), i = 1, ..., 16. На каждой итерации используется новое значение ключа K(i), которое вычисляется из начального ключа K. K представляет собой 64-битовый блок с восемью битами контроля по четности, расположенными в позициях 8, 16, 24, 32, 40, 48, 56, 64.
Для удаления контрольных битов и перестановки остальных используется функция G первоначальной подготовки ключа.
Результат преобразования G(K) разбивается на два 28-битовых блока C(0) и D(0), причем C(0) будет состоять из битов 57, 49, ..., 44, 36 ключа K, а D(0) будет состоять из битов 63, 55, ..., 12, 4 ключа K (таблица 2.6).
Таблица 2.6 – G(K)
с0 0 0 0 0 0 0 0
0 0 0 1 0 0 0
0 0 1 0 1 0 0
0 0 0 0 0 0 1
D0 0 0 0 1 0 0 0
0 1 0 0 0 0 1
0 0 0 1 1 0 0
1 1 0 1 1 0 0

После определения C(0) и D(0) рекурсивно определяются C(1) и D(1),. Для этого применяют циклический сдвиг влево на один или два бита в зависимости от номера итерации, как показано в таблице 2.7. В итоге получаем таблицу 2.8
Таблица 2.7 – Таблица сдвигов для вычисления ключа
Номер
итерации Сдвиг
(битов) Номер
итерации Сдвиг
(битов)
01
02
03
04
05
06
07
08 1
1
2
2
2
2
2
2 09
10
11
12
13
14
15
16 1
2
2
2
2
2
2
1
Таблица 2.8 - C(1)D(1)
с1 0 0 0 0 0 0 0
0 0 1 0 0 0 0
0 1 0 1 0 0 0
0 0 0 0 0 1 0
D1 0 0 1 0 0 0 0
1 0 0 0 0 1 0
0 0 1 1 0 0 1
1 0 1 1 0 0 1
Полученное значение вновь «перемешивается» в соответствии с матрицей H
Ключ K(i) (таблица 2.10) будет состоять из битов 14, 17, ..., 29, 32 последовательности C(i)D(i). Таким образом:
K(i) = H(C(i)D(i)).

Таблица 2.9 – K(1)
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 0 0
1 0 1 0 0 0
1 1 1 0 0 0
0 0 0 1 0 0
0 1 0 1 0 1
1 0 1 1 0 0

Теперь рассмотрим функцию шифрования F(R(i-1), K(i)). Схематически она показана на рисунке 2.2.

Рисунок 2.2 - Вычисление функции F(R(i-1), K(i))
Для вычисления значения функции F используются следующие функции-матрицы:
 Е - расширение 32-битовой последовательности до 48-битовой;
 S1, S2, ... , S8 - преобразование шестибитового блока в четрехбитовый;
 Р - перестановка битов в 32-битовой последовательности.

Таблица 2.10– E(R(0))
0 1 1 1 1 1
1 1 1 1 1 0
1 0 0 0 0 0
0 0 0 0 0 0
0 0 0 1 1 0
1 0 0 1 0 0
0 0 1 1 1 1
1 1 0 0 0 1

Результатом функции Е(R(0)) является 48-битовая последовательность (таблица 2.10), которая складывается по модулю 2 (операция ⊕) с 48-битовым ключом К(i). Получается 48-битовая последовательность, которая разбивается на восемь шестибитовых блоков B(1)B(2)B(3)B(4)B(5)B(6)B(7)B(8), а именно:
E(R(0)) ⊕ K(i) = B(1)B(2)...B(8). (2.3)
Результат приведён в таблице 2.11.

Таблица 2.11 – E(R(0)) ⊕ K(i)
0 1 1 1 1 1
1 1 1 1 1 1
1 0 0 0 0 0
1 0 1 0 0 0
1 1 1 1 1 0
1 0 0 0 0 0
0 1 1 0 1 0
0 1 1 1 0 1

Функции S1, S2, ... , S8 определяются таблицей функции преобразования S. Пусть на вход функции-матрицы Sj поступает шестибитовый блок B(j) = b1b2b3b4b5b6, тогда двухбитовое число b1b6 указывает номер строки матрицы, а b2b3b4b5 – номер столбца. Результатом Sj(B(j)) будет четырехбитовый элемент, расположенный на пересечении указанных строки и столбца.
Функции преобразования S1, S2, ..., S8
Номер столбца
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Н
о
м
е
р

с
т
р
о
к
и 0
1
2
3 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 S1
0
1
2
3 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 S2
0
1
2
3 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 S3
0
1
2
3 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14 S4
0
1
2
3 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3 S5
0
1
2
3 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 S6
0
1
2
3 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 S7
0
1
2
3 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 S8

Применив операцию выбора к каждому из шестибитовых блоков B(1), B(2), ..., B(8), получаем 32-битовую последовательность S1(B(1))S2(B(2))S3(B(3))...S8(B(8)) (таблица 2.12).

Таблица 2.12
S1 1 0 0 0
S2 1 0 0 1
S3 1 1 0 1
S4 1 1 0 0
S5 1 1 1 0
S6 1 0 0 1
S7 1 0 1 0
S8 1 0 0 1

Для получения результата функции шифрования надо переставить биты этой последовательности. Для этого применяется функция перестановки P. Во входной последовательности биты перестанавливаются так, чтобы бит 16 стал битом 1, а бит 7 – битом 2 и т.д. Таким образом:
F(R(i-1), K(i)) = P(S1(B(1)),...S8(B(8)))
Таблица 2.13
0 0 0 1
1 1 0 1
1 0 0 0
1 1 0 1
0 1 1 1
1 1 0 1
1 1 0 0
0 0 0 1

Теперь согласно форме 2.1 проведем сложение по модулю 2 и в итоге получим результаты шифрования алгоритмом DES после 1-го раунда (цикла) (таблица 2.14)
1 1 1 0
0 0 1 0
0 0 0 0
0 0 0 1
0 1 0 1
1 0 0 1
0 1 0 0
1 1 0 0


3. Асимметричая криптосистема RSA. Электронная цифровая подпись
Пусть М – хэш-функция от некоторого сообщения m1m2…mn. Сгенерировать ключи открытый К0и секретный Кс. Сформировать электронную цифровую подпись сообщения m1m2…mn, проверить ее правильность.
Исходные данные: простые числа Р и Q, сообщение М.
Номер
варианта 1
Р 7
Q 37
М 4
Найдем число n = p*q = 7 * 37 = 259
Вычислим функцию Эйлера Ф(n) = Ф(259). Для этого нам надо найти кол-во чисел от 1 до n=259, взаимно простых с n.
С учетом того, что p=7 и q=37 - простые и n=p*q, то Ф(n)=Ф(p*q)=(p-1)*(q-1)=216.
Теперь необходимо найти открытый ключ Ко, взаимно простой с Ф(n), т.е. НОД(e,Ф(n)) = 1. Также, Ко: 1<Ко<= Ф(n).
Выберем открытый ключ Ко = 17.
Теперь необходимо найти секретный ключ Кс. Им будет обратный к Ко элемент мультипликативной группы Z/Ф(n), т.е. ed = 1 (mod Ф(n)).
Кс=Ко-1mod Ф(n)
Для этого воспользуемся алгоритмом Евклида.
Составляется 2 вектора:
u=(0,1, Ф(n)) v=(1,0,Ко)
u=(0,1, 216) v=(1,0,17)
g u1 u2 u3 v1 v2 v3
- 0 1 216 1 0 17
12 1 0 17 -12 1 12
1 -12 1 12 13 -1 5
2 13 -1 5 -38 3 2
2 -38 3 2 89 -7 1
89 -7 1

i=1;
g1=int(216/17)=12;
u1=(1,0,17); v1=(0,1,216) - 12*(1,0,17)= (-12, 1, 12);
i=2;
g2 = int(17/12)=1;
u2=(-12,1,12);
v2= (1, 0, 17) - 1*(-12,1,12);
i=3;
g3= int(12/5)=2;
u3=(13,-1,5);
v3=(-12,1,12) - 2*(13, -1, 5)= (-38, 3, 2);
i=4;
g4= int(5/2)=2;
u4=(-38,3,2);
v4=(13,-1,5) - 2*(-38, 3, 2)= (89, -7,1);

Kc=89;

Высылаем отправителю открытый ключ Ко для шифрования.
Зашифровываем сообщение M по формуле: С=МКоmod n.
C=417 mod 259=65;
(C,n) – ЭЦП
Проверка ЭЦП получателем.
Получатель знает открытый ключ отправителя, вычисляет значение хэш-функции M’ от полученного сообщения и расшифровывает значение ЭЦП.
Расшифровываем сообщение по формуле: М=СКс mod n.
М=6589 mod 259=4

Задание 4
Поточная система шифрования

Используя алгоритм гаммирования с конгруэнтным датчиком ПСЧ, составить программу, выполняющую шифрование и дешифрование текста. Решение должно включать описание алгоритма и блок-схемы программы. Результаты выполнения программы: исходный, зашифрованный и дешифрованный текст, которые должны быть подтверждены расчетами вручную.
Сообщением является часть фамилии студента из первых 6 букв (если фамилия меньше 6 букв, то дописать именем, например «Крук Юрий»: «КРУК Ю»), представленная в двоичном виде в кодировке ANSI (для одного символа – 8 бит). Параметры конгруэнтного датчика ПСЧ: T(0)=3, A=17, C=7.
Анализ:
Криптостойкость потоковых шифров зависит от длины ключа для получения псевдослучайной (ключевой) последовательности и равномерности ее статистических характеристик. Если генератор последовательности имеет небольшой период, то стойкость криптосистемы на ее основе невелика. Если же генератор будет выдавать бесконечную последовательность истинно случайных бит, то получим идеально стойкую криптосистему.
В настоящее время наиболее доступными и эффективными являются конгруэнтные генераторы ПСП. Одним из хороших конгруэнтных генераторов является линейный конгруэнтный датчик ПСП. Он вырабатывает последовательности псевдослучайных чисел T(i), описываемые соотношением:
Ti+1 = (A•Ti + C) mod m
где А и С – константы, от которых зависит период генерируемой псевдослучайной последовательности;
Т0 - исходная величина, выбранная в качестве порождающего числа.
m = 2s (обычно), где s – длина слова в битах.
Как показано Д. Кнутом, линейный конгруэнтный датчик ПСЧ имеет максимальную длину m тогда, когда С - нечетное, и А mod 4 = 1.

Работа с программой:
Вносим в файл in.txt 6 шифруемых символов:

Запускаем программу.
Результатом работы программы является содержимое файл out.txt:

В нём содержится исходный, зашифрованный и дешифрованный текст

Алгоритм

main.cpp
#include <string>
#include <iostream>
#include <fstream>
using namespace std;

const int s = 8;
const int A = 17;
const int C = 7;
int T[9];

string bin(int number)
{
string r = "";
while (number >= 1) {
int m = number % 2;
if (m == 0) {
r = '0' + r;
} else {
r = '1' + r;
}
number /= 2;
}

while(r.length() < s) {
r = '0' + r;
}
return r;
}

int dec(string b)
{
int r = 0;
for (int i=0; i<s; i++) {
if (b[i] == '1') {
int power = s-i-1;
r += pow(2.0, power);
}
}
return r;
}

string sum(string a, string b) {
string r = "";
for (int i=0; i<s; i++) {
if (a[i] == b[i])
{
r += '0';
} else {
r += '1';
}
}

while(r.length() < s) {
r = '0' + r;
}
return r;
}

void process(unsigned char* str, unsigned char* result) {
for (int i=0; i<s; i++)
{
result[i] = (char) dec(sum(bin(str[i]), bin(T[i+1])));
}
result[s] = 0;
}

int main () {
system ("chcp 1251");

int m = pow(2.0, s);
T[0] = 3;

for (int i=0; i<s; i++) {
T[i+1] = (A * T[i] + C) % m;
}

unsigned char surname[9];
unsigned char coded[9];
unsigned char decoded[9];

ifstream infile ( "in.txt" );
infile >> surname;
infile.close();

process(surname, coded);
process(coded, decoded);

ofstream outfile ( "out.txt" );
outfile << surname << endl;
outfile << "-----" << endl;
outfile << coded << endl;
outfile << "-----" << endl;
outfile << decoded << endl;
outfile.close();

return 0;
}

процедура bin(число number)
{
строка r = "";
пока (number больше или равно 1)
{
число m = number остаток от деления на 2;
если (m равно 0)
{
в начало r дописать '0';
}
иначе
{
в начало r дописать '1';
}
разделить number на 2;
}
пока (длина r меньше s)
{
в начало r дописать '0';
}
вернуть r;
}

процедура dec(строка b)
{
число r = 0;
цикл (от 0 до s, с шагом 1)
{
если (i-й символ в b равен '1')
{
число power = s-i-1;
увеличить r на 2 в степени power;
}
}
вернуть r;
}

процедура sum(строка a, строка b)
{
строка r = "";
цикл (от 0 до s, с шагом 1)
{
если (i-й символ в a равен i-му символу в b)
{
в конец r дописать '0';
}
иначе
{
в конец r дописать '1';
}
}
пока (длина r меньше s)
{
в начало r дописать '0';
}
вернуть r;
}

процедура process(указатель на строку строку str, указатель на строку result) {
цикл (от 0 до s, с шагом 1)
{
i-й символ result'а = десятичный(сумма(двоичный(i-й символ str), двоичный(i+1-е число T)));
}
s-й символ result'а = 0;
}

число m = 2 в степени s;
0-й символ T = 3;

цикл (от 0 до s, с шагом 1)
i+1-й символ T = отстаток от деления (суммы (произведения A и i-го числа T) и С) на m;
}
строка surname;
строка coded;
строка decoded;

прочитать из файла строку в surname;

обработать(surname, coded);
обработать(coded, decoded);

записать в файл surname;
записать в файл coded;
записать в файл decoded;

Блок схемы







Ручные расчёты:
Переведем сообщение в кодировке ANSI в двоичный код (Таблица 2.1).
б 301 1 1 0 0 0 0 0 1
и 310 1 1 0 0 1 0 0 0
ч 327 1 1 0 1 0 1 1 1
у 323 1 1 0 1 0 0 1 1
к 312 1 1 0 0 1 0 1 1
о 316 1 1 0 0 1 1 1 0
Таблица 2.1. – Перевод символов сообщения в двоичный код

Генерируем гамму шифра (таблица 2.2) по формуле:
Ti+1=(A*Ti+C) mod m, где m=2S
T(0)=3, A=17, C=7
T1 = (17*3+7)mod256 = 58 mod 256 = 58 = 0 0 1 1 1 0 1 0
T2 = (17*58+7)mod256 = 993 mod 256 = 225 = 1 1 1 0 0 0 0 1
T3 = (17*225+7)mod256 = 3832 mod 256 = 248 = 1 1 1 1 1 0 0 0
T4 = (17*248+7)mod256 = 4223 mod 256 = 127 = 0 1 1 1 1 1 1 1
T5 = (17*127+7)mod256 = 2166 mod 256 = 118 = 0 1 1 1 0 1 1 0
T6 = (17*118+7)mod256 = 2013 mod 256 = 221 = 1 1 0 1 1 1 0 1

Таблица 2.2. – Гамма шифра
Для зашифрования используем сложение по mod 2 (таблица 2.3).

б и ч у к о
сообщение 11100001 11101000 11110111 11110011 11101010 11101110
Ti ⊕ 00111010 11100001 11111000 01111111 01110110 11011101
11011011 00001001 00001111 10001100 10011100 00110011

ANSI 219 9 15 140 156 51

Зашифрованное сообщение Ы ☼ Њ њ 3
Таблица 2.3. – Шифрование сообщения

Шифртекст: «Ы ☼Њњ3».
Сделаем проверку на правильность шифрования, поэтому расшифруем сообщение.
11011011 00001001 00001111 10001100 10011100 00110011
00111010 11100001 11111000 01111111 01110110 11011101
11100001 11101000 11110111 11110011 11101010 11101110
Исходное сообщение зашифровано правильно.


Список использованных источников:

1. Борботько, Т.В. Основы защиты информации. Конспект лекций для специальностей 45 01 01 «Многоканальные системы телекоммуникаций», 45 01 02 «Системы радиосвязи, радиовещания и телевидения», 45 01 03 «Системы телекоммуникаций» / Т.В. Борботько, Л.М. Лыньков, В.Ф. Голи-ков. – Минск : БГУИР. – 2005. - 93 с.
2. Голиков, В. Ф. Правовые и организационно-технические методы защиты информации / В. Ф. Голиков [и др.]. – Минск : БГУИР - 2004. – 78 c.
3. Криштопова Е. А. Криптография и охрана комерческой информации: методическое пособие для студ. спец 1 – 40 01 02 “Информационные системы и технологии (в экономике)” заочной.формы обуч.: / Е. А. Кришто-пова. – Минск: БГУИР, 2010.– 140 с.: ил.
4. Лыньков, Л. М. Методы и средства защиты объектов от несанкционированного доступа: учеб.-метод. пособие / Л. М. Лыньков,
Т. В. Борботько, Н. И. Мухуров. – Минск : БГУИР, 2007. – 82 c.
Категория: Другое | Добавил: sagat
Просмотров: 183 | Загрузок: 10
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]