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
- 爱丽丝使用此对称键加密消息。
- 爱丽丝用鲍勃的公共密钥对对称密钥进行加密
- 爱丽丝将加密的消息和加密键传输到鲍勃。
然后鲍勃这样做:
- 鲍勃都收到对称加密的消息和符合加密的键。
- 鲍勃用他的公共密钥解密对称键
- 鲍勃使用对称键解密加密消息
也可能缺少大量其他安全校长,但以上是一般的想法。