ГОСТ Р 34.11-94: различия между версиями

170 байт добавлено ,  10 лет назад
(→‎Формат вывода: пояснение, почему порядок обратный)
 
 
ИзГОСТ Р 34.11-94 в «приложенияприложении А» <ref name="gostAppA"/> стандарта видно, что алгоритм оперирует с [[Little-endian]] числами. Многие реализации (в частности ''rhash'', ''mhash'' library, консольная утилита [[openssl]]) выводят результирующий хэш — 32 байта результирующего хэша в шестнадцаричном представлении, в том порядке, какв каком они располагаются в памяти, младшие байты первыми. Данное представление оправдывается тем, что оно же используется при выводе хэш сумм широко распространённых западных алгоритмов [[MD5]], [[SHA1]], [[Tiger]], [[Whirlpool]] и др.
GOST("This is message, length=32 bytes") = B1C466D37519B82E8319819FF32595E047A28CB6F83EFF1C6916A815A637FFFA
B1C466D37519B82E8319819FF32595E047A28CB6F83EFF1C6916A815A637FFFA
 
В приведённых в стандарте примерах<ref name="gostAppA"/>, результирующий хэш записывается, как шестнадцатеричное представление 256-битного Little-endian числа. Тем самым, получается обратный порядок байт (старшие разряды первыми):. Такой же порядок использует, в частности, программа ''gostsum'' поставляющяся с исходниками библиотеки OpenSSL.
 
В приведённых в стандарте примерах<ref name="gostAppA"/>, результирующий хэш записывается, как шестнадцатеричное представление 256-битного Little-endian числа. Тем самым, получается обратный порядок байт (старшие разряды первыми):
H = FAFF37A6 15A81669 1CFF3EF8 B68CA247 E09525F3 9F811983 2EB81975 D366C4B1