對(duì)稱密碼 加密與解密的密鑰相同
共鑰密碼 加密與解密密鑰不同
單向散列函數(shù) hash 保證完整性
消息認(rèn)證碼 不僅能夠保證完整性纠俭,提供認(rèn)證消息是否來(lái)自期待的對(duì)象
數(shù)字簽名 還能夠防止否認(rèn)
DES 64比特明文加密成64比特密文的對(duì)稱密碼算法 密鑰的64bit懦冰,每7比特有一比特用于錯(cuò)誤檢測(cè)饮六,實(shí)質(zhì)上密鑰長(zhǎng)度56比特,這個(gè)64比特的單位成為分組玷过,以分組為單位處理的密碼算法叫做分組密碼爽丹。
DES的結(jié)構(gòu)稱為feistel網(wǎng)絡(luò),加密的步驟稱為輪辛蚊,DES是一種16輪循環(huán)的feistel網(wǎng)絡(luò)
一輪步驟:輸入數(shù)據(jù)等分粤蝎,右側(cè)發(fā)送到輸出右側(cè),右側(cè)發(fā)送到輪函數(shù)袋马,輪函數(shù)根據(jù)右側(cè)數(shù)據(jù)和子密鑰初澎,計(jì)算出比特序列,再與左側(cè)數(shù)據(jù)異或虑凛,結(jié)果發(fā)送到輸出左側(cè)碑宴。
并且使用不同子密鑰對(duì)一輪的數(shù)據(jù)處理若干次,并且在兩輪之間對(duì)調(diào)
特點(diǎn):加密無(wú)論使用任何函數(shù)作為輪函數(shù)都可解密桑谍,加密和解密可以使用相同的結(jié)構(gòu)實(shí)現(xiàn)墓懂。feistel網(wǎng)絡(luò)實(shí)際上從加密算法中抽取“密碼的本質(zhì)部分”,并將其封裝在一個(gè)輪函數(shù)中霉囚。設(shè)計(jì)算法的人只需設(shè)計(jì)復(fù)雜算法即可。
攻擊方法:差分分析匕积,線性分析 前提 由可選擇任意明文得到密文盈罐, 稱為選擇明文攻擊
三重DES,密鑰長(zhǎng)度56*3 當(dāng)三個(gè)密鑰相同闪唆,相當(dāng)于普通DES
AES 即rijndael 分組長(zhǎng)度128bit盅粪,密鑰長(zhǎng)度128,192悄蕾,256bit
使用spn結(jié)構(gòu)票顾,每一輪為:subbytes shiftrows mixcolumns addroundkey
解密,即逆運(yùn)算
分組密碼只能加密固定長(zhǎng)度的明文帆调,如果需要加密任意長(zhǎng)度奠骄,就需要迭代,迭代方法稱為模式
分組密碼的模式:
ECB模式 分組加密直接成為密文分組 無(wú)需破譯就可以操縱明文
CBC模式 密文分組鏈接模式番刊,明文與前一個(gè)密文進(jìn)行xor含鳞,再加密 特點(diǎn):第一個(gè)明文分組需要初始化向量 無(wú)法單獨(dú)加密,一個(gè)密文損壞芹务,解密影響兩個(gè)分組蝉绷。 攻擊:初始化向量比特反轉(zhuǎn)鸭廷,填充提示攻擊,初始化向量攻擊
CFB模式 前一個(gè)密文分組送回到輸入端熔吗,明文分組與密文分組之間只有xor (類似于一次性密碼本) 攻擊: 重放攻擊
OFB模式 輸出反饋模式辆床,明文分組和密碼算法的輸出進(jìn)行XOR產(chǎn)生密文分組,與CFB相似 生成密鑰流與xor可并行
CTR模式 每次加密都生成一個(gè)不同的值(nonce)作為初始值桅狠,計(jì)數(shù)器前半部分為nonce讼载,后半部分為分組序號(hào)。優(yōu)勢(shì):與OFB對(duì)比垂攘,CTR支持任意順序處理分組维雇,可以并行。
總結(jié):
公鑰密碼(非對(duì)稱密碼): 解決密鑰配送問(wèn)題
解決密鑰配送問(wèn)題:
- 事先共享 量大不方便晒他,安全性差
- 密鑰分配中心解決 密鑰數(shù)量大引起分配中心負(fù)載增大吱型,中心故障則無(wú)法通信
- 公鑰密碼
密鑰分為加密密鑰(公鑰),解密密鑰(私鑰)兩種陨仅,一對(duì)公鑰和私鑰稱為密鑰對(duì)(key pair)津滞。
公鑰密碼 無(wú)法解決公鑰認(rèn)證問(wèn)題
時(shí)鐘運(yùn)算: 時(shí)鐘運(yùn)算中對(duì)數(shù)稱為離散對(duì)數(shù),快速求出離散對(duì)數(shù)對(duì)算法還未發(fā)現(xiàn)
RSA:
加密: 密文=明文的E次方mod N 公鑰是(E灼伤,N)
解密: 明文=密文的D次方mod N 私鑰是(D触徐,N)
生成密鑰對(duì):
求N N=p * q (p,q為質(zhì)數(shù))
求L L=lcm (p-1狐赡,q-1) lcm最小公倍數(shù)
求E 1<E<L gcd(E撞鹉,L) =1 (E,L最大公約數(shù)為1颖侄,即E鸟雏,L互質(zhì))
求D 1<D<L E * D mod L =1
公鑰密碼存在的問(wèn)題: 算法本身無(wú)法防御中間人攻擊,處理速度低
強(qiáng)度大保證: 質(zhì)因數(shù)分解
混合密碼: 會(huì)話密鑰是對(duì)稱密碼的密鑰览祖,同時(shí)也是公鑰密碼的明文
偽隨機(jī)數(shù)生成器生成會(huì)話密鑰孝鹊,對(duì)稱密碼加密消息,公鑰密碼加密會(huì)話密鑰
舉例:
數(shù)字簽名展蒂,由單向散列函數(shù)和公鑰密碼組合而成又活。
證書,由公鑰和數(shù)字簽名構(gòu)成
消息認(rèn)證碼锰悼,由單向散列函數(shù)和密鑰組合(對(duì)稱密碼也可)
偽隨機(jī)數(shù)生成器也可
單向散列函數(shù):
散列值:抗碰撞性
鹽柳骄,(salt,通過(guò)偽隨機(jī)數(shù)生成器產(chǎn)生的隨機(jī)的值)
弱抗碰撞性:找到和該消息具有相同散列值的另一消息是很困難的
強(qiáng)抗碰撞性:找到散列值相同的兩條不同的消息是很困難的
SHA-3之前的單向散列函數(shù)都是通過(guò)循環(huán)執(zhí)行壓縮函數(shù)的方式來(lái)生成散列值箕般,稱為MD結(jié)構(gòu)
SHA-3采用海綿結(jié)構(gòu)
攻擊: 暴力破解 破解“弱碰撞性”
生日攻擊 破解“強(qiáng)碰撞性”
由于單向散列函數(shù)能夠辨別出“篡改”夹界,但不能辨別“偽裝” ,認(rèn)證技術(shù)包括消息認(rèn)證碼和數(shù)字簽名