ANSI X9.23 および IBM 4700

ANSI INCITS 106 の基本暗号化ブロック・チェーン・モードに対する機能拡張が定義され、8 バイトの正確な倍数ではないデータ長を処理できるようになりました。 ANSI X9.23 方式では、暗号化の前に常に 1 バイトから 8 バイトを非暗号化テキストに追加します。 最後に追加されたバイトは、追加されたバイトの数を示し、X'01' から X'08' の範囲内のいずれかになります。 この規格では、その他の追加バイト、つまり埋め込み文字はランダムであると定義しています。

ICSF が非暗号化テキストを暗号化すると、結果の暗号化テキストは、元の非暗号化テキストよりも必ず 1 バイトから 8 バイト長くなります。

ICSF が暗号化テキストを復号するときには、ICSF は復号されるデータの最後のバイトを、削除するバイト数 (埋め込みバイト数およびカウント・バイト) として使用します。 結果のテキストは、元の非暗号化テキストと同じです。

この方式では、出力チェーニング・ベクトルは、INCITS 106 方式の場合と同じようにフィードバックとして使用できます。

要約すると、ANSI X9.23 方式は以下のようになります。
  • X9.23 処理では、ICV を提供する呼び出し側が必要です。
  • X9.23 暗号化は、埋め込み文字を指定することはできません。

4700 の埋め込み規則は X9.23 規則と似ています。 唯一の相違点として、X9.23 方式では、埋め込み文字はユーザーの選択ではなく、埋め込みストリングは暗号化プロセスによって選択されます。