數字簽名的工作原理:發送報文時,發送方用一個哈希函數從報文文本中生成報文摘要,然后用自己的私人密鑰對這個摘要進行加密,這個加密后的摘要將作為報文的數字簽名和報文一起發送給接收方,接收方首先用與發送方一樣的哈希函數從接收到的原始報文中計算出報文摘要,接著再用發送方的公用密鑰來對報文附加的數字簽名進行解密,如果這兩個摘要相同、那么接收方就能確認該數字簽名是發送方的。
數字簽名實現的具體原理:
上述圖示便描述了數字簽名驗證的完整過程:
發送方A將消息用Hash算法產生一個消息摘要,這個消息摘要有兩個重要特性:抗碰撞性(指找到散列值相同的兩條不同的消息是非常困難的)和摘要長度固定(MD5是最常見的摘要算法,速度很快,生成結果是固定的128 bit字節),使得任何消息產生的簽名值長度是一樣的。
發送方A產生消息摘要后,用自己的私鑰對摘要進行加密,這個加密后的消息摘要就是數字簽名,隨后發送方A將消息與簽名發給接受方B。在這里有人會疑問,為什么對是對消息摘要進行加密簽名?對于較大文件而言,消息摘要即可將消息轉換成簡短的信息摘要,用以驗證信息的完整性,還可壓縮信息長度提高簽名效率。
B接受到消息及其簽名后,用發送方A的公鑰解密這個簽名,獲得由發送A生成的消息摘要,接著用發送A所用的Hash算法重新生成所獲得的消息的摘要,并對比這兩個摘要。如果相同,說明這個簽名是發送A針對這個消息的有效簽名;如果不相同,則簽名無效。
回答所涉及的環境:聯想天逸510S、Windows 10。
數字簽名的工作原理:發送報文時,發送方用一個哈希函數從報文文本中生成報文摘要,然后用自己的私人密鑰對這個摘要進行加密,這個加密后的摘要將作為報文的數字簽名和報文一起發送給接收方,接收方首先用與發送方一樣的哈希函數從接收到的原始報文中計算出報文摘要,接著再用發送方的公用密鑰來對報文附加的數字簽名進行解密,如果這兩個摘要相同、那么接收方就能確認該數字簽名是發送方的。
數字簽名實現的具體原理:
上述圖示便描述了數字簽名驗證的完整過程:
發送方A將消息用Hash算法產生一個消息摘要,這個消息摘要有兩個重要特性:抗碰撞性(指找到散列值相同的兩條不同的消息是非常困難的)和摘要長度固定(MD5是最常見的摘要算法,速度很快,生成結果是固定的128 bit字節),使得任何消息產生的簽名值長度是一樣的。
發送方A產生消息摘要后,用自己的私鑰對摘要進行加密,這個加密后的消息摘要就是數字簽名,隨后發送方A將消息與簽名發給接受方B。在這里有人會疑問,為什么對是對消息摘要進行加密簽名?對于較大文件而言,消息摘要即可將消息轉換成簡短的信息摘要,用以驗證信息的完整性,還可壓縮信息長度提高簽名效率。
B接受到消息及其簽名后,用發送方A的公鑰解密這個簽名,獲得由發送A生成的消息摘要,接著用發送A所用的Hash算法重新生成所獲得的消息的摘要,并對比這兩個摘要。如果相同,說明這個簽名是發送A針對這個消息的有效簽名;如果不相同,則簽名無效。
回答所涉及的環境:聯想天逸510S、Windows 10。