以下の暗号を使用しています
AES / ECB / NOPADDING
しかし、ECBのようなモードでは、ブロックサイズに応じて入力をパディングする必要があるため、少し混乱しています。しかし、ここではNOPADDINGと言います。矛盾していないように見えます。
ECBモードへの入力としてパディングされていない任意のデータを使用できますか?
以下の暗号を使用しています
AES / ECB / NOPADDING
しかし、ECBのようなモードでは、ブロックサイズに応じて入力をパディングする必要があるため、少し混乱しています。しかし、ここではNOPADDINGと言います。矛盾していないように見えます。
ECBモードへの入力としてパディングされていない任意のデータを使用できますか?
たとえばAES/ECB / NOPADDINGのように、パディングが適用されていないECB暗号化の「生の」モードは、基本的にNブロックのデータへの暗号化機能の純粋なアプリケーションです。これらは、デフォルトでは出荷されないカスタムモードを実装する必要がある開発者にとって便利です。どのような動作モードも、生の暗号化機能から何らかの形で構築されます。
それでも、ブロック暗号は完全長のブロックでしか機能しないため、最後のブロックに何らかの形式のパディングを適用する必要がある場合があります。これは開発者に任されており、実装したいモードに対して指定/推奨されている形式のパディングを実装します。多くの可能性があり、これが私たちが「NOPADDING」を持っている理由です-パディングの選択を私たちに任せます。
これらのモード、XXX / ECB / NOPADDINGは、直接使用しないでください。実際、ECBモードも必要ありません。プレーンECB暗号化は非常に安全ではありません。たとえば、プレーンテキストの統計的プロパティを隠しません( 「暗号化された」画像がまだ元の画像とよく似ている例をご存知かもしれません)。その上、すでに述べたように、ブロック暗号は完全長のブロックでのみ動作できます。これには、カスタムのパディングスキームを適用する必要があります。これにより、デフォルトの実装に単純に依存するのではなく、間違いを犯す可能性のある別のレイヤーが追加されます。