ホームページ  >  記事  >  バックエンド開発  >  DES、ECB、CBC 暗号化方式の違いは何ですか?

DES、ECB、CBC 暗号化方式の違いは何ですか?

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-07-12 09:22:574104ブラウズ

php には、DES、ECB、CBC などのいくつかの暗号化方式があります。今日は、これら 3 つの暗号化方式の違いについて説明します。必要に応じて参照してください。

DES、ECB、CBC 暗号化方式の違いは何ですか?

ECB モード:

利点:

1. シンプル;

2.並列コンピューティングに有利;

3. エラーは送信されない;

欠点:

1. 平文パターンを隠すことができない;

2. 可能平文を積極的に攻撃する;

DES ECB (電子秘密帳方式) は実際には非常に単純で、データを 8 バイトのセグメントに DES 暗号化または復号して、8 バイトの暗号文セグメントまたは最後の平文を取得します。段落が 8 バイト未満の場合(通常は 0 または F で補われます)、計算の要件に応じて 8 バイトを補い(並列計算)、計算されたデータを順番に結合し、各データ間で相互に影響を与えません。

CBC モード:

利点:

1. 積極的な攻撃が難しく、ECB より安全、SSL および IPSec の標準です;

欠点:

1. 並列計算には適さない;

2. エラーの伝播;

3. 初期化ベクトル IV が必要;

DES CBC モード

(暗号文グループ結合方式) は、暗号化されたさまざまなデータを関連付ける実装メカニズムとして少し面倒です。実装メカニズムは次のとおりです:

暗号化手順は次のとおりです:

1. まず、データを 8 バイトのグループにグループ化して D1D2...Dn を取得します (データが8 ではなく、値の整数倍、指定された PADDING データでビットを埋めます)

2. 最初のデータ セット D1 と初期​​化ベクトル I の XOR の結果は、最初のデータを取得するために DES 暗号化されます。暗号文のセット C1 (初期化ベクトル I は完全なゼロ)

3. 2 番目のデータ セット D2 は最初の暗号化結果セット C1 と XOR 演算され、結果は DES 暗号化されて 2 番目のデータ セットが取得されます。暗号文 C2

4. 類推すると、Cn

5 が得られます。C1C2C3...Cn が暗号化結果であるように順番に接続します。

これはブロック暗号の動作モードです CBC はパスワード ブロック チェーン モードです ECB はコード ブック モードです

推奨される学習: php ビデオ チュートリアル

以上がDES、ECB、CBC 暗号化方式の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。