2012-05-10 10 views
3

我々はAES ECBモードではパッドが必要ですが、このAES/ECB/NOPADDINGはどのようにして得られますか?

暗号

以下AES/ECB/NOPADDING

を使用している。しかしECBのようなモードは、我々は彼らNOPADDING.Dont言うここsize.Butブロックに応じてパディングされる入力を必要とするので、私は少し混乱しています矛盾して見える。

ECBモードへの入力として埋め込まれていない任意のデータを持つことができますか?

+0

このJavaも同様にマークできますか? AES/ECB/NOPADDINGは、Java暗号化プロバイダ(JCA/JCE)をターゲットとするStringのように見えます。 –

答えて

4

たとえば、AES/ECB/NOPADDINGのようなパディングが適用されていないECB暗号化の「未加工」モードは、基本的にNブロックのデータブロックに暗号化関数を純粋に適用したものです。デフォルトでは出荷されないカスタムモードを実装する必要がある開発者にとって便利です。どのような動作モードも、生の暗号化機能から何らかの形で構築されます。

なお、ブロック暗号は完全長ブロックでしか動作できないため、最後のブロックに何らかの形のパディングを適用する必要があります。これは開発者に任されており、実装したいモードに指定/推奨されているパディングの形式を実装します。多くの可能性があります。そのため、私たちは "NOPADDING"を持っています - パッディングの選択を私たちに任せます。

これらのモード、XXX/ECB/NOPADDINGは決して直接使用しないでください。いずれのECBモードも、本当にどちらもすべきではありません。平文のECB暗号化は非常に安全ではありません。例えば、平文の統計的性質を隠すわけではありません。the examples "暗号化された"画像は元のように見えます。さらに、すでに述べたように、ブロック暗号は完全長ブロックでしか動作できません。これにはカスタムパディングスキームを適用する必要があります。このスキームでは、いくつかのデフォルト実装に頼るのではなく、間違いが発生する可能性がある別のレイヤーが追加されます。

+0

ECBの生モードを意味するときは、AES/ECB/NOPADDINGを指していますか? – crackerplace

+0

私は物事を少し明確にしようとしました - これはあなたの質問にも答えましたか? – emboss

+7

非常に時折、NoPaddingモードが、使用されているサイファーのブロックサイズと一致する固定長データに使用されます。これは、特にメッセージが非常に頻繁に送信される場合に、ネットワークパケットのサイズを小さくするのに便利です。 – rossum

関連する問題