针对块密码CIKS - 1的选择明文线性攻击及理想阈值方案研究
块密码CIKS - 1的线性密码分析
线性密码分析(LC)是由Matsui提出的一种针对块密码的强大攻击方法,它主要探索明文、密文和子密钥位之间的线性关系。对于迭代密码,通常通过组合每一轮的近似来得到线性近似。对于随机给定的明文P和对应的密文C,存在如下线性近似:
[P[i_1, i_2, …, i_a] \oplus C[j_1, j_2, …, j_b] = K[k_1, k_2, …, k_c]]
其中,(i_1, i_2, …, i_a),(j_1, j_2, …, j_b) 和 (k_1, k_2, …, k_c) 表示固定的比特位置,且 (P[i_1, i_2, …, i_a] = P[i_1] \oplus … \oplus P[i_a])。
评估CIKS - 1抗LC能力的主要方法
- CP盒的特性 :CP盒(置换)具有这样的特性,若其输入数据中“1”(或“0”)的数量为n,那么无论控制向量V如何,其输出数据中“1”(或“0”)的数量也为n。所以,输入数据 (I[i_0, …, i_{n - 1}]) 与输出数据 (O[o_0, …, o_{n - 1}]) 相等的概率 (p = 1),这里I(或O)表示输入(或输出)数据。
- 一轮线性近似的构建 :考虑16个并行的模 (2^2) 加法的线性近似,以构建CIKS - 1的一轮线性近似。设 (L = (l_0, …, l_{31})) 和 (R = (r_0, …, r_{31})) 是操作 “ + … + ” 的32位操作