0

プロバイダー A を使用して AES 暗号化を使用するとします。プロバイダー B を使用して同じものを復号化できますか?

4

3 に答える 3

2

はい。ただし、アルゴリズム ( AES) だけでなく、モードとパディング (例AES/ECB/PKCS5Padding) も指定する必要があります。

JCA リファレンス ガイドには、次のように記載されています。

(Cipher オブジェクトの作成) モードまたはパディングが指定されていない場合、モードおよびパディング スキームのプロバイダー固有の既定値が使用されます。たとえば、SunJCE プロバイダは ECB をデフォルト モードとして使用し、PKCS5Padding を DES、DES-EDE、および Blowfish 暗号のデフォルト パディング スキームとして使用します。これは、SunJCE プロバイダの場合、 Cipher.getInstance("DES")Cipher.getInstance("DES/ECB/PKCS5Padding")が同等のステートメントであることを意味します。

のみを指定するAESと、他のプロバイダーが別のデフォルトを実装している可能性があり、それは機能しません (たとえば、CBC で暗号化し、ECB で復号化します)。

于 2013-03-20T15:37:20.990 に答える
1

はい、それは標準化されたアルゴリズムです。パディングや操作モードなどは、復号化できるように両方のプロバイダーで同じに設定する必要があります。

于 2013-03-20T03:25:24.173 に答える
0

おそらく。AES の初期の頃には、多くのアルゴリズムが投げかけられていました。二匹の魚の亜種をサポートしていた 1 つのプログラムを思い出します。スタンダードになったのがラインダールです。最近では、特に明記しない限り、AES は実際には AES-Rijndael であると想定できます。Two Fish のような他の AES アルゴリズムを指定すると、問題が発生します。

于 2013-03-20T04:15:52.277 に答える