公鑰密碼學
公鑰密碼學——或稱非對稱密碼學——是一種密碼系統,其中金鑰成對出現。一個金鑰執行的轉換隻能用另一個金鑰撤銷。其中一個金鑰(私鑰)保密,而另一個金鑰公開。
數字簽名
當用於數字簽名時,私鑰用於簽名,公鑰用於驗證。這意味著任何人都可以驗證簽名,但只有相應私鑰的所有者才能生成它。
加密
當用於加密時,公鑰用於加密,私鑰用於解密。這使得公鑰加密系統比對稱加密系統具有優勢:加密金鑰可以公開。任何人都可以向私鑰所有者加密訊息,但只有私鑰所有者才能解密它。
然而,公鑰加密系統通常比對稱演算法慢得多,並且它們可以加密的訊息大小與金鑰大小成正比,因此它們不適用於長訊息。
因此,常見的做法是加密系統使用對稱演算法加密訊息,然後使用公鑰系統加密對稱金鑰。這種安排可以兼具兩種系統的優點。
常見的公鑰密碼系統
常用的公鑰密碼系統有 RSA(用於簽名和加密)、DSA(用於簽名)和 Diffie-Hellman(用於金鑰協商)。
橢圓曲線密碼學為這些密碼系統提供了另一種方法,其優勢在於使用相對較小的金鑰大小、更快的操作以及更小的儲存和傳輸。流行的橢圓曲線演算法包括 橢圓曲線 Diffie-Hellman 和 橢圓曲線數字簽名演算法,開發者通常會將其縮寫為 ECDH 和 ECDSA。