Лаб работа 5
.docxЛабораторная работа №5. Схемы гибридного шифрования.
-
Гибридное шифрование
Гибридная (комбинированная) схема шифрования – схема шифрования, сочетающая в себе преимущества криптосистемы с открытым ключом с производительностью симметричных криптосистем. Симметричный ключ в данной схеме используется для шифрования данных, а ассиметричный – для шифрования симметричного ключа. Графически схема имеет следующий вид:
Рисунок 1. Схема гибридного шифрования
Этап отправки:
-
Алиса генерирует случайный сеансовый ключ
-
сообщение Алисы шифруется сеансовым ключом (с помощью симметричного алгоритма)
-
сеансовый ключ шифруется открытым ключом Боба (асимметричным алгоритмом)
-
Алиса посылает Бобу зашифрованное сообщение и зашифрованный сеансовый ключ
Этап приёма:
-
Боб получает зашифрованное сообщение Алисы и зашифрованный сеансовый ключ
-
Боб расшифровывает сеансовый ключ своим закрытым ключом
-
при помощи полученного, таким образом, сеансового ключа Боб расшифровывает зашифрованное сообщение Алисы
-
Аутентифицируемое шифрование
Аутентифицируемое шифрование – форма шифрования, которая одновременно позволяет обеспечить конфиденциальность, целостность и аутентичность информации. Процедура расшифрования объединяется с процедурой проверки целостности.
Процедура шифрования имеет следующий вид:
-
Вход: Открытый текст, ключ и, опционально, заголовок, не подлежащий шифрованию, но защищаемый процедурой проверки аутентичности сообщения;
-
Выход: Закрытый текст и Код аутентификации сообщения (Message Authentication Code).
Процедура расшифрования имеет следующий вид:
-
Вход: Закрытый текст, ключ, код проверки сообщения и, опционально, заголовок;
-
Выход: Открытый текст или ошибка, если код аутентификации не соответствует закрытому тексту и/или заголовку.
-
Encrypt-then-MAC (EtM)
При данном подходе схема работает следующим образом (рис. 2)
-
В начале осуществляется шифрование открытого текста;
-
Код аутентификации вычисляется на основании закрытого текста, полученного на прошлом этапе;
-
Код аутентификации и сообщение передаются вместе.
Рисунок 2. Схема Encrypt-then-MAC
-
Encrypt-and-MAC (E&M)
При данном подходе схема работает следующим образом (рис. 3)
-
Осуществляется шифрование открытого текста;
-
Независимо от процедуры шифрования, на основании открытого текста вырабатывается код аутентификации сообщения;
-
Код аутентификации и сообщение передаются вместе.
Рисунок 3. Схема Encrypt-and-MAC
-
MAC-then-Encrypt (MtE)
При данном подходе схема работает следующим образом (рис. 3)
-
Вначале осуществляется выработка кода аутентификации сообщения на основании открытого текста;
-
Код аутентификации сообщения дописывается к открытому тексту, и полученная структура шифруется;
-
Закрытый текст, содержащий в себе код аутентификации сообщения, передается получателю.
-
Специальные схемы аутентифицируемого шифрования
В отличии от схем, представленных выше, для которых процедуры шифрования и выработки кода аутентификации сообщения выполняются независимо в два этапа, существуют специальные схемы, которые позволяют в процессе шифрования параллельно осуществлять выработку кода аутентификации сообщения. К таким схемам относят:
-
CCM (Counter with CBC-MAC)
-
OCB (Offset codebook)
-
GCM (Galois/Counter mode)
-
Задания
-
Реализация схемы гибридного шифрования
-
Целью данного задания является реализация гибридную схему шифрования на базе криптографических схем AES/RSA. В рамках задания необходимо использовать шифр AES в режиме ECB. В интерфейсе приложения должны быть наглядно представлены:
-
Исходные данные протокола (модули, ключи, секретные данные и т.п.);
-
Данные, передаваемые по сети каждой из сторон;
-
Проверки, выполняемые каждым из участников.
Процесс взаимодействия между сторонами протокола может быть реализован как с применением сетевых технологий, так и при помощи буферных переменных. Также необходимо выделить каждый из этапов протоколов для того, чтобы его можно было отделить от остальных.
-
Реализация схемы гибридного шифрования для блочного шифра в режиме работы CBC/OFB/CFB
Целью данного задания является модификация гибридной схемы шифрования с целью использования в ней блочного шифра в следующих режимах:
-
CBC (Cipher Block Chaining)
-
OFB (Output feedback)
-
CFB (Cipher feedback)
В интерфейсе приложения должны быть наглядно представлены:
-
Исходные данные протокола (модули, ключи, секретные данные и т.п.);
-
Данные, передаваемые по сети каждой из сторон;
-
Проверки, выполняемые каждым из участников.
Процесс взаимодействия между сторонами протокола может быть реализован как с применением сетевых технологий, так и при помощи буферных переменных. Также необходимо выделить каждый из этапов протоколов для того, чтобы его можно было отделить от остальных.
-
Реализация схемы гибридного шифрования c использованием схем аутентифицируемого шифрования
Целью данного задания является модификация гибридной схемы шифрования с целью добавления в нее информации для аутентификации сообщения. Необходимо осуществить замену блочного шифра в режиме ECB на блочный шифр в режиме, соответствующем Вашему варианту:
-
Encrypt-then-Mac;
-
Encrypt-and-Mac;
-
Mac-then-encrypt;
Номер Вашего варианта соответствует Вашему номеру в группе по модулю 3 плюс 1.
В интерфейсе приложения должны быть наглядно представлены:
-
Исходные данные протокола (модули, ключи, секретные данные и т.п.);
-
Данные, передаваемые по сети каждой из сторон;
-
Проверки, выполняемые каждым из участников.
Процесс взаимодействия между сторонами протокола может быть реализован как с применением сетевых технологий, так и при помощи буферных переменных. Также необходимо выделить каждый из этапов протоколов для того, чтобы его можно было отделить от остальных.
-
Реализация схемы гибридного шифрования c использованием специальных схем аутентифицируемого шифрования
В данном задании необходимо осуществить замену блочного шифра в режиме ECB на блочный шифр в режиме, соответствующем Вашему варианту:
-
CCM (Counter with CBC-MAC)
-
OCB (Offset codebook)
-
GCM (Galois/Counter mode)
Номер Вашего варианта соответствует Вашему номеру в группе по модулю 3 плюс 1.
В интерфейсе приложения должны быть наглядно представлены:
-
Исходные данные протокола (модули, ключи, секретные данные и т.п.);
-
Данные, передаваемые по сети каждой из сторон;
-
Проверки, выполняемые каждым из участников.
Процесс взаимодействия между сторонами протокола может быть реализован как с применением сетевых технологий, так и при помощи буферных переменных. Также необходимо выделить каждый из этапов протоколов для того, чтобы его можно было отделить от остальных.