[解決済み] AES暗号化モード(CBC ECB CTR OCB CFB)の選択方法は?
質問事項
どのような場合に、どれが好ましいのでしょうか?
様々なモードの評価基準の一覧と、各基準の適用可能性についての考察が欲しいです。
例えば 802.11ネットワークアダプタのようなマイクロコードの組み込みシステムには、暗号化と復号化のための「コードのサイズ」が重要な基準の1つだと思います。CBC を実装するのに必要なコードが CTR に必要なコードよりはるかに小さい場合(これが真実かどうかはわかりません、単なる例です)、コードが小さいモードが好まれる理由は理解できます。 しかし、サーバー上で動作するアプリを書いていて、使用している AES ライブラリが CBC と CTR の両方を実装している場合、この基準は関係ありません。
評価基準の一覧と各基準の適用可能性」の意味は?
これはプログラミングとは関係ないですが、アルゴリズムに関係することです。
どのように解決するのですか?
-
同じ鍵で複数のデータブロックを暗号化する場合、ECBは使用しないでください。
-
CBC、OFB、CFBは似ていますが、OFB/CFBの方が暗号化だけでよく、復号化しないので、コードスペースを節約することができます。
-
CBC/OFB/CFBではなく、並列化(つまりスピード)を重視する場合はCTRを使用します。
-
XTSモードは、ランダムアクセス可能なデータ(ハードディスクやRAMなど)を符号化する場合に最も一般的なモードです。
-
OCBは、1回のパスで暗号化と認証ができるため、圧倒的に優れたモードです。しかし、米国では特許があります。
ただ一つ知っておかなければならないのは、ECBは1ブロックしか暗号化しないのであれば、使ってはいけないということです。XTSは、ストリームではなく、ランダムにアクセスされるデータを暗号化する場合に使用する必要があります。
関連
-
[解決済み] JSEncryptの理解
-
[解決済み] 暗号化/パスワード保護機能付きSQLite
-
[解決済み] RSA公開鍵形式
-
[解決済み] AES暗号化モード(CBC ECB CTR OCB CFB)の選択方法は?
-
[解決済み] Java 256ビットAESパスワードベース暗号化機能
-
[解決済み] 非対称暗号化における暗号化と署名の違いは何ですか?[クローズド]
-
[解決済み】OpenSSLを使用してファイルを暗号化/復号化する方法は?
-
[解決済み] 公開/非公開のDSAキーペアをどのようにテストするのですか?
-
[解決済み] gnupg: このキーが指定されたユーザーに属している保証はありません。
-
[解決済み] 複数キーによる暗号化・復号化
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン