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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline MDF  
#1 Оставлено : 28 сентября 2009 г. 15:03:47(UTC)
MDF

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

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

Подпись создается в Windows, но проверяется на собственной реализации.
И никак не сходится. Но начну попорядку.

На виндовой стороне подпись рассчитывается следующим образом. (Сокращенный вариант)

CryptCreateHash(hProv,CALG_GR3411,0,0,hHash);
CryptHashData(hHash,pDataToSign,dwDataLen,0);
CryptSignHash(hHash,dwKeySpec,NULL,0,pSignedData,&dwSize);

Проверка происходит на собственной реализации алгоритмов. Но результаты примерно следующие:

Хеш сходится.
Собственная реализация Р34-10 отрабатывает все примеры из стандарта.
Блок параметров для Р34-10 следующий:
// p = 0xffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffd97
// q = 0xffffffff ffffffff ffffffff ffffffff 6c611070 995ad100 45841b09 b761b893
// a = p-3
// b = 0xa6
// Xp = 1
// Yp = 0x8d91e471 e0989cda 27df505a 453f2b76 35294f2d df23e3b1 22acc99c 9e9f1e14
По моим сведениям должен соответствовать криптопрошному.

Собственно сама подпись проверялась на тестовом примере в Windows, все хорошо.

Но подпись упорно не сходится. Можно было бы грешить на какой нибудь порядок байт, но я практически все варианты проверил, уже неделю бъюсь.

Рискну предположить что производятся какие-то дополнительные преобразования при подписывании хеша.
Хотел бы узнать какие.

Заранее спасибо за помощь. Имеется сертификат, данные и подпись, на которых провожу испытания, промежуточные данные, если нужно тоже могу предоставить.
Offline MDF  
#2 Оставлено : 28 сентября 2009 г. 21:19:28(UTC)
MDF

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

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

Сверился с RFC...

В сертификате указан OID id-GostR3410-2001-CryptoPro-XchA-ParamSet
Мой блок ему соответствует.

Сигнатура в правильном порядке. (big endian, (s, r))
Ключ тоже в правильном порядке (little endian, (x, y))

Попытался проверить на CryptoPro контрольный пример из стандарта - не сходится...
Должен сходиться?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.