Apakah AES_XTS sebenarnya dalam praktik dengan nama sandi lain?
grep
adalah temanmu:
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
...
Jadi, sepertinya nama NID Anda adalah aes-128-xts
dan aes-256-xts
.
Bagaimana cara menghasilkan kunci AES_XTS (master) 256 bit pada baris perintah?
Hmm ... XTS hanyalah mode operasi cipher blok lainnya (seperti ECB, CBC, CTR, GCM, dll). Jadi tidak ada yang istimewa - terus lakukan dengan cara yang sama seperti Anda telah melakukannya.
Instalasi 1.0.1f Jan 2014 openssl (dengan 64 bit lib) untuk Mac saya, tampaknya tidak mendukung hal ini.
Itu kedengarannya tidak benar. Versi saya dari 1.0.1f memilikinya. Dari mana Anda mendapatkan versi OpenSSL Anda?
instal untuk Mac saya ...
Mac OS X mengirimkan 0.9.8. Pastikan Anda menggunakan versi OpenSSL Anda, dan bukan OpenSSL versi Apple.
Penghubung Apple diam-diam mengabaikan opsi seperti -Bstatic
, -rpath
dan LD_PRELOAD
. Jadi dibutuhkan upaya untuk memastikan Anda benar-benar menggunakan versi OpenSSL Anda; dan bukan versi OpenSSL dari Apple.
Pada OS X, kompilasi program Anda dengan -lcryto
, -lssl
dan -L<your openssl path>
. Secara default, OpenSSL diinstal di /usr/local/ssl/lib
. Kemudian, sebelum meluncurkan program Anda:
set env OPENSSL_LIBPATH /usr/local/ssl/lib
set env DYLD_INSERT_LIBRARIES $OPENSSL_LIBPATH/libcrypto.so:$OPENSSL_LIBPATH/libssl.so
Lihat dylib(1)
untuk informasi DYLD_INSERT_LIBRARIES
dan teman-teman.