網路安全入門 密碼學基礎 數字簽名到底是什麼?

2021-10-16 04:41:00 字數 1558 閱讀 1898

數字簽名:公鑰數字簽名,只有資訊的傳送者才能產生別人無法偽造的一段數字串,類似於合同上的簽名。

一、安全通訊所需特徵:

機密性,完整性,端點鑑別

1.機密性

簡單來說就是只有傳送方和希望接受方能看到檔案的內容

要實現機密性很明顯要用到加密,即將傳送的明文運用加密演算法進行加密形成密文,讓別人看不懂,只有接收方能使用解密演算法解密出明文

2.完整性

不能讓其他人篡改或增刪通訊內容

a給b傳送檔案被中間人纂改後傳送給b

3.端點鑑別

通訊雙方能鑑別另一方身份,以及確信通訊的另一方確認具有聲稱的身份,別人不能冒充我給你寫信,也不能冒充你收到我寫給你寄的信。

二、下面介紹三種基於數學原理的工具:

1.對稱加密(對稱金鑰系統)

金鑰其實就是一串資料,可以把它看成是一把鑰匙,用它加密資料就相當於用這把鑰匙給資料上了把鎖,接收方和傳送方手裡都有這把鑰匙,即對稱金鑰。

在這種金鑰系統中如何安全的分發金鑰是乙個問題

2.非對稱加密(公開金鑰系統)

與對稱加密不同的是非對稱加密使用的是兩把鑰匙(私鑰,公鑰),用其中一把鑰匙加密的資料只有另外一把鑰匙才能解密。比如傳送方a給接收方b傳送資訊(傳送方a擁有接收方b的公鑰,接收方b擁有自己的私鑰和公鑰)這時不管是誰拿到了a傳送的資料都是無法解密的,因為a的資料用b的公鑰加密而用b公鑰加密的資料只有b的私鑰可以解密,而b的私鑰只有b自己擁有,如此一來便能保證資料不被洩露。但是這樣還會有乙個問題,中間人獲取到了a傳送的資料後雖然無法解密資料但是可以胡亂修改或刪除加密報文的一部分,將纂改後的資料再傳送給b,b拿到資料解密後無法判斷資料是否被修改。

3 密碼雜湊函式

雜湊函式又稱雜湊函式

雜湊函式以一段資料m為輸入 計算得到一串定長的字串h(m)稱之為雜湊值,任意兩個不同的資料計算的到的雜湊值一定不一樣,而且無法根據雜湊值逆推出資料內容,雜湊值就像是資料的指紋。

三、數字簽名原理

利用上面提到的三個工具,我們試著解決入侵者冒充別人身份傳送偽造資訊的問題,考慮如何讓接收方purvis收到一條資訊後確認來自所期待的傳送方,要證明一條報文是來自這個人,那麼將這個人獨一無二的東西附在這條報文上即可,就像現實生活中的簽名。那麼我們想想獨一無二的東西是什麼?對,就是私鑰,私鑰是只有自己才擁有的獨一無二的東西。這個時候我們只需要用私鑰對報文m進行加密得到乙個密文k私(m),這就叫簽名,然後把簽名連同實際要傳送的資料一起打包((m,k私(m)))傳送給接收方purvis,接收方收到資料後用傳送方的公鑰解密k私(m)的到m,然後將解密得到的m與第乙個m(m,k私(m))進行比較,如果匹配一致說明該報文一定是來自傳送方,因為能用傳送方的公鑰解密該報文,那麼說明該報文一定是傳送方的私鑰加密的,而傳送方的私鑰是其他人都不知道的。這種技術就叫做數字簽名。

注:其實在實際環境中m會經過雜湊函式處理生成h(m),簽名[k私(h(m))],接收方用公鑰解密得到h(m) 和m,這時只需對m用同樣的離散函式處理然後比較即可。

密碼學 什麼是數字簽名

1 場景 傳送方 a 需要給 b 傳送一條訊息,為了保證資料的完整性,a 在訊息的後面新增該訊息的 hash 值。問題 由於訊息是明文的,中間人可以截獲該訊息並生成新訊息的 hash 發給 b。為了解決上述問題,有如下方案 1 這條訊息用 a 和 b 共享的金鑰進行對稱加密。2 hash 值用 a ...

Lauren與密碼學9,數字簽名

lauren 我思考了一下,採用訊息認證碼的手套訂單還是有問題。客戶生成訂單,計算hash值,並且給hash值加密。這樣防止了篡改和別人偽造,但是因為密碼是在工廠與客戶之間共享的。客戶和工廠都有生成一模一樣訂單的能力。客戶否認說我沒有發過這個訂單,是工廠自己偽造的訂單。技術上來講,訊息認證碼沒有辦法...

密碼學系列 數字簽名

什麼是數字簽名呢?數字簽名其實是訊息摘要和非對稱加密的一起應用。數字簽名是怎麼來的呢?在非對稱加解密中,公鑰方對私鑰方傳送訊息,只需要公鑰方用公鑰加密即可,因為私鑰只有一人持有。那麼私鑰方給公鑰方傳送資料是否可以用私鑰傳送即可呢?當然可以的啊。但是又乙個問題就是私鑰加密後,所有的公鑰都可以解開,那麼...