Encryption
ECC非對稱算法中的加密和簽名有什麼區別?
加密某些數據與簽署某些數據(使用 ECC)有什麼區別?
它只是簡單地顛倒了公鑰-私鑰的角色嗎?
以前我以為只是publickey和privatekey的角色轉換。
但在實踐中,這似乎並不像我想的那樣容易。
例如,我不能使用 ECDSA 公鑰加密和解密對應的私鑰。
在這種情況下,我必須使用 ECDH。
我在這個問題上沒有太多經驗。請幫我。
提前致謝。
ECDSA 僅用於簽名。它代表橢圓曲線數字簽名算法。EdDSA 是另一種簽名算法,增加了一些安全性。ECDH 用於密鑰交換:它創建一個由雙方共享的新密鑰,任何被動竊聽者都無法發現。
ECC 幾乎從未用於直接加密消息。相反,ECDH 用於創建共享密鑰,然後使用 AES-GCM 或 ChaCha20+Poly1305 等密鑰(對稱)算法來傳輸秘密數據。同樣的事情通常用 RSA 完成,因為非對稱加密很慢,所以創建共享密鑰和使用對稱加密會更快。ECIES 是執行此操作的標準,並且“ECDH+對稱加密”思想的幾個變體包含在 TLS 中。
使用非對稱算法的直接加密的主要用途是類似於 PGP 的系統,用於加密電子郵件或其他舊的非同步協議,其中不可能有事先的密鑰協商步驟。我不知道有任何標準使用 ECC 來執行此操作。