資訊保安作業1——SYSU
選擇Problem1,Problem2,Problem3,Problem5,Problem6進行作答
Problem1
如果用Vigenere Cipher進行加密解密,則運算過程如下所示
KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲\label{2} &Enc…
根據字母表只有A,B,C。我們首先可以得到一個維吉尼亞密碼錶,如下所示
A | B | C | |
---|---|---|---|
A | A | B | C |
B | B | C | A |
C | C | A | B |
如果金鑰長度是2,那麼我們可以將密文每兩個分成一組,得到五組分別為AB
,CB
,AB
,BB
,AC
,我們的金鑰有六種可能,分別是AB
,BA
,AC
,CA
,BC
,CB
。
假設金鑰為AB
,對密文進行解密
解密結果為AACAAABAAB
,也就是說對明文AACAAABAAB
進行加密,得到的結果就是我們題目中的密文,所以我們的金鑰長度有可能是2.
假設金鑰為BA
,對密文進行解密
解密結果為CBBBCBABCC
,也就是說對明文CBBBCBABCC
進行加密,得到的結果就是我們題目中的密文
假設金鑰為AC
,對密文進行解密
解密結果為ACCCACBCAA
,也就是說對明文ACCCACBCAA
進行加密,得到的結果就是我們題目中的密文
假設金鑰為CA
,對密文進行解密
解密結果為BBABBBCBBC
,也就是說對明文BBABBBCBBC
進行加密,得到的結果就是我們題目中的密文
假設金鑰為BC
,對密文進行解密
解密結果為CCBCCCACCA
,也就是說對明文CCBCCCACCA
進行加密,得到的結果就是我們題目中的密文
假設金鑰為CB
,對密文進行解密
解密結果為BAAABACABB
,也就是說對明文BAAABACABB
進行加密,得到的結果就是我們題目中的密文
對上述結果進行頻率分析,發現當金鑰為AB
時,明文中A的出現頻率為0.7,B的出現頻率為0.2,C的出現頻率為0.1,與經驗頻率相吻合,所以最有可能的金鑰是AB
特別地,如果不對金鑰長度加以限制,我們可以發現在密文中有一些重複的序列如下所示:
AB
CBAB
BBAC : AB重複出現,兩者之間相隔四個字母
ABCBA
BBBA
C : BA重複出現,兩者之間相隔四個字母
則可以認為4很可能是金鑰的長度
Problem2
1. For a perfect secret encryption scheme E(K, M) = C, prove: Pr[C = c|M = m] = Pr[C = c].
Proof:
對
於
一
個
完
全
安
全
的
密
碼
系
統
,
我
們
有
P
r
[
M
=
m
∣
C
=
c
]
=
P
r
[
M
=
m
]
∵
P
r
[
M
=
m
∣
C
=
c
]
=
P
r
[
M
=
m
,
C
=
c
]
P
r
[
C
=
c
]
∴
P
r
[
M
=
m
]
P
r
[
C
=
c
]
=
P
[
M
=
m
,
C
=
c
]
∴
P
r
[
C
=
c
]
=
P
r
[
M
=
m
,
C
=
c
]
P
r
[
M
=
m
]
∴
P
r
[
C
=
c
]
=
P
r
[
C
=
c
∣
M
=
m
]
對於一個完全安全的密碼系統,我們有Pr[M = m|C = c] = Pr[M = m]\\ ∵Pr[M = m|C = c] = \frac{Pr[M = m , C = c]}{Pr[C = c]}\\ ∴Pr[M = m]Pr[C = c] = P[M = m , C = c]\\ ∴Pr[C = c] = \frac{Pr[M = m , C = c]}{Pr[M = m]}\\ ∴Pr[C = c] = Pr[C = c|M = m]
對於一個完全安全的密碼系統,我們有Pr[M=m∣C=c]=Pr[M=m]∵Pr[M=m∣C=c]=Pr[C=c]Pr[M=m,C=c]∴Pr[M=m]Pr[C=c]=P[M=m,C=c]∴Pr[C=c]=Pr[M=m]Pr[M=m,C=c]∴Pr[C=c]=Pr[C=c∣M=m]
2. Consider a biased one-time-pad system, where Pr[M = b] = pb, b = 0,1 and Pr[K = 0] = 0.4. The first attacker Randy randomly guesses M = 0 or M = 1: prove that the probability of success is 0.5. The second attacker Smartly guesses M based on C and p0, p1: suggest a good attack strategy.
(1) prove that the probability of success is 0.5.
Proof:
設
第
一
個
攻
擊
者
做
出
M
=
1
這
一
猜
測
的
概
率
為
p
′
,
做
出
M
=
0
這
一
猜
測
的
概
率
為
p
′
′
.
因
為
第
一
個
攻
擊
者
是
隨
機
進
行
猜
測
的
,
所
以
p
′
=
p
′
′
=
0.5
所
以
第
一
個
攻
擊
者
猜
測
正
確
的
概
率
為
:
p
c
o
r
r
e
c
t
=
p
0
∗
p
′
′
+
p
1
∗
p
′
=
0.5
(
p
0
+
p
1
)
因
為
我
們
已
知
p
0
+
p
1
=
1
所
以
p
c
o
r
r
e
c
t
=
0.5
∗
1
=
0.5
設第一個攻擊者做出M=1這一猜測的概率為p',做出M=0這一猜測的概率為p''.\\ 因為第一個攻擊者是隨機進行猜測的,所以p'=p''=0.5\\ 所以第一個攻擊者猜測正確的概率為:\\ p_{correct} = p_0*p'' + p_1*p' = 0.5(p_0 + p_1)\\ 因為我們已知p_0+p_1 = 1\\ 所以p_{correct} = 0.5*1 = 0.5
設第一個攻擊者做出M=1這一猜測的概率為p′,做出M=0這一猜測的概率為p′′.因為第一個攻擊者是隨機進行猜測的,所以p′=p′′=0.5所以第一個攻擊者猜測正確的概率為:pcorrect=p0∗p′′+p1∗p′=0.5(p0+p1)因為我們已知p0+p1=1所以pcorrect=0.5∗1=0.5
(2) The second attacker Smartly guesses M based on C and p0, p1: suggest a good attack strategy.
首先我們可以知道明文取0或1這一事件與金鑰取0或1這一事件是相互獨立的,所以我們可以知道
p
(
M
=
0
,
k
=
0
)
=
p
(
M
=
0
)
∗
p
(
k
=
0
)
=
p
0
∗
0.4
=
0.4
p
0
p
(
M
=
1
,
k
=
0
)
=
p
(
M
=
1
)
∗
p
(
k
=
0
)
=
p
1
∗
0.4
=
0.4
p
1
p
(
M
=
0
,
k
=
1
)
=
p
(
M
=
0
)
∗
p
(
k
=
1
)
=
p
0
∗
(
1
−
0.4
)
=
0.6
p
0
p
(
M
=
1
,
k
=
1
)
=
p
(
M
=
1
)
∗
p
(
k
=
1
)
=
p
1
∗
(
1
−
0.4
)
=
0.6
p
1
p(M=0 , k=0) = p(M=0)*p(k=0) = p_0*0.4 = 0.4p_0\\ p(M=1 , k=0) = p(M=1)*p(k=0) = p_1*0.4 = 0.4p_1\\ p(M=0 , k=1) = p(M=0)*p(k=1) = p_0*(1-0.4) = 0.6p_0\\ p(M=1 , k=1) = p(M=1)*p(k=1) = p_1*(1-0.4) = 0.6p_1\\
p(M=0,k=0)=p(M=0)∗p(k=0)=p0∗0.4=0.4p0p(M=1,k=0)=p(M=1)∗p(k=0)=p1∗0.4=0.4p1p(M=0,k=1)=p(M=0)∗p(k=1)=p0∗(1−0.4)=0.6p0p(M=1,k=1)=p(M=1)∗p(k=1)=p1∗(1−0.4)=0.6p1
所以我們可以得到對應的密文取值的概率以及明文與密文取值的聯合概率
p
(
C
=
1
)
=
p
(
M
=
1
,
k
=
0
)
+
p
(
M
=
0
,
k
=
1
)
=
0.4
p
1
+
0.6
p
0
p
(
C
=
0
)
=
p
(
M
=
0
,
k
=
0
)
+
p
(
M
=
1
,
k
=
1
)
=
0.4
p
0
+
0.6
p
1
p
(
M
=
1
,
C
=
1
)
=
0.4
p
1
p
(
M
=
1
,
C
=
0
)
=
0.6
p
1
p
(
M
=
0
,
C
=
1
)
=
0.6
p
0
p
(
M
=
0
,
C
=
0
)
=
0.4
p
0
p(C = 1) = p(M=1 , k=0) + p(M=0 , k=1) = 0.4p_1 + 0.6p_0\\ p(C = 0) = p(M=0 , k=0) + p(M=1 , k=1) = 0.4p_0 + 0.6p_1\\ p(M = 1,C = 1) = 0.4p_1\\ p(M = 1,C = 0) = 0.6p_1\\ p(M = 0,C = 1) = 0.6p_0\\ p(M = 0,C = 0) = 0.4p_0\\
p(C=1)=p(M=1,k=0)+p(M=0,k=1)=0.4p1+0.6p0p(C=0)=p(M=0,k=0)+p(M=1,k=1)=0.4p0+0.6p1p(M=1,C=1)=0.4p1p(M=1,C=0)=0.6p1p(M=0,C=1)=0.6p0p(M=0,C=0)=0.4p0
所以我們可以知道密文和明文取值的條件概率
p
(
M
=
1
∣
C
=
1
)
=
p
(
M
=
1
,
C
=
1
)
p
(
C
=
1
)
=
0.4
p
1
0.4
P
1
+
0.6
p
0
p
(
M
=
0
∣
C
=
1
)
=
p
(
M
=
0
,
C
=
1
)
p
(
C
=
1
)
=
0.6
p
0
0.4
P
1
+
0.6
p
0
p
(
M
=
1
∣
C
=
0
)
=
p
(
M
=
1
,
C
=
0
)
p
(
C
=
0
)
=
0.6
p
1
0.4
P
0
+
0.6
p
0
p
(
M
=
0
∣
C
=
0
)
=
p
(
M
=
0
,
C
=
0
)
p
(
C
=
0
)
=
0.4
p
0
0.4
P
0
+
0.6
p
1
p(M=1|C=1) = \frac{p(M=1,C=1)}{p(C=1)} = \frac{0.4p_1}{0.4P_1+0.6p_0}\\ p(M=0|C=1) = \frac{p(M=0,C=1)}{p(C=1)} = \frac{0.6p_0}{0.4P_1+0.6p_0}\\ p(M=1|C=0) = \frac{p(M=1,C=0)}{p(C=0)} = \frac{0.6p_1}{0.4P_0+0.6p_0}\\ p(M=0|C=0) = \frac{p(M=0,C=0)}{p(C=0)} = \frac{0.4p_0}{0.4P_0+0.6p_1}
p(M=1∣C=1)=p(C=1)p(M=1,C=1)=0.4P1+0.6p00.4p1p(M=0∣C=1)=p(C=1)p(M=0,C=1)=0.4P1+0.6p00.6p0p(M=1∣C=0)=p(C=0)p(M=1,C=0)=0.4P0+0.6p00.6p1p(M=0∣C=0)=p(C=0)p(M=0,C=0)=0.4P0+0.6p10.4p0
所以當p0
和p1
滿足下面的條件的時候我們可以做出相應的猜測
{
g
u
e
s
s
M
=
1
,
w
h
e
n
p
1
>
3
2
p
0
g
u
e
s
s
M
=
0
,
w
h
e
n
2
3
p
0
<
p
1
<
3
2
p
0
a
n
d
C
=
0
g
u
e
s
s
M
=
1
,
w
h
e
n
2
3
p
0
<
p
1
<
3
2
p
0
a
n
d
C
=
1
g
u
e
s
s
M
=
0
,
w
h
e
n
p
1
<
2
3
p
0
\begin{cases} guess\quad M = 1, when\quad p_1>\frac{3}{2}p_0\\ guess\quad M = 0, when\quad \frac{2}{3}p_0 <p_1<\frac{3}{2}p_0\quad and \quad C = 0\\ guess \quad M = 1, when\quad \frac{2}{3}p_0 <p_1<\frac{3}{2}p_0\quad and \quad C = 1\\ guess \quad M = 0, when\quad p_1<\frac{2}{3}p_0\\ \end{cases}
⎩⎪⎪⎪⎨⎪⎪⎪⎧guessM=1,whenp1>23p0guessM=0,when32p0<p1<23p0andC=0guessM=1,when32p0<p1<23p0andC=1guessM=0,whenp1<32p0
Problem3
我們可以看到k1在DESV和DESW中都是用來進行異或操作,這樣一來我們就可以利用異或操作的性質將k1消掉。在DESV中,我們可以用兩個密文進行異或,這樣就可以將k1消掉,得到c1⊕c2
,在這之後我們在對明文m1和m2用所有可能的k進行DES加密,再將加密後的結果進行異或,如果和c1⊕c2
一致我們則可以認為這個對應的金鑰即為k,所以在我們的操作中可以通過一個異或操作將k1消掉,主要的計算量在於破解k的DES,所以複雜度為O(256)。在DESW中同理,我們先將兩個密文進行DES解密,在將解密得到的結果進行異或消去k1,將異或的結果和明文異或即`m1⊕m2`進行對比,如果一致那麼對應的k即為金鑰,所以主要運算量仍為O(256).
綜上所述,無論是DESW還是DESV,運算複雜度均為O(2^56).
Problem5
我們假設M0經過金鑰K加密之後的得到的結果為M0‘,M1經過金鑰K加密之後的得到的結果為M1‘,M2經過金鑰K加密之後的得到的結果為M2‘。因為我們知到M1 = M2 = M,那麼經過相同的金鑰加密之後,也可以知道M1’ = M2‘ = M’。
對於這一個塊加密系統,我們可以得到下面的等式
I
V
⊕
M
0
′
=
C
0
(
1
)
M
0
⊕
M
′
=
C
1
(
2
)
M
⊕
M
′
=
C
2
(
3
)
IV ⊕ M_0' = C_0 \quad\quad\quad (1)\\ M_0 ⊕ M' = C_1 \quad\quad\quad (2)\\ M ⊕ M' = C_2 \quad\quad\quad (3)
IV⊕M0′=C0(1)M0⊕M′=C1(2)M⊕M′=C2(3)
將(2)式和(3)式進行異或操作可以消掉M’,得到下式
M
0
⊕
M
′
⊕
M
⊕
M
′
=
M
0
⊕
M
=
C
1
⊕
C
2
M_0 ⊕ M' ⊕ M ⊕ M' = M_0 ⊕ M = C_1⊕C_2
M0⊕M′⊕M⊕M′=M0⊕M=C1⊕C2
因為我們已知C1,C2和M,所以可以知道
M
0
=
C
1
⊕
C
2
⊕
M
M_0 = C_1⊕C_2⊕M
M0=C1⊕C2⊕M
Problem6
Give a function that is one-way, but not collision-resistant.
模運算是一個非常典型的雜湊函式,這個雜湊函式就是滿足單向性的不滿足防碰撞特性,取模函式的具體表示如下所示
h
(
n
)
=
n
m
o
d
p
h(n) = n\quad mod\quad p
h(n)=nmodp
其中p是一個常數,屬於這個雜湊函式規定的引數,不同的p對應不同的雜湊函式。
在這個函式中,給定一個n,我們可以簡單地將n帶入表示式求出h(n),但是如果給定一個h值,對應的n值可能是 n = k*p + h,其中k = 0,±1,±2……所以n的取值有無限多種可能,我們不能根據h,反推出n,滿足單向性。
但是對於防碰撞性這個函式是不能滿足的,因為n = k*p + h,其中k = 0,±1,±2……在經過這個雜湊函式對映後都會對映到同一個值,也就是h,也就是說這些n經過這個雜湊函式都會發生碰撞,這個函式不滿足防碰撞性。
Give a function that is collision-resistant, but not one-way.
我們可以很輕易地舉出一個簡單的例子,如下所示
h
(
n
)
=
n
+
2
h(n) = n + 2
h(n)=n+2
這是一個非常簡單的滿足防碰撞性但不滿足單向性的雜湊函式的例子。
對於任給的一個n值,經過雜湊函式後的值都不會相等。我們採用反證法證明上述結論
假
設
存
在
n
1
≠
n
2
,
但
是
h
(
n
1
)
=
h
(
n
2
)
則
n
1
+
2
=
n
2
+
2
,
即
n
1
=
n
2
,
矛
盾
假設存在n_1≠n_2,但是h(n_1)=h(n_2)\\ 則n_1 + 2 = n_2 + 2,即n_1 = n_2,矛盾\\
假設存在n1=n2,但是h(n1)=h(n2)則n1+2=n2+2,即n1=n2,矛盾
所以這個函式是一個具有防衝突性的雜湊函式。
但是這個函式並不具有單向性,因為對於任給的函式值h,我們可以輕易地知到這個函式值對應的n = h - 2
,所以這個函式是一個不具有單向性但是具有防衝突性的函式。
相關文章
- 資訊保安系統設計第二次作業
- 資訊保安
- 中小企業的資訊保安問題
- 【三】資訊保安
- 聊聊企業駐場外包資訊保安管理
- 工業資訊保安產業保持高景氣度DJ產業
- 物聯網資訊保安
- 關於資訊保安的
- 2021-2022-1 20211420《資訊保安專業導論》第五週學習總結
- 企業資訊保安使用Linux會比較好嗎?Linux
- 企業WiFi管理 保護我們的資訊保安WiFi
- 企業WiFi管理 保衛我們的資訊保安WiFi
- 周曉江-淺談製造業的資訊保安
- 萬字長文——資訊保安職業生涯規劃
- 資料庫的資訊保安管理資料庫
- 曹政資訊保安課筆記-常見資訊保安的常識錯誤筆記
- 資訊保安數學基礎
- Cybellum—資訊保安測試工具
- 如何保障Cookie的資訊保安Cookie
- [資訊保安] WEP 是什麼
- 員工電腦資訊保安
- 分享資訊保安工作小記
- 人工智慧與資訊保安人工智慧
- DefenseCode — 資訊保安測試工具
- 資訊保安與Linux系統Linux
- 資訊保安檢查內容
- 計算機---Linux作業系統---C語言---C程式設計---微控制器---計算機網路---電腦保安---資訊保安Linux作業系統C語言C程式程式設計計算機網路
- Whale News | 帷幄獲公安部資訊保安「等保三級」認證,資訊保安體系建設行業領先行業
- 作業1
- 什麼是資訊保安風險評估?資訊保安風險評估的步驟?
- 和CISSP並肩的資訊保安認證國際註冊資訊保安經理CISM
- 第二屆全國資訊保安企業家高峰論壇
- CIO調查 | 2018年企業資訊保安狀況概觀
- 資訊保安概論複習3
- 資訊保安概論期末複習
- 資訊保安概論複習-2
- 資訊保安問題與防範
- Linux賬戶資訊保安深入剖析Linux