public inbox for gost@lists.cypherpunks.ru
Atom feed
* [GOST] Хэш ГОСТ 34.11-94
@ 2016-11-15 11:46 Phil Kulin
  2016-11-15 18:46 ` Sergey Matveev
  0 siblings, 1 reply; 6+ messages in thread
From: Phil Kulin @ 2016-11-15 11:46 UTC (permalink / raw)
  To: gost

Я не криптоэнтузиаст, и у меня есть страные вопросы
Использую gogost и pygost для хэшей ГОСТ 34.11-94 для создания DS
записей для DNSSEC.

И например в php функция hash('gost') выдаёт совпадающее с
вышеперечисленными библиотеками значение, а hash('gost-crypto') - в
обратном порядке. Поведение модуля перла Digest::GOST и
Digest::GOST::CryptoPro идентичное. Да я знаю, что стандарт не
устанавливает порядок вывода. Это можно как-то поправить не устраивая
конфертацию результата?

-- 
Non nobis Domine non nobis sed Nomini Tuo da gloriam
Phil Kulin

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GOST] Хэш ГОСТ 34.11-94
  2016-11-15 11:46 [GOST] Хэш ГОСТ 34.11-94 Phil Kulin
@ 2016-11-15 18:46 ` Sergey Matveev
  2016-11-15 19:01   ` Dmitry Eremin-Solenikov
  2016-11-15 20:23   ` Phil Kulin
  0 siblings, 2 replies; 6+ messages in thread
From: Sergey Matveev @ 2016-11-15 18:46 UTC (permalink / raw)
  To: gost

[-- Attachment #1: Type: text/plain, Size: 1963 bytes --]

*** Phil Kulin <phil@dip•host> [2016-11-15 15:35]:
>И например в php функция hash('gost') выдаёт совпадающее с
>вышеперечисленными библиотеками значение, а hash('gost-crypto') - в
>обратном порядке. Поведение модуля перла Digest::GOST и
>Digest::GOST::CryptoPro идентичное. Да я знаю, что стандарт не
>устанавливает порядок вывода. Это можно как-то поправить не устраивая
>конфертацию результата?

Стандарт не фиксирует endianness результата и поэтому нужен хоть
какой-то аргумент в пользу выбора того или иного варианта. Для меня это
то, что используется при хэшировании в X.509 структурах различных. Это в
основном (если не все) стандарты (RFC) КриптоПро. Результаты 34.11-94 в
GoGOST совместимы с X.509. Какой результат работы в PHP или Perl: нужно
узнать почему они сделали именно так.

На самом деле изначально я реализовал как-раз наоборот (относительно
того, что есть сейчас), но раз с точки зрения стандарта всё равно: то я
решил, как-раз таки, упростить задачу для большинства потенциальных
потребителей и сделать как в X.509, чтобы не приходилось при его
использовании "вертеть" хэш.

-- 
Sergey Matveev (http://www.stargrave.org/)
OpenPGP: CF60 E89A 5923 1E76 E263  6422 AE1A 8109 E498 57EF

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GOST] Хэш ГОСТ 34.11-94
  2016-11-15 18:46 ` Sergey Matveev
@ 2016-11-15 19:01   ` Dmitry Eremin-Solenikov
  2016-11-15 19:17     ` Sergey Matveev
  2016-11-15 20:23   ` Phil Kulin
  1 sibling, 1 reply; 6+ messages in thread
From: Dmitry Eremin-Solenikov @ 2016-11-15 19:01 UTC (permalink / raw)
  To: gost

15 ноября 2016 г., 21:46 пользователь Sergey Matveev
<stargrave@stargrave•org> написал:
> *** Phil Kulin <phil@dip•host> [2016-11-15 15:35]:
>>И например в php функция hash('gost') выдаёт совпадающее с
>>вышеперечисленными библиотеками значение, а hash('gost-crypto') - в
>>обратном порядке. Поведение модуля перла Digest::GOST и
>>Digest::GOST::CryptoPro идентичное. Да я знаю, что стандарт не
>>устанавливает порядок вывода. Это можно как-то поправить не устраивая
>>конфертацию результата?

[skip]

> На самом деле изначально я реализовал как-раз наоборот (относительно
> того, что есть сейчас), но раз с точки зрения стандарта всё равно: то я
> решил, как-раз таки, упростить задачу для большинства потенциальных
> потребителей и сделать как в X.509, чтобы не приходилось при его
> использовании "вертеть" хэш.

Я в свое время думал над этим, в итоге реализовывал так, чтобы endianness
подходил для результатов вычисления HMAC/PBKDF2/и т.п. При этом при
формировании подписи действительно приходится "переворачивать" хэш.

Для Стрибога проверочные примеры HMAC есть в рекомендации:
http://tc26.ru/methods/recommendation/%D0%A2%D0%9A26%D0%90%D0%9B%D0%93.pdf

Для GOST R 34.11-94 проверочных примеров HMAC нет, поэтому я добился, чтобы
совпадали результаты PBKDF2
(http://tc26.ru/methods/containers_v1/Addition_to_PKCS5_v1_0.pdf),
а потом уже фиксировал результаты HMAC.

Например, с КриптоПрошным s-box получается следующий результат:
Key: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
Message: 0126bdb87800af214341456563780100
MAC: bad70b61c41095bc47e1141cfaed42726a5ceebd62ce75dbbb9ad76cda9f72f7

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GOST] Хэш ГОСТ 34.11-94
  2016-11-15 19:01   ` Dmitry Eremin-Solenikov
@ 2016-11-15 19:17     ` Sergey Matveev
  2016-11-15 19:22       ` Dmitry Eremin-Solenikov
  0 siblings, 1 reply; 6+ messages in thread
From: Sergey Matveev @ 2016-11-15 19:17 UTC (permalink / raw)
  To: gost

[-- Attachment #1: Type: text/plain, Size: 1206 bytes --]

*** Dmitry Eremin-Solenikov <dbaryshkov@gmail•com> [2016-11-15 22:05]:
>Я в свое время думал над этим, в итоге реализовывал так, чтобы endianness
>подходил для результатов вычисления HMAC/PBKDF2/и т.п. При этом при
>формировании подписи действительно приходится "переворачивать" хэш.

Хм, HMAC и PBKDF2 это хороший аргумент. Мне кажется он даже весомее
моего выбора. Я тогда, как будет время, пожалуй реализую HMAC и PBKDF2
(добавлю тестовые векторы и тому прочее), и вместе с этим, видимо,
"переверну" то что есть сейчас. То есть будет обратно несовместимая
версия. Спасибо за такую наводку!

Пока ГОСТ-ом с HMAC и PBKDF2 просто ещё не сталкивался на практике.

-- 
Sergey Matveev (http://www.stargrave.org/)
OpenPGP: CF60 E89A 5923 1E76 E263  6422 AE1A 8109 E498 57EF

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 801 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GOST] Хэш ГОСТ 34.11-94
  2016-11-15 19:17     ` Sergey Matveev
@ 2016-11-15 19:22       ` Dmitry Eremin-Solenikov
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Eremin-Solenikov @ 2016-11-15 19:22 UTC (permalink / raw)
  To: gost

15 ноября 2016 г., 22:17 пользователь Sergey Matveev
<stargrave@stargrave•org> написал:
> *** Dmitry Eremin-Solenikov <dbaryshkov@gmail•com> [2016-11-15 22:05]:
>>Я в свое время думал над этим, в итоге реализовывал так, чтобы endianness
>>подходил для результатов вычисления HMAC/PBKDF2/и т.п. При этом при
>>формировании подписи действительно приходится "переворачивать" хэш.
>
> Хм, HMAC и PBKDF2 это хороший аргумент. Мне кажется он даже весомее
> моего выбора. Я тогда, как будет время, пожалуй реализую HMAC и PBKDF2
> (добавлю тестовые векторы и тому прочее), и вместе с этим, видимо,
> "переверну" то что есть сейчас. То есть будет обратно несовместимая
> версия. Спасибо за такую наводку!
>
> Пока ГОСТ-ом с HMAC и PBKDF2 просто ещё не сталкивался на практике.

PBKDF2 понадобился для PKCS#12/PFX, а HMAC много где используется.
В TLS, например.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [GOST] Хэш ГОСТ 34.11-94
  2016-11-15 18:46 ` Sergey Matveev
  2016-11-15 19:01   ` Dmitry Eremin-Solenikov
@ 2016-11-15 20:23   ` Phil Kulin
  1 sibling, 0 replies; 6+ messages in thread
From: Phil Kulin @ 2016-11-15 20:23 UTC (permalink / raw)
  To: gost

2016-11-15 21:46 GMT+03:00 Sergey Matveev <stargrave@stargrave•org>:
> *** Phil Kulin <phil@dip•host> [2016-11-15 15:35]:
>>И например в php функция hash('gost') выдаёт совпадающее с
>>вышеперечисленными библиотеками значение, а hash('gost-crypto') - в
>>обратном порядке. Поведение модуля перла Digest::GOST и
>>Digest::GOST::CryptoPro идентичное. Да я знаю, что стандарт не
>>устанавливает порядок вывода. Это можно как-то поправить не устраивая
>>конфертацию результата?

[skip]

> На самом деле изначально я реализовал как-раз наоборот (относительно
> того, что есть сейчас), но раз с точки зрения стандарта всё равно: то я
> решил, как-раз таки, упростить задачу для большинства потенциальных
> потребителей и сделать как в X.509, чтобы не приходилось при его
> использовании "вертеть" хэш.

Ну собственно https://tools.ietf.org/html/rfc5933 - там хэш для
DS-записи в обратном порядке.

-- 
Non nobis Domine non nobis sed Nomini Tuo da gloriam
Phil Kulin

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-11-15 20:23 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-15 11:46 [GOST] Хэш ГОСТ 34.11-94 Phil Kulin
2016-11-15 18:46 ` Sergey Matveev
2016-11-15 19:01   ` Dmitry Eremin-Solenikov
2016-11-15 19:17     ` Sergey Matveev
2016-11-15 19:22       ` Dmitry Eremin-Solenikov
2016-11-15 20:23   ` Phil Kulin