復(fù)習(xí)參考
站在用戶的角度思考問題,與客戶深入溝通,找到盧龍網(wǎng)站設(shè)計(jì)與盧龍網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋盧龍地區(qū)。參考鏈接
site:www.wendangku.net 密碼學(xué)答案
基本概念信息系統(tǒng)安全=設(shè)備安全+數(shù)據(jù)安全+內(nèi)容安全+行為安全
重合指數(shù)法對多表代換密碼算法的破解最有效。
一個(gè)加密系統(tǒng)至少由明文、密文、加密算法、解密算法和密鑰組成,其安全性是用密鑰決定的。
置換密碼又叫換位密碼,最常見的置換密碼有列置換和周期轉(zhuǎn)置換密碼
一個(gè)有6 個(gè)轉(zhuǎn)輪密碼機(jī)是一個(gè)周期長度為26 的6 次方的多表代替密碼機(jī)械裝置。
密碼學(xué)歷史上第一個(gè)廣泛應(yīng)用于商用數(shù)據(jù)保密的密碼算法是DES。
DES密碼中所有的弱密鑰、半弱密鑰、四分之一弱密鑰和八分之一弱密鑰全部加起來,一共有256 個(gè)
安全性較差的密鑰
攻擊方法
統(tǒng)計(jì)分析攻擊
所謂統(tǒng)計(jì)分析攻擊就是指密碼分析者通過分析密文和明文的統(tǒng)計(jì)規(guī)律來破譯密碼。
數(shù)學(xué)分析攻擊
所謂數(shù)學(xué)分析攻擊是指密碼分析者針對加密算法的數(shù)學(xué)依據(jù)通過數(shù)學(xué)求解的方法來破譯密碼.
僅知密文攻擊
所謂僅知密文攻擊是指密碼分析者僅根據(jù)截獲的密文來破譯密碼。因?yàn)槊艽a分析者所能利用的數(shù)據(jù)資源僅為密文,因此這是對密碼分析者最不利的情況。
? 所謂已知明文攻擊是指密碼分析者根據(jù)已經(jīng)知道的某些明文密文對來破譯密碼.
? 攻擊者總是能獲得密文,并猜出部分明文
? 計(jì)算機(jī)程序文件加密特別容易受到這種攻擊
所謂選擇明文攻擊是指密碼分析者能夠選擇明文并獲得相應(yīng)的密文。
對于這種形式的密碼分析,破譯者已知的東西只有兩樣:加密算法、待破譯的密文。
與選擇明文攻擊相對應(yīng),破譯者除了知道加密算法外,還包括他自己選定的密文和對應(yīng)的、已解密的原文,即知道選擇的密文和對應(yīng)的明文。
選擇文本攻擊是選擇明文攻擊與選擇密文攻擊的結(jié)合。破譯者已知的東西包括:加密算法、由密碼破譯者選擇的明文消息和它對應(yīng)的密文,以及由密碼破譯者選擇的猜測性密文和它對應(yīng)的已破譯的明文。
很明顯,唯密文攻擊是最困難的,因?yàn)榉治稣呖晒├玫男畔⒆钌佟?/p> 古典密碼
采用混淆、擴(kuò)散和乘積的方法來設(shè)計(jì)密碼
混淆:使密文和明文、密鑰之間的關(guān)系復(fù)雜化。
擴(kuò)散:將每一位明文和密鑰的影響擴(kuò)大到盡可能多的密文位中。
置換(換位)
? 置換密碼經(jīng)不起已知明文攻擊
代替(替換)
? 單表代替密碼: 只使用一個(gè)密文字母表,并且用密文字母表中的一個(gè)字母來代替明文字母表中的一 個(gè)字母。 凱撒密碼 仿射密碼 經(jīng)不起窮舉攻擊 單表代替密碼可用統(tǒng)計(jì)分析攻破。
? 多表代替密碼: Vigenere密碼 , 一個(gè)明文字母有多種代替。
? 多名碼代替密碼
經(jīng)得起統(tǒng)計(jì)分析是對近代密碼的基本要求!
DES分組密碼:明文、密文和密鑰的分組長度都是64位。
?
共有8個(gè)S盒
每個(gè)S盒有6個(gè)輸入,4個(gè)輸出,是一種非線性壓縮變換。
設(shè)輸入為b1 b2 b3 b4 b5 b6 ,則以b1b6組成的二進(jìn)制數(shù)為行號(hào),b2b3b4b5組成的二進(jìn)制數(shù)為列號(hào)。 列交點(diǎn)處的數(shù)(二進(jìn)制)為輸出
P盒是置換盒,提供雪崩效應(yīng)
在今天看來,DES算法已經(jīng)不再安全,其主要原因是源于密鑰空間的限制,容易被窮舉攻破
DES的輪函數(shù)F是由三個(gè)部分:擴(kuò)展置換、非線性代換和線性置換組成的。
AES整體特點(diǎn)
?
S盒變換 ByteSub(State)
①S盒變換是AES的唯一的非線性變換,是AES安全的關(guān)鍵。
②AES使用16個(gè)相同的S盒,DES使用8個(gè)不相同的S盒。
③AES的S盒有8位輸入8位輸出,DES的S盒有6位輸入4位輸出。
行移位是置換
行移位變換對狀態(tài)的行進(jìn)行循環(huán)移位。
第 0行不移位,第1行移 C1字節(jié),第2行移 C2字節(jié),第3行移 C3字節(jié)。
列混合是代替
列混合變換把狀態(tài)的列視為GF(28)上的多項(xiàng)式a(x),乘以一個(gè)固定的多項(xiàng)式c(x),并模 x4+1:
b(x)=a(x)c(x) mod x4+1
其中,c(x)=03x3+01x2+01x+02
能夠抵抗目前所有的已知攻擊:
窮舉攻擊。
差分攻擊。
線性攻擊。
Square攻擊。
二、SMS4 密碼概況
? ①分組密碼:
?數(shù)據(jù)分組長度=128位、密鑰長度=128位
?數(shù)據(jù)處理單位:字節(jié)(8位),字(32位)
? ②密碼算法結(jié)構(gòu):
?基本輪函數(shù)加迭代
? 對合運(yùn)算:解密算法與加密算法相同
?
? 非線性字節(jié)變換部件S盒:
? 四個(gè)S盒
? 8位輸入、8位輸出。
? 本質(zhì)上, 8位的非線性置換。
以輸入的前半字節(jié)為行號(hào),后半字節(jié)為列號(hào),行列交叉點(diǎn)處的數(shù)據(jù)即為輸出。
分組密碼1.1977年DES頒布。1981年美國針對DES的應(yīng)用制定了四種基本工作模式:
電碼本模式(ECB):暴露明文的數(shù)據(jù)模式。
密文反饋鏈接模式(CBC):明密文鏈接:加密解密錯(cuò)誤傳播無界
? 密文鏈接: 加密錯(cuò)誤傳播無界,解密錯(cuò)誤傳播有界
密碼反饋模式(CFB):錯(cuò)誤傳播無界
輸出反饋模式(OFB):加解密都沒有錯(cuò)誤傳播,但因無錯(cuò)誤傳播而對密文的篡改難以檢測。
2.稱長度小于分組長度的數(shù)據(jù)塊為短塊,必須采用合適的技術(shù)解決短塊加密問題。
短塊處理技術(shù):
1、填充技術(shù)
2、密文挪用技術(shù)
3、序列加密
特性
分類
序列密碼結(jié)構(gòu)可分為驅(qū)動(dòng)部分和組合部分兩個(gè)主要組成部分。
線性移位寄存器僅當(dāng)連接多項(xiàng)式g(x)為本原多項(xiàng)式時(shí),其線性移位寄存器的輸出序列為m序列。
設(shè)f(x)為GF(2)上的多項(xiàng)式,使f(x)| x p-1的最小正整數(shù)p稱為f(x)的周期。如果f(x)的次數(shù)為n,且其周期為2 ^n-1,則稱f(x)為本原多項(xiàng)式。
已經(jīng)證明,對于任意的正整數(shù)n,至少存在一個(gè)n次本原多項(xiàng)式。而且有有效的產(chǎn)生算法。
反饋移位寄存器輸出序列生成過程中,反饋函數(shù)對輸出序列周期長度
起著決定性的作用,而移位寄存器對輸出的序列起著決定性的作用
門限發(fā)生器要求:LFSR的數(shù)目是奇數(shù),確信所有的LFSR的長度互素,且
所有的反饋多項(xiàng)式都是本原的,這樣可達(dá)到大周期。
RC4密碼與基于移位寄存器的序列密碼不同。
它是一種基于非線性數(shù)據(jù)表變換的序列密碼。
公開密鑰密碼的基本條件:
①E和 D互逆; 基本條件,保密條件
D(E(M))=M
② Ke ≠ Kd且由Ke 不能計(jì)算出 Kd ;安全條件
③E和 D都高效。 實(shí)用條件
④E(D(M))=M 保真條件
如果滿足① ② ③可保密,如果滿足② ③ ④可保真,如果4個(gè)條件都滿足,可同時(shí)保密保真。
確保數(shù)據(jù)秘密性和真實(shí)性
RSA加密
①隨機(jī)地選擇兩個(gè)大素?cái)?shù) p和 q,而且保密;
②計(jì)算n=pq,將 n公開;
③計(jì)算φ(n)=(p-1)(q-1),對φ(n)保密;
④隨機(jī)地選取一個(gè)正整數(shù)e,1
⑥加密運(yùn)算:C=M^e mod n
⑦解密運(yùn)算:M=C^d mod n
(p-1)和(q-1)的大公因子要小。
d不能太小,要足夠大
p和q要足夠大
p和q應(yīng)為強(qiáng)素?cái)?shù)
e的選擇
隨機(jī)且含1多就安全,但加密速度慢。于是,有的學(xué)者建議取e=216+1=65537
RSA密碼建立在大合數(shù)分解的困難性之上。
ELGamal密碼建立在離散對數(shù)的困難性之上
公鑰密碼算法一般是建立在對一個(gè)特定的數(shù)學(xué)難題求解上,那么RSA算法是基于大整數(shù)因子分解困難性、ElGamal 算法是基于有限域乘法群上離散對數(shù)的困難
離散對數(shù)問題:
①設(shè)p為素?cái)?shù),則模p的剩余構(gòu)成有限域:
Fp={0,1,2,… ,p-1}
Fp 的非零元構(gòu)成循環(huán)群Fp*
Fp* ={1,2,… ,p-1}
={α,α2,α3,,αp-1},
則稱α為Fp*的生成元或模 p 的本原元。
②求α的摸冪運(yùn)算為:
y =αx mod p,1≤x≤p-1,
準(zhǔn)備:隨機(jī)地選擇一個(gè)大素?cái)?shù)p,且要求p-1有大素?cái)?shù)因子。再選擇一個(gè)模p的本原元α。將p和α公開。⑴ 密鑰生成
用戶隨機(jī)地選擇一個(gè)整數(shù)d作為自己的秘密的解密鑰,2≤d≤p-2 。
計(jì)算y=αd mod p,取y為自己的公開的加密鑰。
由公開鑰y 計(jì)算秘密鑰d,必須求解離散對數(shù),而這是極困難的。
(2) 加密
將明文消息M(0≤M≤p-1)加密成密文的過程如下:
①隨機(jī)地選取一個(gè)整數(shù)k,2≤k≤p-2。
②計(jì)算: U =y(tǒng) k mod p;
C1=αk mod p;
C2=UM mod p;
③取 C=(C1 ,C2)作為密文。
⑶ 解密
將密文(C1 ,C2)解密的過程如下:
①計(jì)算V=C1 d mod p;
②計(jì)算M=C2 V -1 mod p。
橢圓曲線密碼已成為除RSA密碼之外呼聲最高的公鑰密碼之一。
它密鑰短、簽名短,軟件實(shí)現(xiàn)規(guī)模小、硬件實(shí)現(xiàn)電路省電。
普遍認(rèn)為,160位長的橢圓曲線密碼的安全性相當(dāng)于1024位的RSA密碼,而且運(yùn)算速度也較快。
設(shè)p是大于3的素?cái)?shù),且4a3+27b2 ≠0 mod p ,稱
y2 =x3 +ax+b ,a,b∈GF(p)
為GF(p)上的橢圓曲線。
由橢圓曲線可得到一個(gè)同余方程:
y2 =x3 +ax+b mod p
其解為一個(gè)二元組
對于一個(gè)公鑰密碼,如果滿足
E(D(M,Kd),Ke)=M,
則可確保數(shù)據(jù)的真實(shí)性。
真實(shí)性 保密性
一般方法:
簽名通信協(xié)議: A ----M---- B
① A用自己的解密鑰 KdA對數(shù)據(jù) M進(jìn)行簽名:
SA =D(M,KdA)
②如果不需要保密,則 A直接將 SA 發(fā)送給用戶B。
③如果需要保密,則A查到B的公開的加密鑰KeB ,并用 KeB 對 SA 再加密,得到密文C,
C=E(SA ,KeB)
④最后,A把 C發(fā)送給 B,并將 SA或 C留底。
B收到后,若是不保密通信,則先查到A的公開加密鑰KeA ,然后用KeA 對簽名進(jìn)行驗(yàn)證:
E(SA,KeA)=E(D(M,KdA),KeA)=M
⑥若是保密通信,則B先用自己的保密的解密鑰KdB 對C解密,然后再查到A的公開加密鑰KeA ,用KeA 對簽名進(jìn)行驗(yàn)證:
D(C,KdB)=D(E(SA,KeB),KdB)= SA
E(SA,KeA)=E(D(M,KdA),KeA)=M
如果能夠恢復(fù)出正確的M,則說明SA是A的簽名,否則SA不是A的簽名。
合理設(shè)計(jì)明文的數(shù)據(jù)格式:
發(fā)方標(biāo)識(shí) 收方標(biāo)識(shí) 報(bào)文序號(hào) 時(shí)間 數(shù)據(jù) 糾錯(cuò)碼
M=
記 其中 H= 。
于是,A以
分組:將輸入分為L-1個(gè)大小為b位的分組。
填充:若第L-1個(gè)分組不足b位,則將其填充為b位。
附加:再附加上一個(gè)表示輸入的總長度分組。
共L個(gè)大小為b位的分組。
由于輸入中包含長度,所以攻擊者必須找出具有相同Hash值且長度相等的兩條報(bào)文,或者找出兩條長度不等但加入報(bào)文長度后Hash值相同的報(bào)文,從而增加了攻擊的難度。
目前大多數(shù)Hash函數(shù)均采用這種結(jié)構(gòu)
主處理
主處理是SHA-1 HASH函數(shù)的核心。
每次處理一個(gè)512位的分組,循環(huán)次數(shù)為填充后報(bào)文的分組數(shù)L
SHA-1的輸入為長度小于264位的報(bào)文,輸出為160位的報(bào)文摘要,該算法對輸入按512位進(jìn)行分組,并以分組為單位進(jìn)行處理。
簡述SHA1的算法
(1)附加填充位;
(2)初始化鏈接變量; //初始化緩沖區(qū)
(3)以512 位的分組為單位處理信息,其核心是一個(gè)包含4 個(gè)循環(huán)的模塊,每個(gè)循環(huán)
由20 個(gè)步驟組成;
(4)每一循環(huán)均以當(dāng)前正在處理512bitYq 和 160bit 的緩存值A(chǔ),B,C,D 和E 為輸入,
然后更新緩存內(nèi)容;
(5)得到最終散列值;
公鑰證書是PKI中最基礎(chǔ)的組成部分
公鑰證書是一種包含持證主體標(biāo)識(shí),持證主體公鑰等信息,并由可信任的簽證機(jī)構(gòu)(CA)簽名的信息集合。公鑰證書主要用于確保公鑰及其與用戶綁定關(guān)系的安全。公鑰證書的持證主體可以是人、設(shè)備、組織機(jī)構(gòu)或其它主體。公鑰證書能以明文的形式進(jìn)行存儲(chǔ)和分配。任何一個(gè)用戶只要知道簽證機(jī)構(gòu)(CA)的公鑰,就能檢查對證書的簽名的合法性。如果檢查正確,那么用戶就可以相信那個(gè)證書所攜帶的公鑰是真實(shí)的,而且這個(gè)公鑰就是證書所標(biāo)識(shí)的那個(gè)主體的合法的公鑰。從而確保用戶公鑰的完整性。
認(rèn)證認(rèn)證和數(shù)字簽名的區(qū)別:
①認(rèn)證總是基于某種收發(fā)雙方共享的保密數(shù)據(jù)來認(rèn)證被鑒別對象的真實(shí)性,而數(shù)字簽名中用于驗(yàn)證簽名的數(shù)據(jù)是公開的。
②認(rèn)證允許收發(fā)雙方互相驗(yàn)證其真實(shí)性,不準(zhǔn)許第三者驗(yàn)證,而數(shù)字簽名允許收發(fā)雙方和第三者都能驗(yàn)證。
③數(shù)字簽名具有發(fā)送方不能抵賴、接收方不能偽造和能夠公開驗(yàn)證解決糾紛,而認(rèn)證則不一定具備
認(rèn)證和加密的區(qū)別:
加密用以確保數(shù)據(jù)的保密性,而認(rèn)證用以確保報(bào)文發(fā)送者和接收者的真實(shí)性以及報(bào)文的完整性。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧