Сырье RSA расшифровка / подпись - PullRequest
2 голосов
/ 26 января 2012

Я реализую RSACryptoToken, который является интерфейсом для криптографических токенов RSA, согласно документации.Существуют методы twp, называемые decryptRSA и signRSA - они должны быть реализованы.В документации есть информация, что они должны выполнять необработанные операции расшифровки RSA и подписи RSA.

  1. Что означает необработанная операция RSA?
  2. Это значит, без заполнения?1006 *
  3. Предоставляет ли BlackBerry или Bouncy Castle такой API?

Ответы [ 2 ]

1 голос
/ 30 января 2012

В основном PKCS # 1 v1.5 состоит из трех частей:

  1. сами операции RSA,
  2. отступы PKCS # 1 и
  3. кодировка ASN.1 хэша.

Хэш закодирован в ASN.1 и включает идентификатор объекта ASN.1, который однозначно определяет используемый хэш и значение, например:

DigestInfo ::= SEQUENCE {
    digestAlgorithm AlgorithmIdentifier,
    digest OCTET STRING
}

Это непосредственно скопировано из спецификаций PKCS # 1 (которые довольно читабельны и общедоступны). Обратите внимание, что в стандартах кодирование также указывается в байтах.

Операции Blackberry предоставляют только 1) и 2), что означает, что вы должны предоставить ASN.1, DER-кодированную структуру, содержащую хеш самостоятельно. Такая структура не определена для шифрования / дешифрования, удаляется только заполнение.

Шифрование использует случайное (внутреннее) заполнение и неслучайное заполнение для подписей. Это позволяет вам дважды зашифровать «ДА», в то время как перехватчик не может определить, ДА или НЕТ. Заполнение также требуется для защиты подписи от атак.

0 голосов
/ 15 февраля 2012

Я решил проблему, операции signRSA и decryptRSA должны выполнять одну и ту же операцию чистого модуля

спасибо за помощь

...