public inbox for gost@lists.cypherpunks.ru
Atom feed
* [GOST] Константа Size в gogost
@ 2016-11-15 11:40 Phil Kulin
2016-11-15 18:40 ` Sergey Matveev
0 siblings, 1 reply; 12+ messages in thread
From: Phil Kulin @ 2016-11-15 11:40 UTC (permalink / raw)
To: gost
Использую http://www.cypherpunks.ru/gogost/
Хэш ГОСТ 34.11-94 для создания DS записей для DNSSEC.
В стандартных crypto/sha1 и так далее есть константа Size, а тут
только метод. Который всё равно возвращает константу. Я чего-то не
понимаю?
--
Non nobis Domine non nobis sed Nomini Tuo da gloriam
Phil Kulin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [GOST] Константа Size в gogost
2016-11-15 11:40 [GOST] Константа Size в gogost Phil Kulin
@ 2016-11-15 18:40 ` Sergey Matveev
2016-11-15 18:53 ` Dmitry Eremin-Solenikov
0 siblings, 1 reply; 12+ messages in thread
From: Sergey Matveev @ 2016-11-15 18:40 UTC (permalink / raw)
To: gost
[-- Attachment #1: Type: text/plain, Size: 1093 bytes --]
*** Phil Kulin <phil@dip•host> [2016-11-15 15:55]:
>В стандартных crypto/sha1 и так далее есть константа Size, а тут
>только метод. Который всё равно возвращает константу. Я чего-то не
>понимаю?
Когда это писалось, то я смотрел только на то чтобы реализовать
интерфейс hash.Hash, а про константы модуля не думал. Похоже что все
модули хэшей имеют BlockSize и Size, так что добавлю. Спасибо за
наводку.
Реализовал в https://git.cypherpunks.ru/cgit.cgi/gogost.git/commit/?id=0f87d5cd27f132216ffca24d2e563efbfd559bf6
Вот только не понятно что прописывать для 34.11-2012 хэша: он же может и
256 и 512 бит. Прописал максимальный размер.
--
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] 12+ messages in thread
* Re: [GOST] Константа Size в gogost
2016-11-15 18:40 ` Sergey Matveev
@ 2016-11-15 18:53 ` Dmitry Eremin-Solenikov
2016-11-15 19:03 ` Sergey Matveev
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: Dmitry Eremin-Solenikov @ 2016-11-15 18:53 UTC (permalink / raw)
To: gost
15 ноября 2016 г., 21:40 пользователь Sergey Matveev
<stargrave@stargrave•org> написал:
> *** Phil Kulin <phil@dip•host> [2016-11-15 15:55]:
>>В стандартных crypto/sha1 и так далее есть константа Size, а тут
>>только метод. Который всё равно возвращает константу. Я чего-то не
>>понимаю?
>
> Когда это писалось, то я смотрел только на то чтобы реализовать
> интерфейс hash.Hash, а про константы модуля не думал. Похоже что все
> модули хэшей имеют BlockSize и Size, так что добавлю. Спасибо за
> наводку.
>
> Реализовал в https://git.cypherpunks.ru/cgit.cgi/gogost.git/commit/?id=0f87d5cd27f132216ffca24d2e563efbfd559bf6
> Вот только не понятно что прописывать для 34.11-2012 хэша: он же может и
> 256 и 512 бит. Прописал максимальный размер.
34.11-2012 -- это два разных варианта хэша. Как sha225/sha256.
Соответственно должен быть один вариант, у которого Size=256 и второй,
у которого Size=512.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [GOST] Константа Size в gogost
2016-11-15 18:53 ` Dmitry Eremin-Solenikov
@ 2016-11-15 19:03 ` Sergey Matveev
2016-11-15 19:10 ` Dmitry Eremin-Solenikov
2016-11-15 20:29 ` Phil Kulin
` (2 subsequent siblings)
3 siblings, 1 reply; 12+ messages in thread
From: Sergey Matveev @ 2016-11-15 19:03 UTC (permalink / raw)
To: gost
[-- Attachment #1: Type: text/plain, Size: 1013 bytes --]
*** Dmitry Eremin-Solenikov <dbaryshkov@gmail•com> [2016-11-15 22:00]:
>Соответственно должен быть один вариант, у которого Size=256 и второй,
>у которого Size=512.
То есть вы предлагаете сделать два отдельных gost34112012-256 и
gost34112012-512 модуля? А где в документации к хэш-функциях в Go
говорится что эти константы обязаны быть и на них стоит ориентироваться?
Разе не только ли hash.Hash это обязательное к реализации? Делать два
отдельных модуля только ради констант которые... лично я например
никогда не использовал (а только .Size()), это overhead.
--
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] 12+ messages in thread
* Re: [GOST] Константа Size в gogost
2016-11-15 19:03 ` Sergey Matveev
@ 2016-11-15 19:10 ` Dmitry Eremin-Solenikov
2016-11-15 19:20 ` Sergey Matveev
0 siblings, 1 reply; 12+ messages in thread
From: Dmitry Eremin-Solenikov @ 2016-11-15 19:10 UTC (permalink / raw)
To: gost
15 ноября 2016 г., 22:03 пользователь Sergey Matveev
<stargrave@stargrave•org> написал:
> *** Dmitry Eremin-Solenikov <dbaryshkov@gmail•com> [2016-11-15 22:00]:
>>Соответственно должен быть один вариант, у которого Size=256 и второй,
>>у которого Size=512.
>
> То есть вы предлагаете сделать два отдельных gost34112012-256 и
> gost34112012-512 модуля?
Да. Например, потому что у них разные начальные значения. Разные длины.
Опять-таки, для HMAC, например, результат -256 -- это последние байты
512-битного внутреннего результата, а не первые.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [GOST] Константа Size в gogost
2016-11-15 19:10 ` Dmitry Eremin-Solenikov
@ 2016-11-15 19:20 ` Sergey Matveev
0 siblings, 0 replies; 12+ messages in thread
From: Sergey Matveev @ 2016-11-15 19:20 UTC (permalink / raw)
To: gost
[-- Attachment #1: Type: text/plain, Size: 866 bytes --]
*** Dmitry Eremin-Solenikov <dbaryshkov@gmail•com> [2016-11-15 22:15]:
>Да. Например, потому что у них разные начальные значения. Разные длины.
>Опять-таки, для HMAC, например, результат -256 -- это последние байты
>512-битного внутреннего результата, а не первые.
Хм, тоже весомый аргумент. Избавиться от if-ов в коде зависящих от
реализации это хорошо и стоит того. Похоже тоже, значит, в следующей
версии сделаю два модуля и обратную несовместимость.
--
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] 12+ messages in thread
* Re: [GOST] Константа Size в gogost
2016-11-15 18:53 ` Dmitry Eremin-Solenikov
2016-11-15 19:03 ` Sergey Matveev
@ 2016-11-15 20:29 ` Phil Kulin
2016-11-15 20:34 ` Sergey Matveev
2016-11-15 21:34 ` Grigory Marshalko
2016-11-15 21:43 ` Grigory Marshalko
3 siblings, 1 reply; 12+ messages in thread
From: Phil Kulin @ 2016-11-15 20:29 UTC (permalink / raw)
To: Dmitry Eremin-Solenikov; +Cc: gost
2016-11-15 21:53 GMT+03:00 Dmitry Eremin-Solenikov <dbaryshkov@gmail•com>:
> 15 ноября 2016 г., 21:40 пользователь Sergey Matveev
> <stargrave@stargrave•org> написал:
>> *** Phil Kulin <phil@dip•host> [2016-11-15 15:55]:
>> Реализовал в https://git.cypherpunks.ru/cgit.cgi/gogost.git/commit/?id=0f87d5cd27f132216ffca24d2e563efbfd559bf6
>> Вот только не понятно что прописывать для 34.11-2012 хэша: он же может и
>> 256 и 512 бит. Прописал максимальный размер.
> 34.11-2012 -- это два разных варианта хэша. Как sha225/sha256.
> Соответственно должен быть один вариант, у которого Size=256 и второй,
> у которого Size=512.
Так себе решение, но в стандартном вот так (там модуль для sha224,
sha256, sha384 и sha512):
https://golang.org/src/crypto/sha512/sha512.go
--
Non nobis Domine non nobis sed Nomini Tuo da gloriam
Phil Kulin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [GOST] Константа Size в gogost
2016-11-15 20:29 ` Phil Kulin
@ 2016-11-15 20:34 ` Sergey Matveev
2016-11-15 20:49 ` Dmitry Eremin-Solenikov
2016-11-15 21:25 ` Phil Kulin
0 siblings, 2 replies; 12+ messages in thread
From: Sergey Matveev @ 2016-11-15 20:34 UTC (permalink / raw)
To: gost
[-- Attachment #1: Type: text/plain, Size: 998 bytes --]
*** Phil Kulin <phil@dip•host> [2016-11-15 23:30]:
>Так себе решение, но в стандартном вот так (там модуль для sha224,
>sha256, sha384 и sha512):
>https://golang.org/src/crypto/sha512/sha512.go
Ну раз там Size224, Size256, итд, то это уже точно значит нельзя считать
как константа которая должна присутствовать в модуле (но не хочу сказать
что я удалю в gogost :-)). Эти константы явно только осознанно можно
импортировать/использовать. То есть hash.Hash.Size() в любом случае
предпочтительнее для использования: эта функция выдаст точно что должен
вернуть хэш.
--
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] 12+ messages in thread
* Re: [GOST] Константа Size в gogost
2016-11-15 20:34 ` Sergey Matveev
@ 2016-11-15 20:49 ` Dmitry Eremin-Solenikov
2016-11-15 21:25 ` Phil Kulin
1 sibling, 0 replies; 12+ messages in thread
From: Dmitry Eremin-Solenikov @ 2016-11-15 20:49 UTC (permalink / raw)
To: gost
15 ноября 2016 г., 23:34 пользователь Sergey Matveev
<stargrave@stargrave•org> написал:
> *** Phil Kulin <phil@dip•host> [2016-11-15 23:30]:
>>Так себе решение, но в стандартном вот так (там модуль для sha224,
>>sha256, sha384 и sha512):
>>https://golang.org/src/crypto/sha512/sha512.go
>
> Ну раз там Size224, Size256, итд, то это уже точно значит нельзя считать
> как константа которая должна присутствовать в модуле (но не хочу сказать
> что я удалю в gogost :-)). Эти константы явно только осознанно можно
> импортировать/использовать. То есть hash.Hash.Size() в любом случае
> предпочтительнее для использования: эта функция выдаст точно что должен
> вернуть хэш.
Заглянул в HMAC, как в пример использования. Модуль дергает функции
Size() и BlockSize().
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [GOST] Константа Size в gogost
2016-11-15 20:34 ` Sergey Matveev
2016-11-15 20:49 ` Dmitry Eremin-Solenikov
@ 2016-11-15 21:25 ` Phil Kulin
1 sibling, 0 replies; 12+ messages in thread
From: Phil Kulin @ 2016-11-15 21:25 UTC (permalink / raw)
To: gost
2016-11-15 23:34 GMT+03:00 Sergey Matveev <stargrave@stargrave•org>:
> *** Phil Kulin <phil@dip•host> [2016-11-15 23:30]:
>>Так себе решение, но в стандартном вот так (там модуль для sha224,
>>sha256, sha384 и sha512):
>>https://golang.org/src/crypto/sha512/sha512.go
> Ну раз там Size224, Size256, итд, то это уже точно значит нельзя считать
> как константа которая должна присутствовать в модуле (но не хочу сказать
> что я удалю в gogost :-)). Эти константы явно только осознанно можно
> импортировать/использовать. То есть hash.Hash.Size() в любом случае
> предпочтительнее для использования: эта функция выдаст точно что должен
> вернуть хэш.
Да, тут наверное да. Но у них примеры на тех сайзах построены. Думаю
не будет прямо чтобы очень места занимать.
--
Non nobis Domine non nobis sed Nomini Tuo da gloriam
Phil Kulin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [GOST] Константа Size в gogost
2016-11-15 18:53 ` Dmitry Eremin-Solenikov
2016-11-15 19:03 ` Sergey Matveev
2016-11-15 20:29 ` Phil Kulin
@ 2016-11-15 21:34 ` Grigory Marshalko
2016-11-15 21:43 ` Grigory Marshalko
3 siblings, 0 replies; 12+ messages in thread
From: Grigory Marshalko @ 2016-11-15 21:34 UTC (permalink / raw)
To: Sergey Matveev, gost
Добрый вечер,
да это действительно две различных хэш-функции - они отличаются длиной хэш-кода, и значением вектора инициализации.
Regards,
Grigory Marshalko,
expert,
Technical committee for standardisation "Cryptography and security mechanisms" (TC 26)
www.tc26.ru
15 ноября 2016 г., 22:05, "Sergey Matveev" <stargrave@stargrave•org> написал:
> *** Dmitry Eremin-Solenikov <dbaryshkov@gmail•com> [2016-11-15 22:00]:
>
>> Соответственно должен быть один вариант, у которого Size=256 и второй,
>> у которого Size=512.
>
> То есть вы предлагаете сделать два отдельных gost34112012-256 и
> gost34112012-512 модуля? А где в документации к хэш-функциях в Go
> говорится что эти константы обязаны быть и на них стоит ориентироваться?
> Разе не только ли hash.Hash это обязательное к реализации? Делать два
> отдельных модуля только ради констант которые... лично я например
> никогда не использовал (а только .Size()), это overhead.
>
> --
> Sergey Matveev (http://www.stargrave.org)
> OpenPGP: CF60 E89A 5923 1E76 E263 6422 AE1A 8109 E498 57EF
>
> _______________________________________________
> GOST mailing list
> GOST@lists•cypherpunks.ru
> http://lists.cypherpunks.ru/mailman/listinfo/gost
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [GOST] Константа Size в gogost
2016-11-15 18:53 ` Dmitry Eremin-Solenikov
` (2 preceding siblings ...)
2016-11-15 21:34 ` Grigory Marshalko
@ 2016-11-15 21:43 ` Grigory Marshalko
3 siblings, 0 replies; 12+ messages in thread
From: Grigory Marshalko @ 2016-11-15 21:43 UTC (permalink / raw)
To: gost
[-- Attachment #1: Type: text/plain, Size: 1699 bytes --]
Добрый вечер,да это действительно две различных хэш-функции - они отличаются длиной хэш-кода, и значением вектора инициализации.
Regards,
Grigory Marshalko,
expert,
Technical committee for standardisation "Cryptography and security mechanisms" (TC 26)
www.tc26.ru
15 ноября 2016 г., 22:05, "Sergey Matveev" написал:
*** Dmitry Eremin-Solenikov [2016-11-15 22:00]:
Соответственно должен быть один вариант, у которого Size=256 и второй,
у которого Size=512.
То есть вы предлагаете сделать два отдельных gost34112012-256 и
gost34112012-512 модуля? А где в документации к хэш-функциях в Go
говорится что эти константы обязаны быть и на них стоит ориентироваться?
Разе не только ли hash.Hash это обязательное к реализации? Делать два
отдельных модуля только ради констант которые... лично я например
никогда не использовал (а только .Size()), это overhead.
--
Sergey Matveev (http://www.stargrave.org (http://www.stargrave.org))
OpenPGP: CF60 E89A 5923 1E76 E263 6422 AE1A 8109 E498 57EF
_______________________________________________
GOST mailing list
GOST@lists•cypherpunks.ru (mailto:GOST@lists•cypherpunks.ru)
http://lists.cypherpunks.ru/mailman/listinfo/gost (http://lists.cypherpunks.ru/mailman/listinfo/gost)
[-- Attachment #2: Type: text/html, Size: 2316 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2016-11-16 15:06 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-15 11:40 [GOST] Константа Size в gogost Phil Kulin
2016-11-15 18:40 ` Sergey Matveev
2016-11-15 18:53 ` Dmitry Eremin-Solenikov
2016-11-15 19:03 ` Sergey Matveev
2016-11-15 19:10 ` Dmitry Eremin-Solenikov
2016-11-15 19:20 ` Sergey Matveev
2016-11-15 20:29 ` Phil Kulin
2016-11-15 20:34 ` Sergey Matveev
2016-11-15 20:49 ` Dmitry Eremin-Solenikov
2016-11-15 21:25 ` Phil Kulin
2016-11-15 21:34 ` Grigory Marshalko
2016-11-15 21:43 ` Grigory Marshalko