From e379738f3f11acaf623433b51c5583653adb90c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A1=80=E9=AA=9C=E4=B9=8B=E5=9B=9A?= <8411976+hcc2016@user.noreply.gitee.com> Date: Mon, 11 Apr 2022 07:19:51 +0000 Subject: [PATCH] update homework/chap5/chap5.md. --- homework/chap5/chap5.md | 124 ++++++++++++++++++++-------------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/homework/chap5/chap5.md b/homework/chap5/chap5.md index 361fbf6..f6b7798 100644 --- a/homework/chap5/chap5.md +++ b/homework/chap5/chap5.md @@ -10,94 +10,94 @@ ### 2. - **在DES的ECB模式中,若在密文的传输过程中,某一块发生了错误,则只有相应的明文组会有影响。然而,在CBC模式中,这种错误具有扩散性。比如,密文分组$C_1$发生的错误将会影响明文分组$P_1$和$P_2$。 -a. $P_2$以后的哪些分组会受到影响? + **在DES的ECB模式中,若在密文的传输过程中,某一块发生了错误,则只有相应的明文组会有影响。然而,在CBC模式中,这种错误具有扩散性。比如,密文分组$C_1$发生的错误将会影响明文分组$P_1$和$P_2$。
+a. $P_2$以后的哪些分组会受到影响?
b. 假设$P_1$在加密前就有一位发生了错误,则这个错误要影响多少个密文分组?对接收者解密后的结果有什么影响?** -答: -a. $P_2$以后的分组不会受到影响。 -提示:$P_j=D(k, C_j )⨁C_{j−1},j=1,⋯N$,$P_j$的解密只与$C_j$和$C_{j-1}$有关。 -b. 假设P1在加密前就有一位发生了错误,则这个错误要影响所有密文分组。尽管所有密文都和原本不同,但接收者解密后的结果只有第一组的对应位错误。 +答:
+a. $P_2$以后的分组不会受到影响。
+提示:$P_j=D(k, C_j )⨁C_{j−1},j=1,⋯N$,$P_j$的解密只与$C_j$和$C_{j-1}$有关。
+b. 假设P1在加密前就有一位发生了错误,则这个错误要影响所有密文分组。尽管所有密文都和原本不同,但接收者解密后的结果只有第一组的对应位错误。
提示:$C_j=E(k, P_j ⨁C_{j−1}),j=1,⋯N$,$C_j$的加密与$P_j$和$C_{j-1}$有关,因此会扩散到所有密文分组。但由于其他地方均没有出现传输错误和加解密错误,这个过程可以看做是加密另一段明文(这段明文和原明文的区别仅在于$P_1$的某一位),因此解密结果也应该是这一段明文。用表达式分析整个加解密过程亦可。 ### 3. - **除了2DES算法,RSA实验室的学者们曾经讨论过另外两种结构: -$DESV_{k_1,k_2}(M)=DES_{k_1}(M)⊕k_2,$ -$DESW_{k_1,k_2}(M)=DES_{k_1}(M⊕k_2),$ + **除了2DES算法,RSA实验室的学者们曾经讨论过另外两种结构:
+$DESV_{k_1,k_2}(M)=DES_{k_1}(M)⊕k_2,$
+$DESW_{k_1,k_2}(M)=DES_{k_1}(M⊕k_2),$
这两种结构都不能增加穷举攻击的计算量$O(2^{56})$。请给出相应的攻击方式。假设有足够多的已知明文-密文对。** -答: -1.对DESV,使用中间相遇攻击,穷举分析$DES_{k_1}(M) == C⊕k_2$。 -也可以使用差分分析: -$C_1⊕C_2=DESV_{k_1,k_2}(M_1)⊕DESV_{k_1,k_2}(M_2)=DES_{k_1}(M_1)⊕DES_{k_1}(M_2)$. -先穷举找出$k_1$,再计算出$k_2$。 - -2.对DESW,使用中间相遇攻击,穷举分析$M⊕k_2 == DES_{k_1}^{-1}(C)$。 -也可以使用差分分析: -$M_1⊕M_2=DESW_{k_1,k_2}^{-1}(C_1)⊕DESW_{k_1,k_2}^{-1}(C_2)=(DES_{k_1}^{-1}(C_1)⊕k_2)⊕(DES_{k_1}^{-1}(C_2)⊕k_2)=DES_{k_1}^{-1}(C_1)⊕DES_{k_1}^{-1}(C_2)$. -先穷举找出$k_1$,再计算出$k_2$ - -提示: -参考课件中中间相遇攻击攻击双重DES -思路:寻找$X=E[K_1, P]=D[K_2, C]$ -算法:若已知$(P, C)$,则 -对$2^{56}$个可能的$K_1$加密$P$,结果存入表中,按X值排序; -对$2^{56}$个可能的$K_2$解密$C$,在表中寻找匹配; -如果产生匹配,则用另一个明文密文对检测所得两个密钥; -如果两密钥产生正确的密文,则接受为正确. +答:
+1.对DESV,使用中间相遇攻击,穷举分析$DES_{k_1}(M) == C⊕k_2$。
+也可以使用差分分析:
+$C_1⊕C_2=DESV_{k_1,k_2}(M_1)⊕DESV_{k_1,k_2}(M_2)=DES_{k_1}(M_1)⊕DES_{k_1}(M_2)$.
+先穷举找出$k_1$,再计算出$k_2$。
+ +2.对DESW,使用中间相遇攻击,穷举分析$M⊕k_2 == DES_{k_1}^{-1}(C)$。
+也可以使用差分分析:
+$M_1⊕M_2=DESW_{k_1,k_2}^{-1}(C_1)⊕DESW_{k_1,k_2}^{-1}(C_2)=(DES_{k_1}^{-1}(C_1)⊕k_2)⊕(DES_{k_1}^{-1}(C_2)⊕k_2)=DES_{k_1}^{-1}(C_1)⊕DES_{k_1}^{-1}(C_2)$
+先穷举找出$k_1$,再计算出$k_2$
+ +提示:
+参考课件中中间相遇攻击攻击双重DES
+思路:寻找$X=E[K_1, P]=D[K_2, C]$
+算法:若已知$(P, C)$,则
+对$2^{56}$个可能的$K_1$加密$P$,结果存入表中,按X值排序;
+对$2^{56}$个可能的$K_2$解密$C$,在表中寻找匹配;
+如果产生匹配,则用另一个明文密文对检测所得两个密钥;
+如果两密钥产生正确的密文,则接受为正确.
### 4. - **设Alice有长度为n比特的密钥$k_1$,Bob有长度n比特的密钥$k_2$。他们希望加密消息M,使得密文必须使用双方的密钥才能解密。他们考虑使用某个分组密码算法E,并采用如下方案:** - **a. $C=E_{k_1}[E_{k_2}[M]]$ -b. $C=E_{k_1⊕k_2}[M]$ -c. $ C=(E_{k_1}[r], E_{k_2}[r⊕M]),$这里r是每次更换的随机数。** + **设Alice有长度为n比特的密钥$k_1$,Bob有长度n比特的密钥$k_2$。他们希望加密消息M,使得密文必须使用双方的密钥才能解密。他们考虑使用某个分组密码算法E,并采用如下方案:**
+ **a. $C=E_{k_1}[E_{k_2}[M]]$
+b. $C=E_{k_1⊕k_2}[M]$
+c. $ C=(E_{k_1}[r], E_{k_2}[r⊕M]),$这里r是每次更换的随机数。**
- **问:1)假设攻击者已获得若干明文/密文分组对{M,C},和待破译密文C',则以上三种方案都可以在$O(2^n)$时间内破译,请说明攻击方法。** + **问:1)假设攻击者已获得若干明文/密文分组对{M,C},和待破译密文C',则以上三种方案都可以在$O(2^n)$时间内破译,请说明攻击方法。**
**2)哪种方案的攻击代价最小?哪种方案的攻击代价最大?** -答: -1) -a. 采用中间相遇攻击。 -b. k1与k2异或等价于一个新密钥k3,穷举k3即可。 -c. 穷举k1,编写k1与r的表;穷举k2,编写k2与r⊕M的表。按照已知的M,找出k1与k2的配对,再用其他分组进行验证。 -2) -b 方案的攻击代价最小(不需要存储空间),c 方案的攻击代价最大(需要进行额外的异或操作)。 +答:
+1)
+a. 采用中间相遇攻击。
+b. k1与k2异或等价于一个新密钥k3,穷举k3即可。
+c. 穷举k1,编写k1与r的表;穷举k2,编写k2与r⊕M的表。按照已知的M,找出k1与k2的配对,再用其他分组进行验证。
+2)
+b 方案的攻击代价最小(不需要存储空间),c 方案的攻击代价最大(需要进行额外的异或操作)。
### 5. - **假定拉各朗日插值多项式为$h(x)=3x^3+5x+2 $ mod $ 7$,用来实现$(t,n)$的密钥共享,$n=5$。 -a) $t$和$K$的值是多少? + **假定拉各朗日插值多项式为$h(x)=3x^3+5x+2 $ mod $ 7$,用来实现$(t,n)$的密钥共享,$n=5$。
+a) $t$和$K$的值是多少?
b) 如果$k_1=h(1),k_2=h(2),k_3=h(3),k_4=h(4),k_5=h(5)$。如何从$k_1,k_2,k_4,k_5$重组$K$?** -答: -a) $t=4,K=2.$ -b) $k_1=3,k_2=1,k_4=4,k_5=3.$ -$h(x)= 3\frac {(x-2)(x-4)(x-5)}{(1-2)(1-4)(1-5)} + 1\frac {(x-1)(x-4)(x-5)}{(2-1)(2-4)(2-5)}+4 \frac {(x-1)(x-2)(x-5)}{(4-1)(4-2)(4-5)} +3\frac {(x-1)(x-2)(x-4)}{(5-1)(5-2)(5-4)}$ -$=5(x-2)(x-4)(x-5)+6(x-1)(x-4)(x-5)+4(x-1)(x-2)(x-5)+2(x-1)(x-2)(x-4)$ -$=3x^3+5x+2$ +答:
+a) $t=4,K=2.$
+b) $k_1=3,k_2=1,k_4=4,k_5=3.$
+$h(x)= 3\frac {(x-2)(x-4)(x-5)}{(1-2)(1-4)(1-5)} + 1\frac {(x-1)(x-4)(x-5)}{(2-1)(2-4)(2-5)}+4 \frac {(x-1)(x-2)(x-5)}{(4-1)(4-2)(4-5)} +3\frac {(x-1)(x-2)(x-4)}{(5-1)(5-2)(5-4)}$
+$=5(x-2)(x-4)(x-5)+6(x-1)(x-4)(x-5)+4(x-1)(x-2)(x-5)+2(x-1)(x-2)(x-4)$
+$=3x^3+5x+2$
$K=2$ ### 6. - **在多项式域应用拉格朗日插值多项式$(t, n)$方案。现有$p(x)=x^3+x^2+1=1101$和二进制多项式$h(x)=(001x^2+101x+011) mod 1101$,运算在$GF(2^3)$中进行。 -1.$t$是多少?$K$是什么? -2.对$x_1=001,x_2=011,x_3=100,x_4=110$,分别计算相应的$h(x)$。 -3.用$x_1,x_2和x_4$重组此二进制多项式。** - -答: -1.$t=3,K=011$ -2.$k_1=111, k_2=100, k_3=111, k_4=100$ -3.$h(x)=111\frac{(x-011)(x-110)}{(001-011)(001-110)}+100\frac{(x-001)(x-110)}{(011-001)(011-110)}+100\frac{(x-001)(x-011)}{(110-001)(110-011)}$ -$=111\frac{(x-011)(x-110)}{011}+100\frac{(x-001)(x-110)}{111}+100\frac{(x-001)(x-011)}{001}$ -$=111*100(x-011)(x-110)+100*101(x-001)(x-110)+100(x-001)(x-011)$ -$=110(x^2+101x+111)+011(x^2+111x+110)+100(x^2+010x+011)$ -$=001x^2+101x+011$ + **在多项式域应用拉格朗日插值多项式$(t, n)$方案。现有$p(x)=x^3+x^2+1=1101$和二进制多项式$h(x)=(001x^2+101x+011) mod 1101$,运算在$GF(2^3)$中进行。
+1.$t$是多少?$K$是什么?
+2.对$x_1=001,x_2=011,x_3=100,x_4=110$,分别计算相应的$h(x)$。
+3.用$x_1,x_2和x_4$重组此二进制多项式。**
+ +答:
+1.$t=3,K=011$
+2.$k_1=111, k_2=100, k_3=111, k_4=100$
+3.$h(x)=111\frac{(x-011)(x-110)}{(001-011)(001-110)}+100\frac{(x-001)(x-110)}{(011-001)(011-110)}+100\frac{(x-001)(x-011)}{(110-001)(110-011)}$
+$=111\frac{(x-011)(x-110)}{011}+100\frac{(x-001)(x-110)}{111}+100\frac{(x-001)(x-011)}{001}$
+$=111 \cdot 100(x-011)(x-110)+100 \cdot 101(x-001)(x-110)+100(x-001)(x-011)$
+$=110(x^2+101x+111)+011(x^2+111x+110)+100(x^2+010x+011)$
+$=001x^2+101x+011$
提示:在$GF(2^3)$下运算,逆可用拓展欧几里得求。 ### 7. **用拉各朗日插值多项式实现秘密共享时,并非所有的多项式$h(x)$都可以选用。考虑多项式$h(x)=3x^3+5x+2 $ mod $7$,影子$h(1)=3, h(6)=1$。注意到$(h(1)+h(6))/2=2=K$。这并不是巧合,请分析原因。这种现象会导致两个人就能恢复秘密,攻击者将很乐意进行这种尝试(毕竟,收买两个人进行一次尝试,比收买$t$个人划算得多)。为此,对多项式的选择应当增加什么限制,来抵抗此类攻击?** 答:$h(x)-K=3x^3+5x$为奇函数,故$h(x)-K+h(p-x)-K=0$ mod $p$. -至少应保证$h(x)-K$不为奇函数,即存在偶次项(偶次项系数不为0) +至少应保证$h(x)-K$不为奇函数,即存在偶次项(偶次项系数不全为0) -- Gitee