Bagaimana Anda membuat kunci AES XTS?


1

Saya tertarik melakukan hacking dengan Gluster cloud FS yang beta terbarunya menggunakan AES hanya dengan XTS. Itu juga membutuhkan openssl> = 1.0.1.

Instalasi 1.0.1f Jan 2014 openssl (dengan 64 bit lib) untuk Mac saya, tampaknya tidak mendukung hal ini.

  1. Apakah AES_XTS sebenarnya dalam praktik dengan nama sandi lain?
  2. Bagaimana cara menghasilkan kunci AES_XTS (master) 256 bit pada baris perintah?

Jawaban:


0

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-xtsdan 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, -rpathdan 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, -lssldan -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_LIBRARIESdan teman-teman.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.