我正在通過libsodium-公用密鑰密碼術的實例進行研究,並且在加密明文時,似乎除了接收者公鑰之外,還使用了發送者私鑰。從相關example爲什麼發件人在加密中使用私鑰?
提取物:
的crypto_box_easy()函數加密消息m的長度爲 MLEN字節,用接收者的公鑰pk,一個發送者的祕密密鑰sk 和現時值。
這是什麼意思?我的理解是發件人私鑰只在簽署郵件時使用過?
我正在通過libsodium-公用密鑰密碼術的實例進行研究,並且在加密明文時,似乎除了接收者公鑰之外,還使用了發送者私鑰。從相關example爲什麼發件人在加密中使用私鑰?
提取物:
的crypto_box_easy()函數加密消息m的長度爲 MLEN字節,用接收者的公鑰pk,一個發送者的祕密密鑰sk 和現時值。
這是什麼意思?我的理解是發件人私鑰只在簽署郵件時使用過?
的libsodium文檔是指「認證標籤」,這是一個different chapter在下面的章節解釋說:
This operation:
* Encrypts a message with a key and a nonce to keep it confidential.
* Computes an authentication tag. This tag is used to make sure that
the message hasn't been tampered with before decrypting it.
那麼libsodium調用認證標籤等同於簽約的消息更常見的術語。因此,crypto_box_easy(...)
函數將發件人私鑰作爲輸入是有意義的,因爲加密確實是加密和簽名。
好吧,我想我對公鑰密碼學的把握是缺乏的。我會做一些閱讀... – PureW
@zaph但是爲什麼在使用發件人私鑰的例子中加密代碼爲「crypto_box_easy()」? – PureW
你將不得不知道用例。 – zaph