對稱式和公開金鑰最大的差別在於有無數位簽章。
數位簽章Digital Signature只有公開金鑰才能做到,而數位簽章的用途在於不可否認性non-repudiation,在前面有說過了,這邊主要是說如何做到。
概念是有2個人A和B,A想要傳資料給B時,A會先用自己的私密金鑰對訊息M簽章(加密)並把簽章好的C和原始訊息M傳給B,B收到後用A的公開金鑰驗證(解密)並比較是否和M一樣。
當然不只這樣,可以使用雜湊做,A對訊息M做雜湊H產生H(M),再用自己的私密金鑰加密產生簽章,之後A再用B的公開金鑰對訊息M加密產生密文C,之後把密文C和簽章一起給B,B此時用自己的私密金鑰對密文C解密產生M’,再把M’做雜湊H,產生H(M’),之後把簽章做驗證(解密),然後和剛剛算出的雜湊做比對。
這個方法是比對雜湊值是否一樣。