我想知道对称密钥可以用来签署消息吗?我们可以使用共享密钥进行加密。另外,当使用对称密钥进行签名时,JAVA 中可以使用什么 API 来加载密钥并对消息进行签名?
如果我使用 java.security 中的 Signature ,它有一个 api initSign ,但它采用公钥/私钥对中的私钥作为对消息进行签名的参数。这里的密钥是对称密钥。
有什么指点吗?
共享密钥可用于计算消息验证码 (MAC) http://en.wikipedia.org/wiki/Message_authentication_code,然后可用于向知道相同共享秘密的另一方确认消息的完整性和真实性。与使用私钥创建并使用公钥验证的数字签名不同,MAC 不提供不可否认性(任何可以验证 MAC 的人也可以为另一条消息生成 MAC)。
消息认证码有多种形式;可能最常用的变体是HMAC http://en.wikipedia.org/wiki/HMAC.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)