ボリュームを開くために必要なパラメータに関する完全な知識がある場合は、そのボリュームdm-crypt
から取得した単一のセクタの暗号化を復号化することは可能ですか?
元のボリュームは使用できませんが、セクター番号を知っているとします。
たとえば、次のボリュームは次のようにマウントされますcryptsetup
。
$ dmsetup --showkey table myvolume
0 104857600 crypt aes-xts-plain64 95264...aacae 0 254:9 0
dd
元のボリュームからセクタ125を抽出したことがあるとします。
$ dd if=/dev/sda1 of=raw.sector bs=512 skip=125 count=1
上記の出力では、パスワードはであり、aes-xts-plain64
256ビットキーは95264...aacae
(ここで省略された主な例)であることがわかります。
スタンドアロン(openssl
)を使用してパスワードを復号化できますか?
おそらくこれはそうではありません...
$ openssl enc -d -in raw.sector -aes-128-xts -K 95264...aacae -iv 7D -out plain.sector
与えられた256ビットキーは次のようになるため、パスワードは128ビットです。二つに分けてXTSモード経由。初期化ベクトルは0x7D
セクタ番号が125であるからである。しかし、OpenSSLがXTS(openssl enc -ciphers
)をサポートしていないようで、最初のステップを超えていませんでした。
https://github.com/openssl/openssl/blob/master/apps/enc.c#L267:
if (cipher && (EVP_CIPHER_mode(cipher) == EVP_CIPH_XTS_MODE)) {
BIO_printf(bio_err, "%s XTS ciphers not supported\n", prog);
goto end;
}
(私は持っていますオープンSSL 1.1.0f2017年5月25日)
私は以前のOpenSSL(1.0.2f)を試しましたが、openssl enc -ciphers
リストにありますが、xts暗号化を使用すると-aes-128-xts
エラーメッセージが表示されます。
Ciphers in XTS mode are not supported by the enc utility