Реализован ли PKCS#1 V2.0 для Java?

Мне нужно зашифровать данные, используя именно метод шифрования PKCS#1 V2.0 (определенный в пункте 7.2.1 спецификацию PKCS#1V2).

Это уже реализовано для Java?

Я думаю, например, просто передать параметр javax.crypto.Cipher, указав «PKCS # 1V2», интересно, есть ли что-то подобное?


person The Student    schedule 01.06.2010    source источник


Ответы (1)


Шифрование PKCS#1 v2.0 обычно называют шифрованием OAEP. Так:

Cipher.getInstance("RSA/ECB/OAEPWithSHA1AndMGF1Padding");

Место для поиска — это документы архитектуры криптографии Java: Стандартный алгоритм Документация по имени или Документация поставщиков Sun< /а>.

Как видите, провайдер SunJCE поддерживает следующие варианты OAEP:

  • OAEP С ПРОКЛАДКОЙ MD5ANDMGF1
  • OAEPWITHSHA1ANDMGF1PADDING
  • (OAEPWITSHA-1ANDMGF1PADDING)
  • OAEPWITHSHA-256ANDMGF1ПРОКЛАДКА
  • OAEPWITHSHA-384ANDMGF1ПРОКЛАДКА
  • OAEPWITHSHA-512ANDMGF1ПРОКЛАДКА
person Rasmus Faber    schedule 01.06.2010
comment
Документация поставщиков Sun, да, Документация по именам стандартных алгоритмов, нет. Sun не обещает реализовать все, для чего они зарезервировали имя. Например, имя алгоритма ECIES зарезервировано, но ни один поставщик Sun не реализует его. - person President James K. Polk; 02.06.2010
comment
Документация по имени стандартного алгоритма поможет вам найти правильное имя вместо PKCS#1V2. Документация по поставщикам Sun поможет вам узнать, реализует ли ее поставщик Sun или вам следует попытаться найти другого поставщика. - person Rasmus Faber; 02.06.2010
comment
@RasmusFaber Похоже на OAEP (оптимальное заполнение асимметричного шифрования), это просто определение заполнения. Является ли PKCS1V2 просто дополнением? - person The Student; 02.06.2010
comment
Я не нашел этих имен, но нашел XMLCipher.RSA_OAEP в apache commons, это то же самое. В любом случае, спасибо! - person The Student; 11.06.2010