《密码学原理与实践(第三版)》课后习题参考答案(由华中科技大学信安09级提供)第二章2.1(何锐)解:依题意有:x ∈{2,…,12},y ∈{D ,N} 计算Pr[x ,y]:Pr[2,D]=1/36 Pr[3,D]=0 Pr[4,D]=1/36 Pr[5,D]=0 Pr[6,D]=1/36 Pr[7,D]=0 Pr[8,D]=1/36 Pr[9,D]=0 Pr[10,D]=1/36 Pr[11,D]=0 Pr[12,D]=1/36Pr[2,N]=0 Pr[3,N]=1/18 Pr[4,N]=1/18 Pr[5,N]=1/9 Pr[6,N]=1/9 Pr[7,N]=1/6 Pr[8,N]=1/9 Pr[9,N]=1/9 Pr[10,N]=1/18 Pr[11,N]=1/18 Pr[12,N]=0 计算Pr[x | y]:有Pr[D]=1/6 Pr[N]=5/6Pr[2 | D]=1/6 Pr[3 | D]=0 Pr[4 | D]=1/6 Pr[5 | D]=0 Pr[6 | D]=1/6 Pr[7 | D]=0 Pr[8 | D]= 1/6 Pr[9 | D]=0 Pr[10 | D]= 1/6 Pr[11 | D]=0 Pr[12 | D]=1/6Pr[2 | N]=0 Pr[3 | N]=1/15 Pr[4 | N]=1/15 Pr[5 | N]=2/15 Pr[6 | N]=2/15 Pr[7 | N]=1/5 Pr[8 | N]=2/15 Pr[9 | N]=2/15 Pr[10 | N]=1/15 Pr[11 | N]=1/15 Pr[12 | N]=0 计算Pr[y | x]:Pr[D | 2]=1 Pr[D | 3]=0 Pr[D | 4]=1/3 Pr[D | 5]=0 Pr[D | 6]=1/5 Pr[D | 7]=0 Pr[D | 8]=1/5 Pr[D | 9]=0 Pr[D | 10]=1/3 Pr[D | 11]=0 Pr[D | 12]=1Pr[N | 2]=0 Pr[N | 3]=1 Pr[N | 4]=2/3 Pr[N | 5]=1 Pr[N | 6]=4/5 Pr[N | 7]=1 Pr[N | 8]=4/5 Pr[N | 9]=1 Pr[N | 10]=2/3 Pr[N | 11]=1 Pr[N | 12]=0 有上面的计算可得:Pr[D | x]Pr[x] = Pr[D]Pr[x | D] Pr[N | x]Pr[x] = Pr[N]Pr[x | N] 显然符合Bayes 定理。
2.2(王新宇)证明: 由P=C=K=z n ,对于1≤i ≤n,加密规则e i (j)=L(i,j)(1≤j ≤n), 且每行的加密规则不同。
首先,计算C 的概率分布。
假设i ∈z n ,则)](Pr[i ]Pr[]Pr[dKj Z k K y y nk ∑∈====)](Pr[i n1d K j Z n k ∑∈==)](Pr[i n 1d K j Z nk ∑∈==由L 是n ×n 的矩阵,且n 个整数的每一个在L 的每一行和每一列中恰好出现一次。
则固定j ,有1)](Pr[i dK==∑∈j Z nk则对任意的i ∈zn,有n j 1]Pr[=对于任意的i ,j ,由满足e i(j)=L(i,j)的K 是唯一的,有]Pr[]|Pr[K i j =n 1=由Bayes 定理]Pr[]|Pr[]Pr[]|Pr[j i j i j i =nni 11]Pr[=]Pr[i =所以拉丁方密码体制具有完善保密性。
2.3(邹超第)(a)在仿射密码中,= =26,对于任意的K =(a,b)x,y26,加密函数e k (x )=(ax+b)mod26.解密函数d k (y)=a -1(y-b)mod26 首先计算的概率分布。
假设y26,则Pr[y =y ]=]=]=]固定y,a,则构成26的一个置换。
固定y,b,则构成26的另一个置换。
因此有=]= 1因此对于任意的Pr[y]=又对于任意的x,y,满足ek(x)=(ax+b)mod26的K是唯一的,所以Pr[y|x]=Pr[k=(a,b),使得(d k(y)=a-1(y-b)mod26)]=又由贝叶斯定理,可得:Pr[x|y]== Pr[x].因此改密码体制是完善保密性的.(b)由信息安全数学知识可以证明:a在26上存在乘法逆,当且仅当gcd(a,26)=1,并且其如果存在,则必唯一。
由数学知识可知Pr[a]=(见课本第八页。
)则Pr[a,b]=.同理可得:Pr[y=y]=]= ]=]=因此对于任意的Pr[y]=又Pr[y|x]=Pr[k=(a,b),使得(d k(y)=a-1(y-b)mod26)]=又由贝叶斯定理,可得:Pr[x|y]== Pr[x].因此在该密钥空间上,仿射密码密是完善保密性的.2.4(李亮)解:设该密码体制为(P,C,K,ε,D),P={a1,a2,……,an},K={K1,K2,……,Km},事先选取的固定的密钥概率分布为Pr[K1],Pr[K2],……,Pr[Km],且一个特定的明文概率分布为Pr0[a1],Pr0[a2],……,Pr[an],则:因为该密码体制对这个特定的明文概率分布具有完善保密性,所以对任意的x∈P,y∈C(y=ek(x),k∈K)有:Pr0[x|y]=(Pr0[x]Pr0[y|x])/Pr0[y]=Pr0[x]所以Pr0[y|x]=Pr0[y] 又Pr0[y|x]=Pr[k] 所以Pr0[y]=Pr[k]而密钥的概率是事先选定的所以y的概率分布固定对任意的明文概率分布Pr[a1],Pr[a2],……,Pr[an]选取任意的x∈P,y∈C且y=ek(x),k∈KPr[x|y]=(Pr[x]Pr[y|x])/Pr[y]=Pr[x]×Pr[k]/Pr[y]因为是同一个密码体制且y的概率分布固定所以Pr[k]/Pr[y]=1 即Pr[x|y]=Pr[x]所以对任意的明文概率分布这个密码体制仍然具有完善保密性2.5(陈佳)解:P定理2.4分析:参考书上41对于任意的P x ∈ 和 C y ∈,一定至少存在一个密钥k 满足y x e k =)(。
因此有不等式:|||}:)({|||K K k x e C k ≤∈=又因为||||K C =,因此|||}:)({|K K k x e k =∈也就是说,不存在两个不同的密钥1k 和2k 使得y x e x e k k ==)()(21。
因此对于P x ∈和C y ∈,刚好存在一个密钥k 使得y x e k =)(。
设||K n =。
设}1:{n i x P i ≤≤=并且固定一个密文C y ∈。
设密钥为n k k k ,...,,21,并且n i y x e i k i ≤≤=1,)(。
使用Bayes 定理,我们有]Pr[]Pr[]Pr[ ]Pr[]Pr[]|Pr[]|Pr[y x k K y x x y y x i i i i i ===考虑完善保密的条件]Pr[]|Pr[i i x y x =。
可得,n i y k i ≤≤=1],Pr[]Pr[。
也就是所所有密钥都是等概率使用的,即n k i /1]Pr[=。
对于任意C y ∈,则)](Pr[1)](Pr[1)](Pr[]Pr[]Pr[y d x n y d x n y d x k K y Y Kk k k K k Kk k ∑∑∑∈∈∈========因为对于P x ∈和C y ∈,刚好存在一个密钥k 使得y x e k =)(,所以1)](Pr[==∑∈y dx Kk k即: ny Y 1]Pr[==,每个密文都是等概率 2.5 解:由题知,对于任意的x ∈P 和y ∈C,一定至少存在一个密钥K 满足e k (x)=y, ∴有|C|=|{e k (x):k ∈K}|≤|K| 又∵|C|=|K| ∴一定有|{e k (x):k ∈K}|=|K|∴不存在两个不同的密钥k 1和k 2,使 e k1(x)=e k2(x)=y∴对于x ∈P ,y ∈C ,刚好存在一个密钥K 使得e k (x)=y 令n=|K|,设P={x i :1≤i ≤n },并且固定一个密文y ∈C ,设密钥为k 1,k 2,.........K n , 且有e ki (x i )=y ,1≤i ≤n ,由贝叶斯定理得: P r [x i |y]=﹙P r [y|x i ] P r [x i ]﹚/P r [y] 又已知明文、密文条件下,密钥固定 ∴P r [y|x i ]=P r [k=k i ]∴P r [x i |y]=﹙P r [k=k i ] P r [x i ]﹚/P r [y] 由完善保密性得: P r [x i |y]=P r [x i ]∴﹙P r [k=k i ] P r [x i ]﹚/P r [y]=P r [x i ] ∴P r [k=k i ]=P r [y]∴每个密钥等概率使用,P r [k]=1/n ∴每个密文都是等概率的 2.6 (范郢)解:由一次一密体制可知()mod 2'(')mod 2y x k y x k ≡+≡+两式相加得'('2)mod 2y y x x k +≡++所以有'(')mod 2y y x x +≡+因此'(')mod 2x x y y +≡+2.7(李渠)a.b.由一次一密有e k(X)=(X1+K1,……,X n+K n)mod2,明文、密文、密钥都是n位二进制数,共2n种,所以行列数都为2n,该矩阵为2n X2n矩阵。
且该矩阵中每行都是0至2n-1这2n个二进制数。
又由于该矩阵是定义在(Z2)n上的“一次一密”密码体制加密矩阵,所以对于e km(X n)而言,不会存在e ki(X n)或者e km(X j)等于e km(X n),即对于矩阵中第m行、第n列的密文在该行与该列内没有与其相同的密文。
所以该矩阵是2n X2n矩阵,2n个元素在每一行和每一列恰好出现一次的阶为2n的拉丁方。
2.8(熊磊)A:编码方案:X={x1,x2, ……x n-1,x n,}对于x1到x 2k+1-n的x i,将i转化成k位的二进制数,作为x i的编码对于x 2k+1-n到x n的x i,将i-(2k+1-n)转化成k位的二进制数,再在前面加上一位置1,B:当n=6时,H(x)= -∑p[x i]㏒p[x i]= ㏒6≈2.5822≤6≤23,故k=2,其中2k+1-n=2,x1,x2编码为00,01,x3,x4,x5,x6依次编码为100,101,110,111,L(f)= (2*2+4*3)/6=8/3=2.62.9(靳淑蕉)解: Huffman编码得到的编码树如下:(令左分支编码为1,右分支编码为0)x ∈Xdbc该编码最后的平均长度为:L=0.32×2+0.23×2+0.20×2+0.15×3+0.10×3=0.25 和熵比较:H (X ) = - ∑ Pr[x]lbPr[x]= -(0.32lb0.32+0.23lb0.23+0.20lb0.20+0.15lb0.15+0.10lb0.10)≈ 0.221可以看出,编码的平均长度和熵很接近。