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

Страницы работы

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

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

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

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПУТЕЙ СООБЩЕНИЯ

Кафедра: «Информатика и информационная безопасность»

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

“ИЗУЧЕНИЕ И ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ ДВУХКЛЮЧЕВЫХ БЛОЧНЫХ КРИПТОГРАФИЧЕСКИХ АЛГОРИТМОВ, ОСНОВАННЫХ НА СЛОЖНОСТИ РАЗЛОЖЕНИЯ ЦЕЛЫХ ЧИСЕЛ”

         Выполнила студент

          Группы КИБ-808

          Михейкин А.И.

Санкт-Петербург

2011

Задание 1. Генерация ключей шифрования-дешифрования:

Вариант № 9

n = 11741

p = 59

q = 199

e = 163

d = 775

φ(n) = (p - 1)(q - 1) = 11484 – функция Эйлера

Задание 2. Изучение методов шифрования – дешифрования информации

Исходный текст: РЕКА

Криптограмма y=xe(modn), полученная с использованием алгоритма модульного возведения в степень, где x равен коду символа по таблице ASCII:

X = (208, 197, 202, 192)

Дешифрование x=yd(modn):

X’ = (208, 197, 202, 192)

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

Задание 3. Изучение методов генерации цифровой подписи и её проверки

a)  Сгенерировать цифровую подпись открытого текста x без использования хэш-функции (аналогично шифрованию, но с другим ключом) s=xd(modn).

Исходныйтекст: РЕКА

Исходный текст в ASCII:

x1 = 208; x2 = 197; x3 = 202; x4 = 192;

Исходный текст в цифровом виде:

s1 = 8986; s2 = 6443; s3 = 5338; s4 = 518

b)  Создать подделку цифровой подписи путем возведения x и s в степень с произвольным показателем l (для его получения использовать генератор случайных чисел) x=xl(modn), s=sl(modn).

l = 10774 )()()()()()()()()()()

x1' = 2290; x2' = 3183; x3' = 4096; x4' = 1334; x5' = 766

s1' = 1810; s2' = 3699; s3' = 4; s4' = 2796; s5' = 1048

c)  Проверить подлинность цифровой подписи:

a=se(modn), проверить равенство a=x,

b=se(modn), проверить равенство b=x.

При расшифровке текста, подписного подлинной цифровой подписью, получаем текст, который совпадает с исходным текстом:

a1' = 162; a2' = 165; a3' = 225; a4' = 173; a5' = 160 => a = x.

При расшифровке текста, подписного фальшивой цифровой подписью, получаем текст, который не совпадает с исходным текстом:

b1' = 2290; b2' = 3183; b3' = 4096; b4' = 1334; b5' = 766 => b ≠ x.

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

d)  Получить хэш-образ открытого текста h(x) (исходный текст тот же):

Хэш - функция h(X)=4125

e)  Получить подпись для хэш-образа s=hd(x)(modn), используя алгоритм модульного возведения в степень.

s = 3454

f)  Создание подделки цифровой подписи путем возведения x и s в степень с произвольным показателем m (для его получения использовать генератор случайных чисел) x=xm(modn), s=sm(modn).

m = 4921

x' = 3790

s' = 1670

g)  Проверка подлинности цифровых подписей (x,s) и (x,s).

x = 4125

x' = 3790

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

Задание 4. Изучение методов криптоанализа алгоритмов, основанных на сложности разложении целых чисел

Используя алгоритм случайных чисел:

число 3

 Количество операций разложения - 0

множители =3

число 45

 Количество операций разложения - 2

множители =3*3*5

число 347

Количество операций разложения - 17

множители =347

число 1234

Количество операций разложения - 23

множители =2*617

число 54321

Количество операций разложения - 29

множители =3*19*953

Используя алгоритм простых чисел:

число 1

Количество операций разложения - 0

множители =1

число 13

Количество операций разложения - 2

множители =13

 число 751

Количество операций разложения - 26

множители =751

число 1777

Количество операций разложения - 41

множители =1777

число 11113

Количество операций разложения - 104

Множители =11113

вид алгоритма

случайных чисел

простых чисел

длина числа

1

2

3

4

5

1

2

3

4

5

Количество операций разложения

0

2

17

23

29

0

2

26

41

104

количество множителей

1

3

1

2

3

1

1

1

1

1

             

Похожие материалы

Информация о работе

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

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

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

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.