Rsa
為什麼不能使用 DSA 進行加密?
StackOverflow 上的這個問題提到 DSA 不能用於加密。但是 RSA 和 DSA 都可以用來生成公鑰和私鑰,對吧?那為什麼我不能使用 DSA 公鑰加密呢?
DSA 代表“數字簽名算法” ——專門設計用於生成數字簽名,而不是執行加密。
該系統中對公鑰/私鑰的要求是出於稍微不同的目的——而在 RSA 中,需要一個密鑰以便任何人都可以加密,而在 DSA 中需要一個密鑰以便任何人都可以驗證。在 RSA 中,私鑰允許解密;在 DSA 中,私鑰允許創建簽名。
RSA也可用於簽名的事實是教科書算法是陷門置換的結果- 簡單來說,這意味著密文和明文是同一集合空間的一部分。對於這種情況,公鑰算法不是必需的——公鑰算法只需要陷門函式。