RSA PKCS # 1 совместимая подпись - PullRequest
1 голос
/ 23 июля 2010

Я использую стандарт PKCS # 1 2.0 (OAEP) (подпись с приложением), но есть некоторые проблемы, которые мне не ясны.

  1. Какой физический объект подписывается? Я знаю, что это значение хеш-функции и т. Д. (Я делаю знаю алгоритм), но рассчитывается ли оно из двоичной формы файла, независимо от содержимого?

  2. Каков физический результат подписания? Файл, содержащий подписанный хеш? Должен ли этот файл находиться в указанном месте? Каков формат или расширение такой вещи?

  3. Если у меня есть несколько файлов, которые я хочу подписать, должна ли эта операция выполняться отдельно для каждого из них? Или они должны быть соединены? Еще раз - каков результат такой операции (файла?)?

1 Ответ

4 голосов
/ 23 июля 2010

PKCS # 1 иногда называют «необработанным RSA» и представляет собой низкоуровневый криптографический примитив: он не работает с файлами и не создает файлы, он работает с необработанными данными: входное число меньше общедоступного ключ и выход - это число размера открытого ключа (например, 1024 бит для RSA-1024).

Если вам нужен файл подписи , вы, вероятно, захотите использовать PKCS # 7 / формат CMS , так как это наиболее часто используемый формат подписи как для прикрепленных, так и для отсоединенных подписей (даже подписей) в PDF-файлах обычно находятся конверты PKCS # 7).

PS: я не знаю много об OAEP, но из того, что я прочитал, похоже, что это схема заполнения (что-то, что вы делаете с данными до необработанной подписи), поэтому мой аргумент должен быть все еще действительным.

...