Реализован ли PKCS#1 V2.0 для Java?
Мне нужно зашифровать данные, используя именно метод шифрования PKCS#1 V2.0 (определенный в пункте 7.2.1 спецификации PKCS # 1V2).
Это уже реализовано для Java?
Я думаю, что-то вроде просто передать параметр в javax.crypto.Cipher, указав "PKCS#1V2", мне интересно, есть ли что-то подобное?
1 ответ
Решение
Шифрование PKCS#1 v2.0 обычно называется шифрованием OAEP. Так:
Cipher.getInstance("RSA/ECB/OAEPWithSHA1AndMGF1Padding");
Место, где можно найти документы по архитектуре криптографии Java: стандартная документация по именам алгоритмов или документация поставщиков Sun.
Как вы можете видеть, поставщик SunJCE поддерживает следующие варианты OAEP:
- OAEPWITHMD5ANDMGF1PADDING
- OAEPWITHSHA1ANDMGF1PADDING
- (OAEPWITHSHA-1ANDMGF1PADDING)
- OAEPWITHSHA-256ANDMGF1PADDING
- OAEPWITHSHA-384ANDMGF1PADDING
- OAEPWITHSHA-512ANDMGF1PADDING