Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline suppp  
#1 Оставлено : 19 марта 2010 г. 17:02:48(UTC)
suppp

Статус: Новичок

Группы: Участники
Зарегистрирован: 19.03.2010(UTC)
Сообщений: 4

Коллеги, правильно ли я делаю хеш переменной data (C#) ?

IntPtr hProv = new IntPtr();
bool retVal = CryptAcquireContext(out hProv, null, Crypt.CP_GR3410_2001_PROV_A, Crypt.PROV_GOST_2001_DH, Crypt.CRYPT_VERIFYCONTEXT);
IntPtr hHash = new IntPtr();
retVal = CryptCreateHash(hProv, Crypt.CALG_GR3411, IntPtr.Zero, 0, out hHash);
int dataLen = data.Length;
retVal = CryptHashData(hHash, data, dataLen, 0);
int bufferLen = 32; // hash size
byte[] buffer = new byte[bufferLen];

retVal = CryptGetHashParam(hHash, HP_HASHVAL, buffer, ref bufferLen, 0);
retVal = CryptDestroyHash(hHash);
retVal = CryptReleaseContext(hProv, 0);

string dataDigest = Convert.ToBase64String(buffer, 0, buffer.Length);


В результате от data="" мы имеем "981e5f3ca30c841487830f84fb433e13ac1101569b9c13584ac483234cd656c0", а по ГОСТу должно быть
"ce85b99cc46752fffee35cab9a7b0278abb4c2d2055cff685af4912c49490f8d"

В чем проблема? Подозреваю что нужно указывать доп. параметры, возможно параметры S-BOX ?

Отредактировано пользователем 19 марта 2010 г. 17:03:31(UTC)  | Причина: Не указана

Offline Челпанов А.  
#2 Оставлено : 22 марта 2010 г. 12:39:02(UTC)
Челпанов А.

Статус: Активный участник

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Значение хеш-функции 981E5F3CA30C841487830F84FB433E13AC1101569B9C13584AC483234CD656C0 для данных нулевой длины, для стартового вектора хеширования и узла замены id-GostR3411-94-CryptoProParamSet указанного в RFC 4357 и используемого КриптоПро CSP правильное.
Откуда получено результирующее значение ce85b99cc46752fffee35cab9a7b0278abb4c2d2055cff685af4912c49490f8d? В ГОСТ нет примеров с узлом замены приведенных в RFC 4357, используемый в ГОСТ узел замены может использоваться ТОЛЬКО для тестов.
С уважением, Александр.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.