密碼學相關概念

2021-07-25 09:27:44 字數 1332 閱讀 5860

密碼學中提到的密碼(cipher)是一種用於加密和解密的演算法,和我們平常所提到的密碼(password)是不一樣的,password 是一種口令,是用來驗證的一組文字字串。

金鑰是使用密碼(cipher)的過程中輸入的引數,同乙個明文在相同的密碼演算法下,不同的金鑰計算會產生不同的密文。金鑰的長度越長,破解的難度也就越大(比如乙個8位的金鑰就有2^8 ,256種情況)知名的des演算法使用56位金鑰,但是還是能在數小時內破解。

又稱共享金鑰加密,它在加密和解密的過程中使用相同的金鑰,也就是說金鑰在通訊的兩端是共享的,彼此都知道金鑰。這樣做的優點是計算速度快,但是如果客戶端都使用同乙個金鑰,那憑藉這乙個金鑰不就能破解所有人的密文了嗎?但是如果客戶端和服務端都維護乙個金鑰,那服務端需要管理成千上萬個金鑰(這會給伺服器帶來極大地負擔的吧)。

又稱為公開金鑰加密。服務端生成一對金鑰,將私鑰儲存在服務端,公鑰可以發布給任何人使用。非對稱加密的過程為:

1、服務端生成配對的公鑰和私鑰。

2、私鑰儲存在服務端,公鑰傳送給客戶端。

3、客戶端使用公鑰加密明文傳輸給伺服器。

4、服務端使用私鑰解密密文得到明文。

因為加密和解密使用的是不同的金鑰,加密和解密不對稱,所以稱之為非對稱加密。

當資料在瀏覽器和伺服器之間進行傳輸時,為了保證資料沒有被篡改和掉包,就使用數字簽名。(就像我們簽合同的時候簽名那樣,你的專有字跡任何人從理論上來說是造不出來的)。

1、服務端將講過hash處後生成的摘要資訊(digest)使用私鑰加密之後生成簽名,將簽名和報文一起傳送給客戶端。

2、客戶端收到資料後,將簽名提取出來並用公鑰解密,如果能夠正常解密出digest2,那麼就認為是對方發的。

3、客戶端將報文(text)提取出來做相同的hash處理,得到摘要deigest1,在於digest2對比,若相等,則表示內容沒篡改。

簡稱ca,是一種權威機構給某**頒發的一種認可憑證。裡面包含了真實伺服器的公鑰和**的其他一些資訊。主要是保證瀏覽器確定的伺服器是真實的伺服器。數字證書機構用自己的私鑰加密後傳送給瀏覽器,瀏覽器用數字證書機構的公鑰解密後得到真實伺服器的公鑰。

為什麼要使用這個呢?舉個栗子吧。

比如說你使用a廠家給你提供的鎖和鑰匙,只要鑰匙能開啟鎖,那麼這兩個就是配對的,一旦鑰匙或者鎖被換,那麼門就打不開了,這個時候你是知道肯定有人動過手腳了,但是如果有人同時將鑰匙和鎖給換了呢,而且被換後的鑰匙和鎖配對,那麼你是如何保證這個鎖是a廠家的呢?那就只能找質檢部門來檢驗(權威機構)了。

回到問題當中,如果有人(a)用自己的公鑰把真實的瀏覽器傳送給伺服器的公鑰給換了,然後a用自己的私鑰執行同的hash、數字簽名,最後得到的結果什麼的都沒有什麼問題,但是瀏覽器看到的東西並不是伺服器給的,而是a給的。所以數字證書就是為了解決這個事情滴。

密碼學概念

aes,advanced encryption standard,高階加密標準 des,data encryption standard,資料加密標準。64位的分組長度,金鑰為64bit,實際為56bit,含有8bit的奇偶校驗位。idea,international data encryption...

密碼學相關

對稱金鑰加密 英語 symmetric key algorithm 又稱為對稱加密 私鑰加密 共享金鑰加密,是密碼學中的一類加密演算法。這類演算法在加密和解密時使用相同的金鑰,或是使用兩個可以簡單地相互推算的金鑰。實務上,這組金鑰成為在兩個或多個成員間的共同秘密,以便維持專屬的通訊聯絡。與公開金鑰加...

密碼學 概念1 0

從概念開始吧。加密的安全目標 1 不可區分性 敵手選擇兩個明文,加密者隨機選乙個,返回其密文,則敵手不能以明顯大於1 2的概率正確猜測選擇的是哪乙個明文 2 語義安全性 敵手在知道密文的條件下能有效計算出的有關明文的資訊量並不比它不知道密文時的多,除了明文的長度 3 不可展性 敵手不能以乙個不可忽略...