И тем
не менее, вот у меня выкачанный вчера в
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
и в результате
получается
объектник, который
считает хэши НЕ
правильно.