は、それが操作のブロック暗号モードを実装していないと(それが「ブロックサイズ」よりも平文で拡大処理しない、ECBは誤った名称のビットです"RSA/ECB/PKCS1Padding"
と同じです)。 "RSA/None/PKCS1Padding"
は、より良い名前だったでしょうか、またはあなたの推測通りに"RSA/None/RSASSA-PKCS1-v1_5"
がパディングメカニズムが正しいと思います。
これは古い暗号化モードを使用していることを意味します。 OAEPは攻撃に対してより耐性があり、セキュリティの証明が含まれています。残念ながら、既存のすべての暗号文はもう解読できないので、OAEPはもちろん新しいデフォルトにすることはできません。これは、デフォルトを使用することが最初は愚かである理由の1つです。
PKCS#1 v1.5パディングは、入力が最大キーサイズから11バイトを引いた値に制限されていることも意味します。生成される暗号文のサイズは、PKCS#1の鍵サイズと常に同じであることに注意してください。たとえ結果の整数がより小さくても、0バイトでパディングされたままになります。ここでは鍵のサイズが8の倍数であると仮定しています。
アルゴリズム仕様のデフォルトに頼るべきではありません。コードが分かりにくくなり、デフォルトはプロバイダごとに異なる場合があります(ほとんどの場合、Oracleの主導に従って非互換性を回避しようとします)。既存のコードでどのアルゴリズムが設定されているかを理解するためにのみ使用してください。プラットフォームのデフォルトが意味を成す唯一の場所は、私の意見ではSecureRandom
です。