32

誰もが暗号のパディング スキームについて話しますが、暗号に渡す必要がある実際の文字列は何ですか? それらが対称か非対称かは気​​にしません。可能な値のリストが欲しいだけです。

4

2 に答える 2

51

パディングには、PKCS-7、Zero、ISO 10126、ANSI X.923 など、さまざまな種類があります。概念を完全には理解していないように見えるので、パディング
について読むことをお勧めします。

次に、 cryptographic saltについて言及している可能性があります。

編集
Java プラットフォームのすべての実装は、括弧内のキーサイズで次の標準暗号変換をサポートする必要があります。

  • AES/CBC/NoPadding (128)
  • AES/CBC/PKCS5パディング (128)
  • AES/ECB/NoPadding (128)
  • AES/ECB/PKCS5パディング (128)
  • DES/CBC/NoPadding (56)
  • DES/CBC/PKCS5パディング (56)
  • DES/ECB/NoPadding (56)
  • DES/ECB/PKCS5パディング (56)
  • DESede/CBC/NoPadding (168)
  • DESede/CBC/PKCS5Padding (168)
  • DESede/ECB/NoPadding (168)
  • DESede/ECB/PKCS5Padding (168)
  • RSA/ECB/PKCS1Padding (1024、2048)
  • RSA/ECB/OAEPWithSHA-1AndMGF1Padding (1024、2048)
  • RSA/ECB/OAEPWithSHA-256AndMGF1Padding (1024、2048)

ここでリストを見つけることができます。

編集 2ここで
Bouncy Castle の仕様を見つけることができます。使用可能なすべてのパディング スキームが一覧表示されます。

于 2012-06-07T15:49:20.243 に答える
10

ブロック暗号にはパディングが必要ですが、ストリーム暗号には必要ありません。ブロックサイファーはブロック全体を暗号化するため、パディングが必要であり、メッセージはブロックの整数と正確に一致しない場合があります。パディングは、メッセージの長さを次のブロック境界まで拡張するために使用されます。

詳細については、暗号化パディングに関するウィキペディアの記事を参照してください。

ほとんどの目的で、PKCS#7 (別名 PKCS#5) パディングが使用されます: n バイト、値 n のすべて:

01
02 02
03 03 03
...
10 10 10 10 ... 10 10
于 2012-06-07T16:33:47.913 に答える