14.08.2006 17:02:52гост 2001 и 94 Ответов: 5
pavel
Добрый день
Возможно ли использование схемы шифрования (когда для получения сессионного ключа используются сертификаты отправителя и получателя) на пользовательских сертификатах различных гостов 2001 и 94
 
Ответы:
15.08.2006 11:52:41Василий
Зависит от используемого приложения.
Можно уточнить - какое приложение предполагается использовать на стороне отправителя и на стороне получателя?
15.08.2006 12:50:47pavel
Добрый день
На данный момент существует собственное разработанное ПО, которое уже довольно долго функционирует с использованием сертификатов 94 гост (шифрование, эцп). При шифровании используются сертификаты отправителя и получателя. В связи с переходом на 2001 гост интересен случай когда шифрование будет выполнятся с использованием сертификатов различных гостов, если существует возможность использовать разные госты при получении сессионного ключа. Интересуют возможности именно этой схемы, так как сертификат отправителя помимо участия при создании сессионного ключа выступает в виде элемента авторизации
15.08.2006 19:08:55Василий
Понятно.
В двух словах - ключ Диффи-Хеллмана НЕЛЬЗЯ создать на основе реальных "половинок" (свой закрытый + чужой открытый ключи или наоборот), когда алгоритмы разные - 2001 и 94.
Для шифрования в таком случае следует использовать вместо своего реального ключа (AT_KEYEXCHANGE) - эфемеральный ключ с алгоритмом, совпадающим с алгоритмом из сертификата получателя. Это CALG_DH_EX_EPHEM для 94 и CALG_DH_EL_EPHEM для 2001.

Многие готовые приложения (например, почтовые клиенты MS Outlook, Outlook express) так и работают.
17.08.2006 17:29:40pavel
Добрый день
Не могли бы Вы подробнее описать схему шифрования с использованием CALG_DH_XX _EPHEM или может быть есть примеры, такие как в sdk samples v2, v3 или ссылки на соответствующий материал
Заранее благодарен.
21.08.2006 12:01:47Василий
Собственно говоря, на низком уровне всё то же самое, что и на реальном ключе, за исключением того, что вместо ..GetUserKey(..AT_KEYEXCHANGE..) используется ..GenKey с эфемеральным алгоритмом.

Если у Вас есть готовое приложение, работающее на реальных ключах - пришлите исходник части кода (на адрес vas@cryptopro.ru) - я более конкретно подскажу Вам, исходя из используемых там функций.