どういうわけか、HMAC を取得できません。
公開鍵署名があるのに、なぜHMAC が必要なのですか? 、そして私はこれを手に入れたと思います。計算が簡単など...
しかし、私が得られないのは、なぜ HMAC が必要なのか、それぞれがどのような問題を解決しているのかということです。
私の理解では、HMAC は ...
- メッセージが改ざんされていないことを確認する方法を提供する
- 秘密鍵によって「保護」されていますが、対称鍵です。
したがって、HMAC を計算するには (最初に、または検証のために) 秘密鍵を知る必要があります。
さて、この鍵を改ざんされずに秘密裏に交換できれば、メッセージも改ざんされずに秘密裏に交換できるのではないでしょうか?
さて、キーを 1 回だけ交換する必要があると主張することができますが、複数のメッセージがある可能性があります。それはいいです。
しかし、すべての関係者が秘密にしておく必要がある秘密鍵がある場合は、同じ秘密鍵を使用して対称暗号化を直接使用してメッセージを暗号化することもできますよね?
もちろん、HMAC は改ざんに対する解決策を提供しますが、秘密鍵と適切な暗号化アルゴリズムのない暗号化されたメッセージしかない場合、a) 復号化が機能し、b) 暗号化されたメッセージを変更することはできません。意味のある復号化されたメッセージが表示されます。
では、実際には何のために HMAC が必要なのでしょうか? または - 私が見逃しているポイントはどこですか?