第一章
經典密碼學介紹
1.1密碼學和現代密碼學
a.現代密碼學與古典密碼學的區別:
1.2對稱金鑰加密的基本設定 a.
b.加密的語法
金鑰產生演算法
gen:一種概率演算法
加密演算法
enc:
輸入金鑰
k,明文
m,輸出密文c。
記為enck(
m)解密演算法
dec:
輸入金鑰
k,密文c,
輸出明文
m。記為
deck
(c)
c.kerckhoffs原則
1)內容:加密方案本身不必保密,唯一需要保密的是通訊雙方共享的秘密金鑰 2)
理由:1.
與維護演算法的保密性相比,通訊各方非常容易的維護短小金鑰的保密性 2.
金鑰一旦暴露,誠實參與方將非常容易改變金鑰而不是替換演算法 3.
一旦多對人員需要加密他們的通訊,對參與方而言 d.
開放密碼學設計優勢:
攻擊場景:
1.3古典密碼
(都是唯密文攻擊)
a.凱撒密碼:移動
3個位置
>>
金鑰空間充分性原則:任何安全的加密方案必須擁有乙個能抵禦窮舉搜尋的金鑰空間
b.單字母替換
>>
一種對移位加密改進的攻擊: 用
pi表示在普通英文文字中第
i個字母的概率,則有σpi
2=0.065 用
qi表示在密文中第
i個字母的概率,則有ij
=σpi
*qi+j 若
ik=0.065
,則得到金鑰為k
c.多字母移位加密
(vigenere加密)
1)密文中乙個單詞出現
2次或多次,我們可以認為這些距離的最大公約數是週期t或
t的倍數 2)
巧合指數法:若金鑰長度為
t,說明c1
,c1+t,
c1+2t
……是同樣的移位加密
則對於序列c1
,c1+r,
c1+2r
……,若sr
=σqi
2=0.065
,則r=t
為週期 否則s
r=σq
i2=σ
(1/26)
2=0.038 d.
關於密碼設計的經驗
1.4現代密碼學的基本原則
如何形式化的描述對稱金鑰加密所需要的加密方案
如果沒有敵手能從密文中計算任何關於明文的函式,則加密方案是安全的
>>
安全定義的通用形式
如果特定的敵手不能完成特定的攻破,則對給定任務的乙個密碼學方案是安全的
>>
規約方法
若給定假設
x時正確的,根據給定的定義,構造方案
y是安全的
現代密碼學(一
0x01.分組密碼 0x02.分組密碼基本設計原則 安全原則 1.混亂 代替密碼 2.發散 移位密碼 實現原則 0x03.分組密碼設計方法 1.乘積密碼 例項 2.迭代密碼 通過簡單的密碼函式或者簡單的密碼,多次迭代,轉換為更複雜的密碼。迭代密碼常見的模型有s p模型 代替 置換網路 feistel...
密碼學介紹
密碼學分類 網路開發準則對稱加密演算法 加密 解密都是使用乙個金鑰 非對稱加密演算法 用公鑰加密,私鑰解密 用私鑰加密,公鑰解密 特點 1.演算法公開 2.對於相同的資料加密,得到的結果是一樣的 3.得到的結果都是定長的32位md5用途 1.密碼 伺服器不需要知道使用者的真實密碼,資料庫儲存的是加密...
第一章 密碼學和加密交易的介紹
加密函式的三個特性 加密雜湊函式的三個屬性 這裡的雜湊指標,類似於我們c c 的指標,但是該指標僅僅指明了物理儲存的確切位址,而且還儲存了前乙個區塊某個特定時間下的雜湊值。如下圖所示的表示方式 多個資料塊通過相同的方式串聯到一起,就形成了我們所說的區塊鏈 上圖中,每乙個資料塊的頭部都儲存了前乙個資料...