たくさんの文書やmanページを読む必要があります。 LUKSオンディスクフォーマット仕様 (PDF)
付録B(当然のことながら、終わり近くにあります)は、
暗号およびハッシュ指定レジストリ
たとえ 暗号名 そして 暗号モード 文字列は誰にも解釈されません
LUKS操作、それらはすべての実装に対して同じ意味を持たなければなりません
異なるLUKSベースの実装間の互換性を実現するため。 LUKS
基礎となる暗号システムが暗号名を利用できるようにする必要があります。
暗号モード文字列、およびこれらの文字列は必ずしもネイティブにネイティブであるとは限りません。
暗号システムでは、LUKSはそれらを適切なものにマッピングする必要があるかもしれません。
有効な暗号名は表1にリストされています。
有効な暗号モードは表2にリストされています。
IVと微調整はオールゼロIV /微調整から始める必要があります。これはすべてに当てはまります
特にキーマテリアルを処理するときに暗号化/復号化プリミティブを呼び出します。
さらに、これらのIV /微調整暗号モードは通常暗号ストリームを
セクター境界での微調整/ IVの再シードによる独立ブロック最初の暗号化/復号化ブロックのオールゼロIV /微調整要件
と同等です
最初のブロックがセクタ0で停止するように定義されているという要件。
表3に有効なハッシュ仕様を示します。 ハッシュ仕様 フィールド。準拠した実装
すべての暗号、暗号モード、またはハッシュ指定をサポートする必要はありません。
表1:有効な暗号名
- aes - 高度暗号化規格 - FIPS PUB 197
- twofish - Twofish:128ビットブロック暗号 -
http://www.schneier.com/paper-twofish-paper.html (下記参照)
- 蛇 - http://www.cl.cam.ac.uk/~rja14/serpent.html
- cast5 - RFC 2144
- cast6 - RFC 2612
表2:有効な暗号モード
- ecb - 暗号出力は直接使用されます
- cbc-plain - 暗号はCBCモードで動作します。 CBCチェーン
セクターごとに切り捨てられ、セクター番号で再初期化されます。
初期ベクトルとして(32ビットおよびリトルエンディアンに変換されたもの)
このモードは[Fru05b]、第4章で規定されています。
- cbc-essiv: ハッシュ - 暗号はESSIVモードで動作している
使う ハッシュ にとって
元のキーのIVキーを生成します。例えば、
ハッシュとしてsha256を使用する場合、暗号モードの仕様は「cbcessiv:sha256」です。
ESSIVは[Fru05b]の第4章に規定されています。
- xts-plain64 - http://grouper.ieee.org/groups/1619/email/pdf00086.pdf、 plain64 プレーンな初期ベクトルの64ビットバージョン
表3:有効なハッシュ指定
- sha1 - RFC 3174 - 米国セキュアハッシュアルゴリズム1(SHA1)
- sha256 - FIPS 180-2に準拠したSHAの変形
- sha512 - FIPS 180-2準拠のSHAバリアント
- ripemd160 - http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
(下記参照)
編集者注:上記は仕様からコピーされたものです。
執筆後、これらの文書のURLは変更されました。
/lib/modules/*/kernel/crypto/
見た目にはそうですが、モジュールはファイルシステム上のどこにでも置くことができます。