Is AES_XTS actually in practise under another cipher name?
grep
é seu amigo:
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
...
Então, parece que seus nomes NID são aes-128-xts
e aes-256-xts
.
How do I generate a 256 bit AES_XTS (master) key on the command line?
Hmm ... XTS é apenas outro modo de operação de cifra de bloco (como ECB, CBC, CTR, GCM, etc). Então não há nada de especial - apenas continue fazendo da mesma maneira que você tem feito.
The 1.0.1f Jan 2014 openssl (with 64 bit lib) install for my Mac, does not appear to support this.
Isso não parece certo. Minha versão do 1.0.1f tem isso. Onde você consegue sua versão do OpenSSL?
install for my Mac...
O Mac OS X é fornecido em 0.9.8. Certifique-se de estar usando sua versão do OpenSSL e não a versão do OpenSSL da Apple.
Os vinculadores da Apple ignoram silenciosamente opções como -Bstatic
, -rpath
e LD_PRELOAD
. Por isso, é necessário algum esforço para garantir que você esteja realmente usando sua versão do OpenSSL; e não a versão da Apple do OpenSSL.
No OS X, compile seu programa com -lcryto
, -lssl
e -L<your openssl path>
. Por padrão, o OpenSSL é instalado em /usr/local/ssl/lib
. Então, antes de lançar seu programa:
set env OPENSSL_LIBPATH /usr/local/ssl/lib
set env DYLD_INSERT_LIBRARIES $OPENSSL_LIBPATH/libcrypto.so:$OPENSSL_LIBPATH/libssl.so
Consulte dylib(1)
para obter informações sobre DYLD_INSERT_LIBRARIES
e amigos.