簡述簽名驗籤

相信不少開發者開發項目時初次遇到簽名驗籤概念都會疑惑,簽名是怎麼實現的?如何驗籤?算法

要弄明白這兩個過程首先須要明確如下幾個基本概念:加密

一、密鑰對:在非對稱加密技術中,有兩種密鑰,即公鑰和私鑰。開發

二、公鑰:公鑰用來給數據加密,用公鑰加密的數據只能使用私鑰解密。程序

三、私鑰:用私鑰來解密公鑰加密的數據。方法

四、摘要:對須要傳輸的文本,作HASH運算。技術

五、簽名:使用私鑰對須要傳輸的文本摘要進行加密,獲得的密文即被稱爲該次傳輸過程的簽名。數據

六、簽名驗證:數據接收端拿到傳輸文本,可是須要確認該文本是否就是發送方發出的內容,中途是否曾經被篡改。所以接收方拿本身持有的公鑰對簽名進行解密,獲得了文本的摘要,而後使用與發送方一樣的方法對文本計算摘要值,再與解密獲得的摘要作對比,發現兩者徹底一致,則說明文本沒有被篡改過。項目

簽名驗簽過程簡述以下:開發者

小明給小麗發送消息,小明先計算出消息的摘要,而後使用本身的私鑰加密消息摘要,被加密的消息摘要就是簽名。嵌入式

小麗收到消息後,也會使用和小明相同的方法提取消息摘要,而後用小明的公鑰解密簽名,並與本身計算出來的消息摘要進行比較(這個過程,叫作"驗籤")。若是相同則說明消息是小明發送給小麗的。同時,小明也沒法否定本身發送消息給小麗的事實。

這個過程當中咱們能夠發現簽名驗簽過程的三個顯著特色:

(1)鑑權。公鑰加密系統容許任何人在發送信息時使用公鑰進行加密,簽名可以讓信息接收者確認發送者的身份。

(2)完整性。發送方對要傳輸的數據作摘要,接收方接收到數據以後再作摘要並對比是否與發送方的結果一致,能夠肯定數據是否在線路上已經被篡改。

(3)不可抵賴。接收方能夠經過數字簽名來防止全部後續的抵賴行爲,由於接收方能夠出示簽名給第三方來證實信息的來源。

數字簽名技術的實現方法:

數字簽名算法依靠公鑰加密技術來實現的。在公鑰加密技術裏,每個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰能夠自由發佈,但私鑰則祕密保存;還有一個要求就是要讓經過公鑰推算出私鑰的作法不可能實現。

LKT系列加密芯片支持國際上通用的對稱和非對稱算法以及數字簽名,還支持客戶移植算法以及程序。對於數據加密以及嵌入式版權保護數字簽名有需求的開發人員來講是一個的很好的選擇。

相關文章
相關標籤/搜索