密碼學黑客:對稱密碼加密

對稱密碼加密又稱為共享密鑰密碼,就是用相同的密鑰加密和解密,這裡所說的密碼不是QQ密碼和銀行卡密碼,那裡的密碼只能叫做換了符號的秘密,不能算做密碼,這裡的密碼是由強大的算法和密鑰組合加密而成。

我們來講解一下XOR運算,記住這一點,同樣為0,異樣為1。

例如:0 XOR 0 =0

0 XOR 1 =1

1 XOR 0 =1

1 XOR 1 =0

密碼學黑客:對稱密碼加密

一次性密碼本

只要通過暴力破解,無論什麼最牛逼的密碼,也最終有一天被破解,但有一種密碼,是一次性的,就算遍歷整個密鑰空間也無法被破解。

一次性密碼本是一種福非常簡單的密碼,它的原理是“將明文與一串隨機的比特序列進行XOR運算”。如果將硬幣的正面設為0,反面設為1,則通過不斷擲硬幣就能夠產生這樣一串隨機的比特序列。

密碼學黑客:對稱密碼加密

解密就是加密的反向運算。也就是說,用密文和密鑰進行XOR運算,就可以得到明文。

正如上面所講到的那樣,一次性密碼本是一種非常簡單的密碼。如此簡單的密碼居然無法

破譯,這真是讓人匪夷所思。這裡說的無法破譯,並不是指在現實的時間內難以破譯,而是指

即便擁有一種運算能力無窮大的計算機,可以在一瞬間遍歷任意大小的密鑰空間,也依然無法

破譯。

為什麼一次性密碼本是絕對無法破譯的呢?我們假設對一次性密碼本的密文嘗試進行暴力

破解,那麼總有一天我們會嘗試到和加密時相同的密鑰,也就能解密出明文 midnight,這是

毋庸置疑的事實。然而—下面這一點非常重要—即便我們能夠解密出 midnight這個字符

串,我們也無法判斷它是否是正確的明文。

這是因為在對一次性密碼本嘗試解密的過程中,所有的64比特的排列組合都會出現,這其

中既會包含像 aaaaaaaa、 abcdefgh、z22z2zz這樣的規則字符串,也會包含 midnight、

onenight、 mistress等英文單詞,還會包含號a_Ajvx、HY(&JY!z、5)、ER#f6等看不

懂的組合。由於明文中所有可能的排列組合都會出現,因此我們無法判斷其中哪一個才是正確

的明文(也就是用哪個密鑰才能夠正確解密)。

所謂暴力破解,就是按順序將所有的密鑰都嘗試一遍,並判斷所得到的是不是正確的明文

的方法。然而,在一次性密碼本中,由於我們無法判斷得到的是不是正確的明文,因此一次性

密碼本是無法破譯的。

密碼學黑客:對稱密碼加密


分享到:


相關文章: