Существует ли стандартная функция подписи для функции проверки цифровой подписи?

Является ли один из них (или что-то еще) более стандартным, чем альтернативы?

verify(message, signature, publicKey)

против

verify(signature, message, publicKey)

1 ответ

Я бы пошел на:

verify(publicKey, message, signature)

и за этим стоит объективная аргументация. Обычно вы сначала должны предоставить открытый ключ (например, в init метод в случае Java, то сами данные (например, в update метод) и, наконец, вы verify фактическая подпись. Обратите внимание, что publicKey часто статичен; Я лично предпочитаю те в начале метода.

Аналогично генерация подписи будет:

sign(privateKey, message): signature

как видите, красиво симметрично.


И так как вы просите стандарт:

RSASSA-PSS-VERIFY ((n, e), M, S)

где (n, e) это открытый ключ. Это прямо из RFC 3447, описывающего спецификации шифрования RSA.

Другие вопросы по тегам