0

libsodium-examples of public-key-cryptography を調べていますが、平文を暗号化するときに、受信者の公開鍵に加えて送信者の秘密鍵が使用されているようです。

関連する例からの抜粋:

crypto_box_easy() 関数は、長さが mlen バイトのメッセージ m を、受信者の公開鍵 pk、送信者の秘密鍵 sk、およびナンス n で暗号化します。

これのポイントは何ですか?私の理解では、送信者の秘密鍵はメッセージに署名するときにのみ使用されましたか?

4

2 に答える 2

0

デジタル署名は秘密鍵で暗号化し、公開鍵で復号化します。これにより、誰でも署名者の公開鍵で署名を検証できます。

于 2016-06-30T21:13:52.883 に答える
0

libsodium のドキュメントでは、次のセクションの別の章で説明されている「認証タグ」について言及しています。

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(...)したがって、暗号化は実際には暗号化と署名であるため、関数が送信者の秘密鍵を入力として受け取ることは理にかなっています。

于 2016-07-01T01:57:37.343 に答える