是否其中一个(或其他)比其他选项更标准?
verify(message, signature, publicKey)
和
verify(signature, message, publicKey)
我会选择:
verify(publicKey, message, signature)
并且背后有客观的原因。通常,您首先必须提供公钥(例如在Java的init
方法中),然后是数据本身(例如在update
方法中),最后是verify
实际签名。注意,publicKey
通常是静态的;我个人更喜欢方法开头的那些。
sign(privateKey, message): signature
如你所见,非常对称。
既然你要求一个标准:
RSASSA-PSS-VERIFY ((n, e), M, S)
,其中(n, e)
为公钥。这是直接从RFC 3447描述RSA加密规范。