如何通过编程方式进行差异openssl签名和加密



so:

在非对称加密中加密和签名之间有什么区别?

我的问题不是重复。我问两个通过编程方式之间有区别。

我有一个OpenSSL C API来签名和验证消息。假设两个功能:

标志

验证

说互换消息是 A b

的两个方面

currenlty符号函数使用 a_privatekey ,并且验证函数使用 b_publickey

现在,我想加密消息的某些部分。

所以,我可以使用 sign 使用 b_publickey

做到这一点。

或加密算法是完全不同的,我需要实现一个新功能?

或在> sign 函数中进行一些修改(删除生成哈希,for ex(它只是可行吗?

Now, I want to encrypt some part of the message.
So, could I do it just using sign function with B_publicKey?

标志的输出函数是原始消息的加密 hash 。如果" a"是为了使符号的输出> TARNMIT,那么B唯一可以做的就是将其解密到原始消息的哈希。他不会有实际消息。

由于调节加密可能是一个非常昂贵的操作,对于长消息而言并不能很好地扩展,所以标准模式是:

  • 爱丽丝生成了她想发送给鲍勃的消息。
  • 爱丽丝生成对称键 first
  • 爱丽丝使用此对称键加密消息。
  • 爱丽丝用鲍勃的公共密钥对对称密钥进行加密
  • 爱丽丝将加密的消息和加密键传输到鲍勃。

然后鲍勃这样做:

  • 鲍勃都收到对称加密的消息和符合加密的键。
  • 鲍勃用他的公共密钥解密对称键
  • 鲍勃使用对称键解密加密消息

也可能缺少大量其他安全校长,但以上是一般的想法。

最新更新