Оператор шифрования с гарантией целостности EH(r,t) подобен Е за исключением того, что цифровой конверт PKCS#7 включает в себя хэш группы t. Он предполагает быстрое симметричное шифрование открытого текста сообщения и последующее шифрование секретного ключа с использование общедоступного ключа получателя. Процедура такого шифрования представлена в таблице 4.6.2.10.
Таблица 4.6.2.10. Асимметричное шифрование с гарантией целостности
Шаг | Действие |
1 | Инициализировать и загрузить информационные поля, зависимые от типа сообщения |
2 | Преобразовать информационные поля, подлежащие шифрованию, в формат DER |
3 | Вычислить хэш SHA-1 результата шага 2 |
4 | Сформировать новый ключ DES |
5 | Зашифровать результат работы шага 2, используя ключ DES из шага 4. Используется режим DES-CBC. |
6 | Инициализировать буфер зашифрованных данных с помощью кода типа данных, идентификатора алгоритма DES и добавить эту информацию к результату шага 5. |
7 | Инициализировать буфер цифрового конверта, в зависимости от получателя (128 байт) |
8 | Инициализировать буфер дополнительного шифрования OAEP с использование ключа из шага 4 и хэша, вычисленного на шаге 5. |
9 | Применить OAEP для буфера цифрового конверта |
10 | Зашифровать результат шага 9, используя асимметричный общедоступный ключ объекта r |
11 | Инициализировать информационный буфер получателя посредством идентификатора алгоритма RSA и добавить туда результат работы шага 10 |
12 | Инициализировать буфер PKCS#7 и положить туда результат шага 11 и 6 |
13 | Прислать результат шага 12 |
Оператор симметричного шифрования EK(k,t) шифрует открытый текст группы t с привлечением ключа k. Для целей шифрования здесь могут использоваться алгоритмы DES или CDMF. Процедура симметричного шифрования представлена в таблице 4.6.2.11.
Таблица 4.6.2.11. Процедура симметричного шифрования
Шаг | Действие |
1 | Инициализировать и загрузить информационные поля, зависимые от типа сообщения |
2 | Преобразовать информационные поля, подлежащие шифрованию, в формат DER |
3 | Зашифровать результат работы шага 2, используя ключ k. Применяется алгоритм DES или CDMF в зависимости от того, какой из этих алгоритмов поддерживается получателем сообщения. Для DES используется режим DES-CBC. |
4 | Инициализировать буфер зашифрованных данных с помощью кода типа данных, идентификатора алгоритма (DES или CDMF) и добавить к этой информации результат шага 3. |
5 | Прислать результат шага 4 |