本人侄女在美國讀書,因為疫情一直沒有上課,在家自學,現在遇到演算法的題目不大會,周五早上要交,大神幫忙解答一下。謝謝。
假設甲、乙雙方同意通過公開可讀的因特網進行通信,
任何人都可以假裝成別人。A和B(事先)就一個大的質數p達成一致
公共的,所以不是秘密的),并且兩個秘密數a和b∈Zp(a,b都只有a和b知道)。這個
定義一個散列函式x7→h(x)=ax+b mod p。
當A希望向B發送訊息時(我們假設可以通過ASCII碼將其編碼為整數x<p),A
發送訊息x并驗證v=ax+b mod p.b使自己確信該訊息x已被發送
通過驗證h(x)=v。
?現在假設某個邪惡的物體C想偽裝成A并向B發送訊息(x0,v0)(其中
x0 6=x)。假設C看到了從a到B的合法訊息(x,v),如果C不知道秘密a和
定義散列函式的b(即使知道散列函式和素數p的形式),證明
C不能欺騙B相信這個訊息(x0,v0)是從A發送的(你證明了
C可以發送正確的v0是1/p。)
?現在假設C截獲了從A到B的兩條訊息,形式是(x,v)和(y,w)。顯示C
現在可以假裝是A,通過附加正確的v0假裝是was來說服B接受任何訊息x0
從A發送。
?建議改變a和B事先同意的通信方案的方法,以允許
對手C最多可以截獲兩條資訊。
(額外加分:)最多k條被截獲的資訊如何?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/172632.html
標籤:網絡通信
