密碼學基礎

2021-09-17 20:59:23 字數 1521 閱讀 9179

在密碼學中,我們稱原始的資訊為「明文」(plaintext),加密之後的資訊為「密文」(cipher text)。所以加密就是把明文轉換成密文的過程,解密就是把密文轉換成明文的過程,轉換過程中所需要的資訊稱為「金鑰」。

簡單替代密碼

是通過把乙個字母轉換為另乙個字母進行加密,通過乙個相反的替換來對密文進行解密的過程。尤利烏斯.凱撒通過移位密碼和他的將軍們進行溝通,他將最後乙個字母和第乙個字母相連成環,並將原始訊息中的每個字母以字母表在他之後的第三個字母替換。

如果你攔截了一條訊息並且你知道該訊息是用移位密碼加密的,那麼解密過程就很簡單(即使你提前不知道偏移量(金鑰)是什麼);只要嘗試所有可能的移位直到對密文解密後能夠得到有意義的明文。對於乙個26字母的字母表,僅僅需要嘗試25種移位方式即可。

要保證更安全得加密,並不一定必須是將每個字元都轉換為字母表**現在該字母之後固定位置的字元,可以將每乙個字元都轉換為其他的某個特定字元。也就是說可以創乙個字元置換規則並且使用哪個規則作為金鑰。如果字符集包含n個字元,那麼攔截的資訊的竊聽者必須辨認出n階乘置換規則中哪種才是你使用的。

可以使用字母出現的頻率和字母組合規律來縮小選擇範圍。假定明文是「send me a hundred more soldiers」,對應的密文是「krcz sr h byczxrz sfxr kfjzgrxk」。密文中字母r出現的頻率最高,那麼你就應該準確的猜到該字母對應的明文本母是e(e是英文文字中頻率出現最高的字母)。隨後你看到密文中有乙個兩字母單詞為sr,你就會猜到s對應的明文本母必是「b h m w」之一,因為英文中僅有的以e結尾的兩字母單詞是「be he me we」。同樣的你也可以確定明文「a」對應著密文「h」,因為英文中僅有的單字母小寫單詞是「a」。

簡單替代密碼存在的問題:資訊傳送方和接收方必須對金鑰達成一致。如果你向多方傳送不同的資訊,並且不想讓破密其他方的資訊,那麼需要為各方建立乙個不同的金鑰。

對稱-金鑰加密

當資訊的傳送方和接收方使用相同的金鑰時,則雙方都在使用「對稱-金鑰加密」。這種情況下,無論何時,雙方都得提前對他們使用的金鑰達成一致。

一次性密碼本:假定你希望使用對稱-金鑰密碼,但簡單替代密碼又不是那麼安全,此時你可以選擇一次性密碼本。一次性密碼本在位元位上執行如下工作。位元位是「二進位制位」的縮寫形式,且位元只能取兩個值:0和1.

一次性密碼本使用「異或」(「xor」)來對位元進行逐位加密操作。理解xor操作符最簡單的方式是:如果x是乙個位元,那麼x異或0是x,且x異或1是與x相反的值而且如果x和y均代表乙個位元,那麼(x異或y)異或y是x:即用乙個相同值對x執行兩次異或的結果仍然是x本身。

如果明文需要b位——可能它是由b位的ascii或者unicode字元組成——隨後能生成乙個b位的隨機序列作為金鑰,當你知道b位的金鑰後,隨後你能對明文和金鑰逐位的執行非同步操作來生成密文。一旦你接收到b-位的密文,逐位的將該b位密文和金鑰執行異或操作來恢復得到b-位的明文。該方法被稱為一次性密碼本,這個金鑰被稱為pad。

只要金鑰中的位元是隨機生成的,那麼竊聽者通過猜想金鑰來對密文進行解密幾乎是不可能的。

一次性密碼本的安全性較高,但是金鑰需要具有和明文一樣的位數,這些位應該是提前生成的,且金鑰需要提前對雙方共享。

密碼學 密碼學基礎

密碼學是研究編制密碼和破譯密碼的技術科學。密碼學的安全目標至少包含三個方面 保密性 完整性 可用性。完整性 資源只有授權方以授權的方式進行修改,所有資源沒有授權則不能修改。可用性 資源只有在適當的時候被授權方訪問,並按需求使用。密碼系統由5部分組成 1 明文空間m 全體明文的集合 2 密文空間c 全...

密碼學基礎

在正式講解https協議之前,我們首先要知道一些密碼學的知識。明文 明文指的是未被加密過的原始資料。密文 明文被某種加密演算法加密之後,會變成密文,從而確保原始資料的安全。密文也可以被解密,得到原始的明文。金鑰 金鑰是一種引數,它是在明文轉換為密文或將密文轉換為明文的演算法中輸入的引數。金鑰分為對稱...

密碼學基礎

密碼學包括兩個分支 密碼編碼學和密碼分析學。密碼編碼學主要研究安全的密碼演算法和協議,來實現資訊加密保護或訊息認證 密碼分析學主要研究破譯密文資訊,進而獲取對應的明文資訊,這兩個分支既相互對立又相互依存,正是這種對立統一的關係推動了密碼學自身的發展。密碼演算法是密碼學的核心 現代密碼演算法的研究可大...