это AES_XTS на самом деле на практике под другим именем шифра?
grep
- ваш друг:
openssl-1.0.1f$ grep -R XTS *
...
crypto/objects/obj_dat.h:{"AES-128-XTS","aes-128-xts",NID_aes_128_xts,0,NULL,0},
crypto/objects/obj_dat.h:{"AES-256-XTS","aes-256-xts",NID_aes_256_xts,0,NULL,0},
...
crypto/objects/obj_mac.h:#define SN_aes_128_xts "AES-128-XTS"
crypto/objects/obj_mac.h:#define SN_aes_256_xts "AES-256-XTS"
crypto/objects/objects.txt: : AES-128-XTS : aes-128-xts
crypto/objects/objects.txt: : AES-256-XTS : aes-256-xts
...
Итак, похоже, что ваши имена NID aes-128-xts
и aes-256-xts
.
как сгенерировать 256-битный ключ AES_XTS (master) в командной строке?
Мда... XTS - это просто еще один режим работы блочного шифрования (например, ECB, CBC, CTR, GCM и т. д.). Так что ничего особенного - просто продолжайте делать это так же, как вы делали это.
1.0.1 F Jan 2014 openssl (с 64-битной lib) установка для моего Mac, похоже, не поддерживает это.
это не так. Моя версия 1.0.1 F имеет его. Где вы получаете свою версию OpenSSL?
установка для моего Mac...
Mac OS X поставляется 0.9.8. Убедитесь, что вы используете свою версию OpenSSL, и не версию с OpenSSL.
компоновщики Apple молча игнорируют такие параметры, как -Bstatic
,-rpath
и LD_PRELOAD
. Таким образом, требуется некоторое усилие, чтобы убедиться, что вы на самом деле используете свою версию OpenSSL; а не версию OpenSSL от Apple.
в OS X скомпилируйте программу с помощью -lcryto
,-lssl
и -L<your openssl path>
. По умолчанию OpenSSL устанавливается в /usr/local/ssl/lib
. Затем, перед запуском программы:
set env OPENSSL_LIBPATH /usr/local/ssl/lib
set env DYLD_INSERT_LIBRARIES $OPENSSL_LIBPATH/libcrypto.so:$OPENSSL_LIBPATH/libssl.so
посмотреть dylib(1)
для информации на DYLD_INSERT_LIBRARIES
и друзей.