天天看點

.Net加密與解密——非對稱加密之數字簽名  一,從非對稱加密的認證模式說起  二,數字簽名三,數字簽名Demo

由消息的發送方釋出公鑰,持有私鑰。

步驟:

1,發送方公布自己的公鑰,任何人都可以獲得。

2,發送方使用自己的私鑰對消息進行加密,然後發送。

3,接收方使用發送方的公鑰對消息進行解密。

缺點:

1,任何截獲該消息的第三方都能夠使用發送方公鑰進行解密;

2,耗時,不适用于大資料

      過程:

1,發送方對想要傳遞的消息進行散列運算,得到原始消息摘要。(摘要可以代表消息本身,相當于指紋)

2,發送方使用自己的私鑰隻對消息摘要進行加密,該過程也稱作簽名。将消息和加密後的摘要發送給接收方。由于摘要非常小,是以次采用非對稱加密運算速度也很快。

3,接收方使用發送方的公鑰對消息摘要進行解密,确認了發送方,并得到原始消息摘要。接收方對收到的消息進行散列運算,得到一個本地消息摘要。

4,接收方對比原始的消息摘要和本地消息摘要。如果相同,說明消息沒有被改動過;如果不同,說明消息已經被改動過;

  優點:

          1,解決了非對稱加密中認證模式比較耗時間的問題。

 缺點:

  1,隻對摘要進行了加密,并未對消息進行加密,一旦被截獲,即可檢視該消息。

繼續閱讀