0

暗号化図とTDEA(Triple DES)のコツをつかもうとしています。TDEAは次のようになっていると思います。

暗号文=EK3(DK2(EK1(plaintext)))

また、チェーンブロック暗号はIVを使用して暗号化とプレーンテキストをシードしてから暗号化します。出力は暗号化されたブロックであり、新しいIVは最初のブロックの暗号文の出力から形成されます。正しい?

これは、CBCモードのTDEAが次のように流れることを意味します。

プレーンテキスト->IV->TDEA暗号化->NEWIV->暗号文

次のブロックは次のとおりです。

プレーンテキスト->NEWIV->TDEA暗号化->NEWNEWIV->暗号文

これは、n個のブロックの間続きます。これは正しいですか、それともどのように機能するのかわかりませんか?

4

1 に答える 1

0

CBCがどのように機能するかについてのあなたの概念には欠陥があるようです(または、少なくとも、物事が機能すると信じているとあなたが言っている方法がわかりません)。特に、あなたはを示していますPlain Text -> IVが、IVは(決して)プレーンテキストに依存していません。

使用する暗号アルゴリズムは、基本的にCBC自体の動作と直交しています(ストリーム暗号ではなくブロック暗号用であるという事実を超えています)。擬似コードでは、CBCは次のようになります。

block_t xor_block = IV;
write(xor_block);
for (int i=0; i<message_size; i++) {
    block_t data = xor(xor_block, message[i]);
    xor_block = encrypt(data);
    write(xor_block);
}
于 2010-10-24T16:51:50.023 に答える