今天老师讲了黑盒灰盒攻击,比较复杂,什么侧信道什么物理功率,好复杂没怎么听,老师也说这个不考。然后老师讲评了下面的作业,这里是记录。
注意在咱们课程的古典密码学部分对a-z编码时,a对应0,z对应25
冒泡排序复杂度
for i=n,i>=1,i--{
if S>=an
xn=1,s=s-an
else
xn=0
}
n次比较和减法 -> O(n)
不用纠结每一个数是多少bit,除非真的要求
进行如此细粒度的考虑
3DES问题 p→Ek1→中间x→Ek2→Ek3→c
记Q为比较操作操作
$k_1$遍历E+排序 得到表B
$2^{56}(E+log_22^{56}Q)$ 加密与二分搜索
≤ $2^{56}(57E)$
(k2,k3)遍历
$2^{112}(D+log_22^{56}Q)$ 解密与二分搜索
≤ $2^{112}(57D)$
子密钥
DES的密码编排
连续两轮多少比特不同,多少比特相同

第三节作业
推导AES列混合为矩阵乘法

a(x)*c(x)之后,去除 x^4+1,然后求出余数
注意到,这些系数是0 or 1(因为系数是在那个域中,那个域的系数是mod2的,所以系数的加法和减法是一样的,都是异或操作,所以在做待遇出发的时候减法也可以写成加法)
SM4是广义feistal结构