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

1.2. Функция хэширования типа ГОСТ Р 34.11-94 (рисунок 8) у которой длина входного сообщения X равна 16 бит, а длина получаемого хэш-кода H – 8 бит. Начальное значение хэш-кода H0 размером 8 бит задается студентом самостоятельно.

Схема получения хэш-кода (блок “ГОСТ” на рисунке 8) состоит из 3-х этапов.

Рисунок 8 – Схема получения хэш-кода c помощью функции типа ГОСТ Р 34.11-94

Этап 1 – Генерация ключей.

А) Задаются 4 константы С1, С2, С3, С4 размером 8 бит каждая (студент задает их самостоятельно).

Б) Определяется процедура сдвига 8-битового числа Z = {z1…z8} в виде

S(Z) = z1  z3 || z2  z4 || z7 || z8 || z3 || z4 || z5 || z6, где  - операция XOR, || - операция конкатенации.

В) Вычисляются значения 4-х ключей Кi

Ui = H0  Ci,

Vi = X1  Ci,

Wi = Ui  Vi,

Ki = S (Wi).

где i = 1…4, X1 – 1-8 биты входного сообщения X.

Этап 2 – Шифрующее преобразование.

Шифрующее преобразование осуществляется согласно выражению

Y = K1  K2  K3  K4  X2, где X2 – 9-16 биты входного сообщения X.

Этап 3 – Перемешивание.

Значение хэш-кода вычисляется по формуле

H = S (Y).

2. Алгоритм электронной цифровой подписи.

2.1. Алгоритм на основе метода DSA.

2.2. Алгоритм на основе ГОСТ Р 34.10-94.

ЛАБОРАТОРНАЯ РАБОТА № 6

Криптографические протоколы

Цель работы

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

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

1. Реализуйте алгоритм разделения секрета согласно варианту задания.

2. Задайте необходимые данные и протестируйте работу криптографического протокола, созданного в пункте 1.

3. Реализуйте алгоритм предсказания бита или подбрасывания монеты согласно варианту задания.

4. Задайте необходимые данные и протестируйте работу криптографического протокола, созданного в пункте 3.

5. Реализуйте алгоритм проведения безопасных совместных вычислений согласно варианту задания.

6. Задайте необходимые данные и протестируйте работу криптографического протокола, созданного в пункте 5.

7. Оформите и защитите лабораторную работу.

Контрольные вопросы

1. Дайте определение термину “криптографический протокол”.

2. Назовите основные типы криптографических протоколов.

3. Для каких целей используются “доказательства с нулевым разглашением”?

4. Каким свойством обладают функции, используемые в данной работе для разделения секрета?

5. Используя отчет о лабораторной работе, поясните принципы работы реализованных алгоритмов разделения секрета, предсказания бита, подбрасывания монеты и проведения безопасных совместных вычислений.

Варианты задания

1. Протокол разделения секрета.

1.1. Разделение секрета осуществляется между 3 участниками с помощью функции XOR.

1.2. Разделение секрета осуществляется между 3 участниками с помощью функции mod.

1.3. (3, 5) пороговая схема разделения секрета на основе интерполяционного многочлена.

1.4. (2, 5) пороговая схема разделения секрета на основе интерполяционного многочлена.

1.5. (4, 5) пороговая схема разделения секрета на основе интерполяционного многочлена.

2. Протокол предсказания бита или подбрасывания монеты.

2.1. Предсказания бита осуществляется с помощью симметричного метода шифрования.

2.2. Предсказания бита осуществляется с помощью хэш-функции.

2.3. Подбрасывание монеты осуществляется с помощью симметричного метода шифрования.

2.4. Подбрасывание монеты осуществляется с помощью хэш-функции.

2.5. Предсказания бита осуществляется с помощью электронной цифровой подписи, основанной на методе шифрования RSA.

3. Протокол безопасных совместных вычислений.

3.1. Вычисление средней заработной платы сотрудников подразделения, состоящего из 4 человек, с помощью метода шифрования RSA.

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

3.3. Вычисление средней заработной платы сотрудников подразделения, состоящего из 4 человек, где первые 2 сотрудника использует метод шифрования RSA, а вторые 2 – метод на основе задачи об укладке рюкзака.