И тем не
менее, вот у меня выкачанный
вчера в 12:22 мастер, вот я в
нем удаляю все .o и делаю make
gost12sum. Запускаю
./gost12sum
~/streebog-master/examples/M1
получаю
86d74062bf80c93fb604f5f80d4a34250347d254070b62abbd488b544791db99
/home/igus/streebog-master/examples/M1
Удаляю все .o, собираю
gcc -c -g -DL_ENDIAN -o
gosthash2012.o gosthash2012.c
make gost12sum
запускаю
./gost12sum
~/streebog-master/examples/M1
получаю
00557be5e584fd52a449b16b0251d05d27f94ab76cbaa6da890b59d8ef1e159d
/home/igus/streebog-master/examples/M1
С уважением,
Игорь Устинов,
Зам.ген.директора
ООО "Криптоком
17.08.2017
22:15, Dmitry Belyavsky
пишет:
Привет!
Вообще ты что-то
странное пишешь.
Потому что сейчас в
мастере вроде как
детектится
endianess.
Энжин, может, и
не предназначен
для сборки вне
дерева OpenSSL,
а вот gostsum'ы
интуитивно
представляются
openssl-независимыми.
Моё вчерашнее
утверждение, что
gost12sum в
мастере считает
хэш неправильно,
было вызвано
именно описанной
причиной: я
выкачал мастер и
сказал make
gost12sum.
Сейчас я
пересобрал
gosthash2012.o с
опцией
-DL_ENDIAN,
после чего
gost12sum
посчитал хэш от
M1 правильно,
только байты
выводит в
порядке,
обратном к
openssl.
С уважением,
Игорь Устинов,
Зам.ген.директора
ООО "Криптоком
17.08.2017
16:50, Dmitry
Belyavsky
пишет:
Привет!
По моим
представлениям
-DL_ENDIAN
должно
исправить
ситуацию во
втором случае.
А вообще
engine в 1.0.2
не
предназначен
для сборки вне
дерева
openssl.
Если
собрать
открытый энжин
в составе
openssl, то
файл
gosthash2012.c
компилируется
командой
gcc
-I../../include
-fPIC
-DOPENSSL_PIC
-DZLIB
-DOPENSSL_THREADS
-D_REENTRANT
-DDSO_DLFCN
-DHAVE_DLFCN_H
-g
-Wa,--noexecstack
-m64
-DL_ENDIAN -O3
-Wall
-DOPENSSL_IA32_SSE2
-DOPENSSL_BN_ASM_MONT
-DOPENSSL_BN_ASM_MONT5
-DOPENSSL_BN_ASM_GF2m
-DRC4_ASM
-DSHA1_ASM
-DSHA256_ASM
-DSHA512_ASM
-DMD5_ASM
-DAES_ASM
-DVPAES_ASM
-DBSAES_ASM
-DWHIRLPOOL_ASM
-DGHASH_ASM
-DECP_NISTZ256_ASM
-c -o
gosthash2012.o
gosthash2012.c
и в результате
получается
объектник,
который
работает
правильно.
Если же
выкачать
открытый энжин
и собирать
gost12sum, не
собирая
предварительно
openssl, то
файл
gosthash2012.c
компилируется
командой
cc
-I../../include
-g -c -o
gosthash2012.o
gosthash2012.c
и в результате
получается
объектник,
который
считает хэши
НЕ правильно.