我好像有点误会。
我需要用数字签名实现公开/私钥加密(PKCS)。我在.Net框架中找到了以下类。
我想加密文件,然后对它们进行数字签名,然后在接收方验证签名,然后解密。
类DSACryptoServiceProvider具有函数VerifySignature,它同时接受有符号值和无符号值!
我的问题是是加密还是签名?
如果我发送加密密钥的未签名密钥(连同签名密钥),则任何第三方都可以解密该文本。
发布于 2009-07-29 13:18:37
签署是指:
H 210g 211)我认为VerifySignature()执行步骤4)和步骤5)
在步骤1)和步骤3中,您为加密或未加密的数据创建哈希,只要发送方和接收方完全相同,就可以选择。
请注意,这与数据的实际加密无关,您甚至可以对未加密的数据签名。还请注意,密钥的使用是相反的,通常您用接收者的公钥加密。
发布于 2009-07-29 12:07:01
你总是加密然后签字。这样做意味着接收方可以检查加密数据在传输过程中没有被更改,而不必进行解密,这可能是一个很长的过程。
发布于 2009-07-29 14:16:53
只是为了澄清一些可能的混淆(但可能很明显):
appropriate.
如果您没有用于对称加密(即消息本身的加密)的共享密钥,那么您可能应该生成一个密钥,并将其与接收者的公钥加密,并将其与已签名的消息一起发送。
https://stackoverflow.com/questions/1199761
复制相似问题