2019/11/22
哈工大Mooc——計算機網絡:作業10
若單碼替代密碼的替代關系(密鑰)如下:
明文:abcdefghijklmnopqrstuvwxyz
密文:mnbvcxzasdfghjklpoiuytrewq
1)請加密報文“This is an easy problem”;
2)解密報文“rmij'u uamu xyj”。
我的答案
1)加密報文為:uasi si mj cmiw lokngch
2)解密報文為:wasn`t that fun
標准答案
暫無
2(6分)
假設攻擊者可以加密明文“The quick brown fox jumps over the lazy dogs”,並的到密文。請問:
1)攻擊者是否可以利用選擇明文攻擊破解單碼替代密碼的所有報文?為什么?
2)攻擊者是否可以利用選擇明文攻擊破解多碼替代密碼的所有報文?為什么?
我的答案
1)能破解;因為在單碼替代密碼系統中,字母之間的替代關系是固定的,而選擇明文中已包含了所有字母,所以選擇明文攻擊可以完全確定字母替代關系,所以可以破解。
2)不行,多碼替代密碼是采用多個單碼替代密碼的組合,不同位置采用不同的單碼替代密碼,一句話包含不了這些規律信息。
標准答案
暫無
3(8分)
考慮p=5和q=11的RSA算法。請問:
1)n和z是什么?
2)若令e=3,為什么e是一個合理的選擇?
3)求d是的de mod z = 1,且de<160;
4)使用密鑰(n,e)加密報文m=8。(提示:[(a mod n)*(b mod n)] mod n = (a*b) mod n)
我的答案
1)n = pq = 55;
z = (p-1)(q-1) = 40;
2) e<n且e與z互質;
3)ed-1剛好被z整除,
d = (40i+1)/3, i為大於0的整數,保證d也為整數,
當i=2時,d=27
4) c = me mod n = 17
標准答案
暫無
4(10分)
假設Alice和Bob之間共享兩個密鑰:一個報文認證密鑰S1和一個對稱加密秘鑰S2。請利用圖示設計一個通信方案,要求支持報文完整性和機密性。
我的答案
標准答案
暫無
5(10分)
假設Alice想給Bob發送一封郵件; Bob擁有公鑰-私鑰對(KB+,KB–),Alice有Bob的證書,但是Alice沒有公鑰-私鑰對;Alice和Bob共享相同的散列函數H(·)。請回答下列問題:
1). 在這種情況下,是否能設計一個方案使得Bob可以核實郵件消息是由Alice創建的?如果能,請繪制框圖解釋該方案;如果不能,請簡單解釋原因。
2). 能否設計一個方案,支持Alice向Bob發送機密性郵件?如果能,請繪制方案框圖;如果不能,請簡單解釋原因。
我的答案
1)不能,Alice只持有bob的公鑰,沒有自己和bob所獨有的一段報文認證密鑰s1,也沒有自己的公鑰私鑰對,無法證明自己是Alice
2)可以,只要Alice的報文經過Bob的公鑰KB+加密,就可以實現機密傳輸,Bob收到之后可以用私鑰解密。
如圖所示:
標准答案
暫無
6(6分)
假設Alice和Bob基於SSL會話進行通信。假設有一個沒有任何共享密鑰的攻擊者,在數據包流中插入一個具有正確TCP校驗和與序列號(以及正確的IP地址和端口號)的偽造TCP段。接收端的SSL會接收該偽造TCP段並向上層應用提交載荷嗎?為什么?
我的答案
不會
SSL協議就是介於TCP和應用層之間的一個安全協議,用於提供傳輸過程中的機密性、完整性和認證,即便TCP校驗通過,序列號正確,由於其沒有遵循ssl協議,一樣會被識別出來。
因為偽造的TCP無法通過數據完整性校驗(攻擊者沒有共享的MAC密鑰)
標准答案
暫無
考慮下列偽WEP協議,共享密鑰為4比特,設為1010;IV為2比特,在產生密鑰流時,附加在密鑰之后。產生的4種密鑰流如下:
101000: 0010101101010101001011010100100 . . .
101001: 1010011011001010110100100101101 . . .
101010: 0001101000111100010100101001111 . . .
101011: 1111101010000000101010100010111 . . .
假設所有消息長度為8比特;ICV為4比特,是通過數據的前4比特與后4比特異或所得;偽WEP分組包含3個字段:IV字段+消息字段+ICV字段,其中消息字段+ICV字段被加密。
1).如果期望利用IV = 11的WEP協議發送消息 m = 10100000,那么WEP分組的3個字段的值分別是多少?
2).說明當接收端解密該WEP分組時,如何恢復消息和ICV。
3).假設Trudy截獲了一個WEP分組(未必是IV = 11),並在向接收端轉發前修改該分組,且Trudy並不知道對應任何IV的密鑰流。如果Trudy翻轉了ICV的第一個比特,則Trudy還必須翻轉哪些/個其他比特,才能使得被修改的分組通過ICV檢查?
我的答案
1)第一個字段就是IV,不加密,為: 11
第二個字段是消息字段,加密之后為:01011010
第三個字段 ICV,加密之后為:0010
2)IV是不加密的,首先用共享密鑰加IV輸入到密鑰流發生器產生密鑰流,用密鑰流和第二第三個字段逐位異或,得到解密的消息和ICV,之后根據消息計算ICV,與收到的ICV比對,若相同,則表明收到的報文完整。
3)可以翻轉消息字段的第1位,或者是第5位。
因為ICV的第1位是消息的第1位和第5位異或得到。密文與相同的密鑰流異或,會還原到原消息,翻轉1位,異或得到的也是翻轉的,所以,只需要消息的第1位或第5位
標准答案
暫無