密码学报 ISSN 2095-7025 CN 10-1195/TN Journal of Cryptologic Research,2014,1(3):296–310 ©《密码学报》编辑部版权所有. E-mail: jcr@cacrnet.org.cn http://www.jcr.cacrnet.org.cn Tel/Fax: +86-10-81033101 零相关线性分析研究* 王美琴, 温 隆 山东大学 密码技术与信息安全教育部重点实验室, 济南 250100 通讯作者: 王美琴, E-mail: mqwang@sdu.edu.cn 摘 要: 零相关线性分析由 Bogdanov 和 Rijmen 于 2012 年首次提出, 该方法利用分组密码算法中广泛存 在的相关度为零的线性逼近来区分密码算法与随机置换. 为了解决零相关线性分析所依赖的高数据复杂 度的问题, Bogdanov 与 Wang 于 FSE 2012 提出利用多条零相关线性逼近, 以区分统计分布的方式来降低数 据复杂度. 为了消除新模型所依赖的强烈假设条件, Bogdanov 等人于 ASIACRYPT 2012 提出多维零相关线 性分析的模型, 进一步完善了零相关线性分析模型. 零相关线性分析模型的有效性, 在对诸多算法, 包括 TEA、XTEA、CAST-256、CLEFIA、Camellia 等一系列重要算法的分析中得到验证. 作为新的分析方法, 零 相关线性分析与其它密码分析技术之间的联系也被深入研究. 线性分析领域的另一个研究进展是相关密 钥下线性分析模型——相关密钥不变偏差线性分析模型的提出. 本文详细介绍了零相关线性分析研究背 景、发展历程以及线性分析领域当前的主要进展与取得的重要结果, 以及存在的一些问题. 关键词: 密码分析; 零相关线性分析; 多维零相关线性分析; 积分零相关; 相关密钥不变偏差线性分析 中图法分类号: TP309.7 文献标识码: A DOI: 10.13868/j.cnki.jcr.000028 中文引用格式: 王美琴, 温隆. 零相关线性分析研究[J]. 密码学报, 2014, 1(3): 296–310. 英文引用格式: Wang M Q, Wen L. Research on zero-correlation linear cryptanalysis[J]. Journal of Cryptologic Research, 2014, 1(3): 296–310. Research on Zero-correlation Linear Cryptanalysis WANG Mei-Qin, WEN Long Key Laboratory of Cryptologic Technology and Information Security, Ministry of Education, Shandong University, Jinan 250100, China Corresponding author: WANG Mei-Qin, E-mail: mqwang@sdu.edu.cn Abstract: Zero-correlation was firstly introduced by Bogdanov and Rijmen in 2012. It is the linear approximation with correlation zero generally existing in block ciphers that is utilized to distinguish between a random permutation and a block cipher. To overcome the high data complexity required by the zero-correlation linear cryptanalysis, Bogdanov and Wang proposed to reduce the data complexity with multiple zero-correlation linear approximation in the way of distinguishing statistical distributions. Yet, the new cryptanalysis model is controversial due to a strong assumption on which the model is built. To remove the strong assumption, Bogdanov et al. proposed a new model, multidimensional zero-correlation linear cryptanalysis, with which the zero-correlation linear cryptanalysis technique is largely improved. The effectiveness of zero-correlation linear cryptanalysis has been verified by improved cryptanalysis results on many well known ciphers, including TEA, 基金项目: 国家重点基础研究发展项目(973计划)(2013CB834205); 国家自然科学基金项目(61133013, 61103237); 教育部新 世纪优秀人才支持计划(NCET-13-0350); 山东大学交叉学科基金项目(2012JC018) 收稿日期: 2014-05-20 定稿日期: 2014-06-12 王美琴 等: 零相关线性分析研究 297 XTEA, CAST-256, CLEFIA, Camellia etc. As a novel technique, the internal relationship of zero-correlation linear cryptanalysis with other cryptanalysis technique is currently under study. Another progress in the domain of linear cryptanalysis is the proposal of a new linear cryptanalysis model under related-key setting, related-key invariant bias linear cryptanalysis. We here describe the zero-correlation linear cryptanalysis in detail, including the research background, the development and some other important progress in the field of linear cryptanalysis as well as some of the existing problems. Key words: cryptanalysis; zero-correlation linear cryptanalysis; multidimensional zero-correlation linear cryptanalysis; integral zero-correlation; related-key invariant bias linear cryptanalysis 1 引言 差分分析[1]与线性分析[2,3]是分组密码算法安全性分析中的两个重要工具. 在差分分析的基础上, 很 多新的分析方法被提出, 包括多差分分析[4]、截断差分分析[5]、积分攻击[6]、不可能差分分析[7]等. 这些新 的分析方法, 扩展了分组密码算法分析的工具并在许多分组密码算法的安全性分析上取得突破. 然而, 在 线性分析领域, 除了多线性分析[8]与多维线性分析[9]的扩展, 却少有新的分析模型提出. 作为差分分析领 域内强有力的分析工具, 不可能差分分析利用概率为零的差分路线进行密钥恢复. 然而线性分析领域内, 少有利用偏差为零的线性逼近(linear approximation)进行密钥恢复攻击的工作. 近年来这一情况有所改变, 随着零相关线性分析(zero-correlation linear cryptanalysis)的提出、发展以 及对诸多算法的改进分析中, 零相关线性分析已经成为一个密码分析中一个有效的工具. 虽然零相关线性 分析与不可能差分分析在理论和技术两个方面有很大的不同, 但是零相关线性分析可以看作是不可能差 分分析在线性分析领域的对偶技术. 零相关线性分析的概念由 Bogdanov 和 Rijmen 首次提出[10]. 通过对线性掩码在分组密码算法组件中 的传播性质的讨论, Bogdanov 和 Rijmen 展示如何为(部分)分组密码算法构建以概率 1 2 成立的线性逼近表 达式, 即相关度(correlation)为零的线性逼近. 基于相关度为零的线性逼近表达式, 可以区分分组密码算法 与随机置换, 由此进行密钥恢复攻击. 然而 Bogdanov 和 Rijmen 给出的模型需要的数据量为整个明文空间 n1 或者 2 个选择明文, 其中 n 为分组密码算法的分组长度. 对高数据复杂度的需求极大的限制了零相关线 性分析的应用. 另一方面, 攻击者通常能够为(部分)分组密码算法构建大量的零相关线性逼近, 这些大量 存在的零相关线性逼近在 Bogdanov 和 Rijmen 的分析模型中未得到充分利用. 以此为出发点, 为了降低零 相关线性分析模型的数据复杂度, Bogdanov 和 Wang 在 FSE 2012[11]上提出利用多条零相关线性逼近以区分 统计分布的形式进行密钥恢复, 由此来降低攻击的数据复杂度. 为方便起见, 本文中接下来以多重零相关 线性分析(multiple zero-correlation linear cryptanalysis)来代指该分析模型. 假设存在 条零相关线性逼近, 则多重零相关线性分析所需的数据复杂度大约为 2n , 与 Bogdanov 和 Rijmen 给出的模型相比, 多重 零相关线性分析的数据复杂度显著降低. 然而, 多重零相关线性分析的理论模型基于一个强假设条件, 即 要求 条零相关线性逼近是相互独立的, 这一条件通常难以满足. 多重零相关线性分析的提出, 虽然显著降低了零相关线性分析的数据复杂度, 但是所需的数据复杂 度仍然较高(反比于 ). 另一方面, 多重零相关线性分析所依赖的强假设条件也不容忽视. 以此为基础, Bogdanov 等人在 ASIACRYPT 2012 提出积分零相关区分器(integral zero-correlation distinguisher)的概念与 多维零相关线性分析(multidimensional zero-correlation linear cryptanalysis)新模型[12]. Bogdanov 等人首次揭 示了零相关区分器、积分区分器和多维线性区分器之间的关系. 利用积分零相关区分器进行密钥恢复, 所 需的数据复杂度为 2n , 即数据复杂度反比于能够获得的零相关线性逼近的条数, 相比于多重零相关 线性分析模型, 数据复杂度又得到了显著降低. 多维零相关线性分析模型与多重零相关线性分析模型相 Journal of Cryptologic Research 密码学报 Vol.1, No.3, Jun. 2014 298 比, 所需的数据复杂度为 2n , 但是不再依赖于 条零相关线性逼近是相互独立的这一强烈假设条 件. 多维零相关线性分析的提出, 极大的完善了零相关线性分析的理论模型, 而其正确性, 已经由 Soleimany 与 Nyberg 通过在小算法上的实验验证[13]. 在对具体的算法分析方面, 零相关线性分析改进了对 诸多算法的最好分析结果, 其中包括 TEA[11]、XTEA[11]、CAST-256[12]、LBlock[13]、CLEIFA[14]、Camellia[14]、 HIGHT[15] 、E2[16]. 值得一提的是, 在 SAC 2013, Bogdanov 等人将快速傅里叶变换技术(fast Fourier transformation)应用到零相关线性分析的密钥恢复过程并改进了 Camellia 的最好分析结果[14]. 零相关线性 分析领域的其他进展包括, Blondeau 与 Nyberg 在 EUROCRYPT 2013 上从数学形式揭示了不可能差分区分 器与零相关线性区分之间的联系[17]. 而 ACNS 2014 上, Blondeau 等人证明了一些基于 Feistel 或者 Skipjack 的算法结构在一定的条件下, 具有等长的不可能差分和零相关线性区分器[18]. 为了提高攻击轮数, 差分分析领域的各种分析方法常常与相关密钥技术[19]进行结合, 以便能够获得 更长轮数的攻击结果, 并且取得了以对全轮 AES-192 和 AES-256 的相关密钥分析[20]结果为代表的一系列 重要成果. 然而在线性分析领域, 与相关密钥进行结合的研究方面上没有重要进展. ASIACRYPT 2013, Bogdanov 等人发现了分组密码算法中存在一些线性逼近, 在特定密钥差分下, 这些线性逼近的偏差保持 不变. 基于此, Bogdanov 等人构建了相关密钥不变偏差(related-key invariant bias)区分器, 并用此区分器构 造了密钥恢复的攻击模型, 并大幅度提高了对轻量级分组密码算法 LBlock 和 TWINE-128 的分析结果[21]. 我们用相关密钥不变偏差线性分析(related-key invariant bias linear cryptanalysis)来指代这一新的分析模型, 该模型可以看作是一种有效的相关密钥线性分析. 本文接下来将详述线性分析领域的最新进展. 零相关线性分析的提出与发展, 以及 FFT 技术的应用 在第 2 节中进行着重介绍. 第 3 节关注积分零相关分析方法以及其在 ARX 算法上的扩展. 第 4 节详细介绍 相关密钥不变偏差线性分析模型. 第 5 节进行总结. 2 零相关线性分析 2.1 相关度与线性逼近 用 F2n 表示 F2 上的 n 维向量空间, ‘ ’表示有限域内的模加运算, 则两个布尔函数 f , g : F2n F2 的 相关函数如下定义: C f ,g u 1 f x g x u xF2n 两个布尔函数之间的相关度定义如下: C f x , g x 2 n C f , g 0 如果用中 表示集合中的元素个数, 则 C f x , g x 可以如下计算: C f x , g x x f x g x x f x g x 2 x f x g x 1 2 Pr 2n 2n x f x g x 1 在线性分析中, 考虑线性逼近 , , 其中 表示输入掩码, 表示输出掩码, 如果 或者 为零, 称之为平凡的线性逼近, 否则称之为非平凡的线性逼近. 根据以上相关度的定义, 函数 h : F2m F2n 上线 性逼近 , 的相关度定义为 Ch , C h x , x 2Pr h x x 0 1 , 其中‘ ’表示两个比 特串的内积(scalar product of binary vectors). 所有可能的线性逼近的相关度构成一个相关度矩阵 C h , 每个 元素为 C h , Ch, , F2m , F n2 . 王美琴 等: 零相关线性分析研究 299 用 B : F2n F2n 表示 n 比特分组的 r 轮迭代分组密码算法 B f r f r 1 f 2 f1 , 其中 f i : F2n F2n , 1ir , Daemen 在文献[22]中证明了关系: C B C fr C f2 C f1 . r 个一轮线性逼近的级联构成的线性特 征 (linear characteristic) 记为 U u0 , u1 ,, ur 1 , ur , 其中 ui1 , ui 是 f i 的线性逼近 . r 轮的线性线性逼近 , , 可以表示为: , U | u0 , ur . CB, 如果存在 i 1,, r 使得 C fi ui 1 ,ui U:u0 ,ur 线性壳的相关度与线性特征的相关度存在如下关系式: CUB r C U :u0 ,ur i 1 fi ui 1 ,ui 0 对任意 U U | u0 , ur 成立 , 那么对任意 U U | u0 , ur 有 CUB 0 成立. 从而可以得到 C , 0 , 即相关度为零的线性逼近. 命题 1( 线性映射的线性逼近的相关度 ) 对线性映射 h x M x , 若 M T , 则 Ch, 1 ; 若 M T , 则 Ch, 0 . 根据命题 1, 能够推导出如下的线性逼近的相关度在分组密码组件中传播的性质. 引理 1(异或运算) 如果 h x1 , x2 x1 x2 , 那么 C h x1 , x2 ,1 x1 2 x2 0 当且仅当 1 2 . 引理 2(分支操作) 如果 h x x, x , 那么 C 1 , 2 h x , x 0 当且仅当 1 2 . 引理 3(可逆 F 函数) 如果 x 为可逆函数, 则 C x , x 0 当且仅当 与 均为零或者均 不为零. 根据以上引理, 可以构造出平衡 Feistel 结构分组密码算法的 5 轮的零相关线性逼近. 见图 1. 图1 Figure 1 5 轮 Feistel 的零相关线性逼近 Zero-correlation linear approximation over 5-round Feistel type cipher 定理 1(平衡 Feistel 结构分组密码算法的零相关线性逼近) 记 BF5 为 5 轮的平衡 Feistel 结构的分组密 码算法, 分组长度为 n 比特, 那么对于任意 a F2n 2 , a 0, 都有 BF5 上的线性逼近 a 0, 0 a 的相关度为零. 利用零相关线性逼近进行分组密码算法与随机置换的区分时, 需要计算给定线性逼近的相关度. 通 常的计算方法是遍历所有的输入, 一次计算相应的输出, 从而求得给定线性逼近的相关度, 此时需要的遍 历整个明文空间. 然而, 通过选择明文, 对 n 比特分组长度的密码算法, 可以利用 2n1 个数据来快速计算 给定线性逼近的相关度. 命题 2(快速计算线性逼近的相关度) 对 n 比特置换函数 f 上的任意的非平凡的线性逼近 , , 其 相关度 C 可以通过如下两种方式中的任意一种利用 2n1 个输入输出对 x, f x 来求得: Journal of Cryptologic Research 密码学报 Vol.1, No.3, Jun. 2014 300 Cf , x, y x 0 and f x 0 1 2 n2 x, y x 1and f x 1 1 2n2 证明: 对命题 2 的证明请参见文献[10]. 为了利用零相关线性逼近进行分组密码算法与随机置换的区分, 需要考察在密码算法和随机置换条 件, 计算出的线性逼近的相关度等于零的概率差别. 对分组密码算法的零相关线性逼近求相关度, 得到的 相关度一定为零. 对随机置换, 我们有如下命题 3. 命题 3(随机置换中的线性逼近相关度为零的概率) 对 n 比特置换函数上非平凡的线性逼近的相关度 0 的概率近似为 2 4n 2 2 , 其中 n5 . 根据命题 3, 分组密码算法与随机置换可以按照如下步骤进行区分: (1) 收集 2n1 个选择明密文对 x, y , y f x ; (2) 计算 Cf , ; (3) 如果 Cf , 0 , 则认为不是随机置换, 否则认为是随机置换. 该区分攻击的数据复杂度为 2n1 个选择明文, 时间复杂度为 2n1 次内积计算. 根据命题 3, 把随机置 换错判成分组密码算法的概率为 2 4n 2 2 , 该区分攻击不会把分组密码算法错判成随机置换. 在进行 密钥恢复攻击时, 在错误密钥猜测下可以认为算法是随机置换. 由此, 该区分攻击可以转换成为密钥恢复 攻击. 2.2 多重零相关线性分析 对高数据复杂度的需求极大的限制了零相关线性分析的应用. 另一方面, 攻击者通常为(部分)分组密 码算法构建大量的零相关线性逼近, 这些大量存在的零相关线性逼近在 2.1 节介绍的零相关线性分析模型 中没有得到充分利用. 一个自然的改进方向便是尝试利用大量存在的零相关线性逼近来降低攻击所需的 数据复杂度, 以此为出发点, Bogdanov 和 Wang 在 FSE 2012 上提出了多重零相关线性分析的新模型. 多重零相关线性分析模型的出发点是利用较少的数据量来估算大量线性逼近的相关度, 并由此构建 统计量来区分正确密钥猜测(分组密码算法)与错误密钥猜测(随机置换). 模型构建过程中的一个基本问题 便是对两个正态分布进行区分. 即, 假设样本 s 取自正态分布 N 0 , 0 或者 N 1 , 1 , 其中 0 和 1 为均 值, 0 和 1 为标准差, 需要判断样本取自哪个正态分布. 判断的方法为选定一个阈值 . 不失一般性, 假 设 01 , 如果 s , 那么判定 s N 0 , 0 , 否则判定 s N 1 , 1 . 两类错误判定的概率表示如下: 0 Pr s N 1 , 1 | s N 0 , 0 , 1 Pr s N 0 , 0 | s N 1 , 1 错误概率 0 和 1 的选取与阈值 , 两个正态分布的均值与标准差之间存在约束关系. 命题 4(区分正态分布的错误概率与正态分布的均值和标准差的关系) 为了使得区分两个正态分布 N 0 , 0 和 N 1 , 1 的错误概率至多为 0 和 1 , 0、1、 0、 1、 0、 1 必须满足如下关系: z11 1 z10 0 1 0 1 其中 z11 和 z10 是标准正态分布的分位数. 而阈值 0 0 z10 1 0 z11 . 假设攻击者拥有 N 个已知明文, 条 n 比特(部分)分组密码算法的零相关线性逼近, 设 Ti 1i 是 王美琴 等: 零相关线性分析研究 301 N 个已知明文对种满足第 i 条零相关线性逼近的个数, 计算如下统计量: Ti cˆ 2 N 1 2 i i 1 2 i 1 则在正确密钥猜测下有: cˆi ~ N 0,1 cˆ ~ N 0,1 2 i i 1 N 2 i 1 N 2 1 2 1 N 0,1 N 2 N N , N N i 1 在错误密钥猜测下有: cˆi ~ N ci ,1 N ci ~ N 0,2 n /2 cˆi ~ N 0, 1 N 1 2n cˆ ~ N 2 i i 1 i 1 2 0, 1 1 1 N 1 2n n N 2 2 2 2 n N n , 2 2 N N 由此, 得到多重零相关线性分析的如下命题: 命题 5(多零相关线性区分器) 设有分组密码算法(密钥固定)上的 个非平凡的零相关线性逼近和 N 个已知明文, 并且设 Ti 1i 是 N 个已知明密文对种满足第 i 条零相关线性逼近的个数, 假设 Ti 1i N、 n , 在正确密钥猜测下: 之间是相互独立的, 则对足够大的 、 Ti 2 N 1 i 1 2 2 ~N , N N 而在错误密钥猜测下: Ti 2 N 1 i 1 2 2 2 ~N n, n N 2 N 2 命题 6(多零相关线性区分器的数据复杂度) 用 个非平凡的零相关线性逼近, 以不超过 0 (把正确 密钥猜测判断成错误密钥猜测的概率)和 1 (把错误密钥猜测判断成为正确密钥猜测的概率)的错误概率来 区分正确密钥猜测与错误密钥猜测, 需要的已知明文的个数必须满足如下关系: z11 2 2n0.5 1 z10 z11 N 其中 z10 和 z11 为标准正态分布分布的分位数, 判断的阈值为: 0 0 z10 1 0 z11 . 多重零相关线性分析的一般步骤如图 2 所示: 为分组密码算法构建尽可能长的零相关线性逼近, 在线 性逼近两端附加合适的轮数. 设定错误概率, 按照命题 7 计算所需的数据量. 猜测密钥, 对所有的明密文 对进行部分加解密至零相关线性逼近的两端. 计算统计量, 根据阈值来区分正确密钥猜测与错误密钥. 多 重零相关线性分析方法的提出, 显著降低了零相关线性分析的数据复杂度, 改进了零相关线性分析方法的 [11] 作用. 在 FSE 2012, Bogdanov 和 Wang 用多重零相关线性分析改进了对 TEA 和 XTEA 的当时的最好分 析结果. 多重零相关线性分析模型的密钥恢复过程与经典的线性分析过程相似. 而在 ICISC 2007, Collard 等人 [23] 提出可以利用快速傅里叶变换(FFT)技术, 来降低线性分析的时间复杂度 . 在 SAC 2013, Bogdanov 等人 指出, FFT 技术同样可以应用于多重零相关线性分析, 作为示例, Bogdanov 等人利用多重零相关线性分析 [14] 技术与 FFT 技术, 从攻击轮数上改进了对 Camellia(考虑白化密钥和 FL/FL-1)的最好分析结果 . Journal of Cryptologic Research 密码学报 Vol.1, No.3, Jun. 2014 302 图 2 零相关线性分析的一般步骤 Figure 2 General attack procedure of zero-correlation linear cryptanalysis 2.3 多维零相关线性分析 多重零相关线性分析模型利用大量存在的零相关线性逼近, 通过统计区分的方法, 降低了零相关线 性分析的数据复杂度. 然而, 多重零相关线性分析模型依赖于一个假设, 即要求 条零相关线性逼近之间 相互独立 . 这一假设条件在大多数情况无法得到满足 . 为了解决这一问题 , 受多维线性分析的启发 [12] Bogdanov 等人于 ASIACRYPT 2012 提出多维零相关线性分析模型, 在维持数据复杂度基本不变的情况下, 消除了多重零相关线性分析所依赖的强烈假设条件, 极大完善了零相关线性分析理论. 设 i , i 1im 为 F2n F2t 上的 m 个相互独立的线性逼近, 记 x F2n 为明文, y F2t 是加密过程 中的部分(中间)状态值, 用一对 x, y 对 m 个 i , i 进行求值, 获得 m 比特的值, 记为 zi 1im : z z1 ,, zm zi i x i y 多维线性分析考虑 z 的概率分布 Pr z 2 m F m 1 C , 其中 F2m 是 m 条相互独立的线性逼近的线 z 2 性组合, C 是 的相关度. 在零相关线性分析中, 假设可以获得 条零相关线性逼近. 设这 条零相关线性逼近可由 m 条相互 独立的线性逼近通过线性组合生成, 即这 m 条零相关线性逼近为 条零相关线性逼近的一组基. 在零相 关条件下, 有 C 0 , F2m , 0 , 由于 Pr z 2 m F m 1 z 2 C , 可得此时 z 在 F2m 中服从均匀分布. 而在随机置换的条件下, z 在 F2m 中基本不可能服从均匀分布, 据此可以区分出分组密码算法(正确密钥猜 测)与随机置换(错误密钥猜测). 设在 N 个明密文对下, 利用计数器 V z 计数在这些数据下每个 z 值出现 的次数, 则有: 在正确密钥猜测下, V z 服从多变量超几何分布(multivariate hypergeometric distribution); 在错误密钥猜测下 V z 服从多项式分布(multinomial distribution). 王美琴 等: 零相关线性分析研究 303 围绕 V z 构建统计量: 2m 1 T V z N 2 N 1 1 z 0 则在正确密钥猜测下有: Exp V z N 2 m N 1 Var V z N 2 m 1 2 m 1 n 2 1 Tcipher m 2n 1 2 1 V z Exp V z n Var V z 2 N z 0 2 Tcipher 服从自由度为 2m 1 的卡方分布 22m 1 , 期望和方差如下: Exp Tcipher 2 m 1 2n N 2n 1 2n N Var Tcipher 2 2m 1 n 2 1 2 在错误密钥猜测下有: Exp V z N 2 m Var V z N 2 m 1 2 m 2m 1 Trandom V z Exp V z Var V z z 0 2 n N Trandom 2 n 2 1 服从自由度为 2m 1 的卡方分布 22m 1 , 其自由度和方差如下: Exp Trandom 2m 1 Var Trandom 2 2m 1 命题 7(多维零相关线性区分器) 有 N 个固定密钥下获得的明密文对, 如果能够获得 条零相关线性 逼近, 那么统计量 2m 1 T V z N z 0 2 N 1 1 服从 分布, 在正确密钥猜测下, 该卡方分布的期望与方差为 2 0 Exp Tcipher 1 2n N 2n 1 2n N n 2 1 02 Var Tcipher 2 1 2 在错误密钥猜测下, 该卡方分布的期望与方差为 1 Exp Trandom 1 12 Var Trandom 2 1 命题 8(多维零相关线性区分器的数据复杂度) n 比特的分组密码算法的 条零相关线性逼近, 构成 Journal of Cryptologic Research 密码学报 Vol.1, No.3, Jun. 2014 304 了一个 log 2 维度的线性空间, 至多以错误概率 0 (正确密钥猜测判断为错误密钥的概率)和 1 (把错误密 钥猜测判断为正确密钥猜测的概率)来区分正确密钥猜测与错误密钥猜测, 需要的已知明文的个数必须满 足如下关系: N 2 n 1 z10 z11 1 2 z10 1 其中 z10 和 z11 为标准正态分布分布的分位数, 判断的阈值为: 0 0 z10 1 0 z11 . 多维零相关线性分析的密钥攻击过程与多重零相关线性分析的基本一致, 见图 2, 区别在于利用数据 量计算统计量的方式. 多维零相关线性分析的提出, 极大的完善了零相关线性分析, 至此零相关线性分析 不再依赖于强烈的假设条件, 并且数据复杂度也得到有效的降低. 在 ASIACRYPT 2012, Bogdanov 给出了 [12] 对 CAST-256 算法的 28 轮的无弱密钥假设的攻击 . 在 SAC 2013, 利用多维零相关线性分析, Bogdanov [14] 改进了对 CLEFIA 算法的最好攻击结果 . 另外, 多维零相关线性分析也改进了对 HIGHT 和 E2 的最好分 [15,16] 析结果, 相关结果分别(将要)发表在 Information Processing Letters 和 AFRICACRYPT 2014 . 2.4 零相关线性分析与不可能差分分析 零相关线性分析可以看作是不可能差分分析在线性分析领域的对偶方法, 在很多情况下, 零相关线 性区分器与不可能差分区分器是等长的. 这一现象使得零相关线性区分器与不可能差分区分器的内在联 系成为值得关注的研究热点. Blondeau 和 Nyberg 在 EUROCRYPT 2013 上, 首次使用了一种线性分析和差 分分析间的数学联系来说明了在特定大小的多维线性空间的特定情况下两种区分器等价 [17] . 这种数学联 系是指 : 对于一个给定的 n 比特的分组密码算法 , 存在一个不可能差分区分器 0, 0, , 其中 v0. F2t , F2n t , 、 0 , 当且仅当存在一个零相关线性区分器 u,0 v,0 , u F2n t , v F2t , u、 尽管这种关系与基本的加密算法和具体的结构无关, 但是它需要有 2t 1 2nt 1 2n 个不可能差 分或者零相关线性逼近. 而对于很多加密算法来言, 只能找到很少的不可能差分, 这就限制了这一理论在 实际中的运用. Blondeau 等人在 ACNS 2014 上, 使用矩阵表示技术在两类广泛使用的加密算法——Feistel [18] 结构和 Skipjack 结构下解决了这一问题 . 对于这两类结构, Blondeau 等人首先分别给出不可能差分区分 器和零相关线性区分器轮数相同 ( 即两者等价 ) 的条件 . 随后利用这些条件 , 完成了对于 Feistel 类型的 Type-I 和 Type-II, Skipjack 类型的 Rule-A 和 Rule-B, 以及 TWINE 和 LBlock 结构不可能差分区分器和零相 关线性区分器等价性的证明. 除此之外, Blondeau 等人还给出了 SAC’13 上提出的一种广义 Feistel 结构上 的两种区分器等价性证明. 在最后, 对部分 Skipjack 类型的加密算法, 使用之前的理论结果说明其不可能 差分区分器和零相关线性区分器的在不满足条件的情况下是不等价的. 3 积分零相关 [24] 积分区分器首先由 Kundsen 在攻击 Square 算法时提出的 器 [25] 和多集合区分器 . 积分区分器的各种变形包括饱和度区分 [26] . 积分区分器基于的观察是, 在固定明文的一些比特, 遍历明文的另外一些比特 时, 得到的密文的一些比特是平衡的. 在 ASIACRYPT 2012, Bogdanov 等人揭示了在输入掩码和输出掩码 相互独立的情况下, 零相关线性区分器与积分区分器是等价的. 基于此, 给出了积分零相关的密钥攻击方 法, 此时, 如果攻击能够获得 条零相关线性逼近, 那么攻击所需要的数据量为 2n , 与多维零相关线性 分析相比 , 积分零相关的数据量随着零相关线性逼近条数的增多降低的更为显著 . 下面详细介绍积分 零相关. 函数 f : F2n F2k , kn 是平衡的, 如果所有的输出值的出现的次数相等. 设 H : F2n F2n 表示一个分 王美琴 等: 零相关线性分析研究 305 组密码算法(或者是算法的一部分), 不失一般性, 将函数 H 的输入和输出进行如下分解: H : F2r F2s F2t F2u H1 x, y H x, y H x, y 2 固定 H 的输入的前 r 个比特的值为 并且只考虑 H 的输出的前 t 比特, 得到如下的函数表示: T : F2s F2t T y H 1 , y 那么, 零相关与积分区分器之间的关系可以由命题 9 来总结. 命题 9(零相关与积分区分器之间的关系) 如果 H : F2n F2n 的输入掩码和输出掩码 和 之间是相 1 0 , 都有 CH, 0 (零相关)当且仅当 T 对任意的 互独立的, 那么对任意的 1 ,0 和 1 , 0 , 1、 都是平衡的(积分). 根据零相关线性区分器与积分区分器之间的关系, 可以利用在分组密码算法上构造出的零相关线性 逼近来进行类似积分攻击的密钥恢复过程. 下面以 AES 为示例, 展示 AES 的积分区分器与零相关线性区 分器, 见图 3, 并给出简略的攻击过程描述. 图 3 中, “X”填充的字节表示该字节为活跃字节, “N”填充的字 节表示该字节所对应的掩码值非零. 值得一提的是, 4 轮 AES 的零相关线性区分器中, 输入掩码或者输出 掩码的任一字节取非零值, 4 轮的零相关线性逼近仍然成立. 图 3 AES 的积分区分器与零相关线性区分器 Figure 3 Integral and zero-correlation linear distinguisher of AES 根据命题 9, 4 轮的零相关线性区分器暗示了一个四轮的积分区分器. 该 4 轮的积分区分器可以描述 为: 固定明文的任意一个字节的值, 遍历其余字节的所有的可能值, 即数据量为 2120 个选择明文, 那么任 112 选密文的一个字节, 其 256 种可能取值都出现了相等的次数, 即 2 . 基于该积分零相关区分器, 可以进行 密钥恢复攻击. 在区分器前后接适当的轮数, 对明密文进行部分加解密, 验证积分特性. 在正确密钥猜测 下非零输出掩码所对应的比特位置的值是平衡的. 其中, 积分区分器可以概括如下: 遍历零相关线性逼近 的输入掩码为零的位置的所有可能取值, 固定输入掩码可任意取值的位置的值为常数, 则输出掩码中非零 掩码位置对应的值是平衡的. 利用积分零相关区分器, Bogdanov 等人给出了对 31 轮 Skipjack-BABABABA Journal of Cryptologic Research 密码学报 Vol.1, No.3, Jun. 2014 306 [12] 结构的积分零相关分析 . [12] 然而 ASIACRYPT 2012 上提出的积分零相关区分器 , 对输入掩码的取值有特定要求: 部分比特对 应的掩码值为零, 其余比特对应的掩码可以取任意值. 这一要求, 使得积分零相关区分器在 ARX 算法上的 应用受限. 因为在 ARX 算法中, 输入掩码的值, 通常还有一比特掩码的值固定为 1, 参考 TEA, XTEA 和 [11,15] HIGHT 的零相关线性区分器 . 在 ACISP 2014 上, Wen 和 Wang 考察了积分零相关区分器对 ARX 算法 的适用性, 并发现 ASIACRYPT 2012 上提出的积分零相关区分器, 仍然可以用于 ARX 算法, 并给出理论证 [27] 明. 在这一结论之上, Wen 和 Wang 利用积分零相关区分器, 改进了对 SHACAL-2 算法的最好分析结果 4 . 相关密钥不变偏差线性分析 线性分析领域的另一个进展是相关密钥下线性分析模型的提出. 相关密钥技术与差分分析领域内各 种分析技术的组合, 取得了很多重要的结果. 然而在线性分析领域, 少有类似的工作. ASIACRYPT 2013 上, Bogdanov 等人, 发现在迭代分组密码算法中存在一些线性逼近, 这些线性逼近的偏差与密钥差分无 关 [21] . 基于这一观察, Bogdanov 等人给出了相关密钥下的线性分析模型——相关密钥不变偏差线性分析 模型. 在此模型下, 从轮数上大幅度改进了对 LBlock 和 TWINE-128 算法的分析结果. 定义 1(密钥交替分组密码算法) 一个 r 轮的分组密码算法, 其每一轮都有 n 比特子密钥 ki ,1ir , 如果每一轮的子密钥 ki 是在每轮的最后通过异或方式引入状态, 并且在第一轮之前明文首先与子密钥 k0 进行异或, 那么该分组密码算法为密钥交替的分组密码算法. 密钥交替分组密码算法的 r 1 个子密钥是由密钥生成算法 通过主密钥 生成, k0 , k1,, kr1, kr 的级 联构成一个 n r 1 比特的扩展密钥 K , n 为分组长度. 几乎所有的 SPN 结构的算法和部分 Feistel 结构的 k 算法是密钥交替的分组密码算法. r 轮的分组密码算法 f 记为: f f rkr f rkr11 f1k1 0 . 将轮函数 中异或密钥运算记为 ki , 密钥无关的运算记为 i , 则有 f i ki ki i . 用 ui 1 , ui ,1ir 表示 f i ki 上的线性 逼近, u0 , u1 ,, ur 1 , ur 的级联构成线性特征 U , U 的比特长度为 n r 1 . f 的线性逼近 , 由线性特 征 U U | u0 , ur 构成. ki ki 由于 fi i i i , 从而有 Cufii1 ,ui Cuii1 ,ui Cui ,ui . 又因为 k k Cuii1 ,ui 2Pr ui1 x ui i x 1 x ki Cui ,ui 1 i ki 可得 Cufii1 ,ui Cuii1 ,ui 1 i u ki , 则 f 上的线性特征 U 的相关度可以如下计算: r CUf Cu0 ,u0 Cufii1 ,ui 1 0 u ki k0 ki i 1 u k0 C r i 1 i ui 1 ,ui 1 ui ki 1 U K r C i 1 i ui 1 ,ui 1 r CU Cuii1 ,ui i 1 从而有 C f , U :u 0 ,u r f U C . ' 通常精确计算 Cf , 是不可行的, 转而考虑在两个密钥 , 下, Cf , , Cf , 之间的关系. 用 C 和 C 表示线性逼近 , 在相关密钥下的两个相关度. 在随机置换下 C ~ N 0, 1 2 n U K CU 王美琴 等: 零相关线性分析研究 307 C ~ N 0, 1 2n C C ~ N 0, 1 2n 1 当分组长度 n 足够大的时候, Pr C C 0 2 3n 2 C C U :u0 ,ur 1 1 U K U K 2 , 而在分组密码算法的条件下有: 1U K 1U K CU 0, U K U K U 0 2, U K U K U 1 , 是密钥交替分组密码算法的非平凡的线性逼 定理 2(密钥交替分组密码算法的零相关差分) 近, 如果该线性逼近的每个特征 U 都有 U 0 , K K , K , K , 则该线性逼近在密钥 下的相关度 C 以及在密钥 下的相关度 C 满足关系: C C . 如果所有的线性特征 U 在 j 位置都满足 U j 0 , 则称该位置为零位置; 如果所有的 U 在 j 位置都满 足 U j 1 , 称该位置为非零位置. 由此, 可以得到如下命题: 命题 10(密钥交替分组密码算法的不变偏差条件) 密钥交替分组密码算法的非平凡线性逼近在相关 密钥 和 下的相关度 C 和 C 满足 C C 的充分必要条件是扩展密钥 K 和 K 满足 K K 的非零比特位于线性逼近的线性特征 U 的任意个零位置或者偶数个非零位置. 由此, 根据相关密钥不变偏差来构建相关密钥线性分析模型. 与多重零相关线性分析相似, 这里依然 利用多条线性逼近路线来降低数据复杂度. 用 C i 表示一个线性逼近的实际的相关度, 而 Cˆ i 表示用 N 个数 据量测算出来的线性逼近的相关度. 那么在正确密钥猜测下有: 1 2 Cˆ i ~ N Ci , Cˆ i Cˆ i ~ N Ci , N N Cˆ i 1 i Cˆ i ~ N 2 2 i 1 2 2 0, N N 2 N 0,1 N 2 i 1 2 2 2 2 N , N N 在错误密钥猜想猜测下: 1 1 1 1 n Cˆ i ~ N Ci , , Ci ~ N 0, n Cˆ i ~ N 0, N 2 2 N 2 2 2 2 2 1 2 1 2 1 2 Cˆi Cˆi ~ N 0, n1 Cˆi Cˆi ~ N 2 0, n 1 n1 2 N n 1 , n 1 N N N N N 2 2 2 2 2 i 1 i 1 命题 11(相关密钥不变偏差线性区分器) 考虑一对密钥 , 下分组密码算法的 个非平凡的线性 逼近, 该密钥对的子密钥差分 选择任意个零位置和偶数个非零位置. 如果已知明文的数量为 N , 密钥 和 下, 满足第 i 个线性逼近的明密文对的个数分别为 Ti 和 Ti , i 1,, . 假设 Ti 和 Ti 是相互独立的, 则当 N , n 和 足够大的时候, 在正确密钥猜测下有: 2 2 2 Ti Ti 2 N 1 2 N 1 ~ N N , N i 1 2 在错误密钥猜测下有: 2 2 2 2 Ti Ti 2 N 1 2 N 1 ~ N N 2 n 1 , N 2 n 1 i 1 2 Journal of Cryptologic Research 密码学报 Vol.1, No.3, Jun. 2014 308 命题 12(相关密钥不变偏差线性区分器的数据复杂度) 用 个非平凡的线性逼近至多以错误概率 0 (正确密钥猜测判断为错误密钥的概率)和 1 (把错误密钥猜测判断为正确密钥猜测的概率)来区分正确 密钥猜测与错误密钥猜测, 需要的已知明文的个数必须满足如下关系: z11 2 2n0.5 1 z10 z11 N 其中 z10 和 z11 为标准正态分布分布的分位数, 判断的阈值为: 0 0 z10 1 0 z11 . 正确密钥猜测与错误密钥猜测下的分布图, 在图 4 中给出, 其中还标注了各个参数. 相关密钥不变偏差线性分析模型的提出, 在相关密钥条件下扩展了线性分析技术. 利用该分析模型, Bogdanov 等人在 ASIACRYPT 2013 上在相关密钥条件下 , 从轮数上大幅度改进了对轻量级分组密码 LBlock 和 TWINE-128 的最好分析结果. 与多重零相关线性分析类似, 该模型依赖于假设条件: 个非平 凡的线性逼近相互独立. 如前所述, 这是一个强假设条件. 多维零相关线性分析模型的提出, 改进了多重 零相关线性分析模型. 在相关密钥条件下, 是否能够构建出类似于多维零相关线性分析模型来消除强假设 条件, 是一个值得关注的研究方向. 图 4 相关密钥不变偏差线性区分器 Figure 4 Related-key invariant bias linear distinguisher 5 总结 经典的线性分析利用高概率的线性逼近来区分分组密码算法与随机置换, 而零相关线性分析利用偏 差为零的线性逼近来进行区分. 经典线性分析依赖于分组密码算法结构中不随机现象, 而零相关线性分析 依赖于分组密码算法中存在的完美的随机现象, 这些完美的随机现象在随机置换中出现的概率较低. 零相 关线性分析从概念的提出, 到多重零相关线性分析的提出, 再到多维零相关线性分析方法的提出, 形成了 一套完善的分析模型, 并改进了对诸多算法的分析结果. 作为新的分析模型, 零相关线性分析与其他分析 技术的内在联系也成为当前的一个研究热点. ASIACRYPT 2012 上, Bogdanov 等人揭示了零相关区分器与 积分器之间的内在联系, 并给出了积分零相关的概念. 在 ACISP 2014 上, Wen 和 Wang 发现积分零相关也 可以用于 ARX 算法. EUROCRYPT 2013 上, Blondeau 和 Nyberg 从数学形式上, 讨论了零相关线性区分器 与不可能差分区分器之间的联系. 更进一步 ACNS 2014, Blondeau 等人在具体的算法结构上讨论了零相关 线性区分器与不可能差分区分器之间的内在联系. 线性分析领域的另一个研究进展是相关密钥不变偏差 线性分析模型的提出, 将相关密钥技术与线性分析技术结合到一起. 如前所述, 该理论模型仍待改进. 本 文从作者角度, 讲述了零相关线性分析的研究背景、提出、发展历程与当前的主要进展与取得的重要结果, 以及存在的一些问题. 希望能够为国内同行系统了解零相关线性分析的理论与应用提供一点帮助. 王美琴 等: 零相关线性分析研究 309 References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] Biham E, Shamir A. Differential cryptanalysis of DES-like cryptosystems[J]. Journal of Cryptology, 1991, 4(1): 3–72. Matsui M, Yamagishi A. A new method for known plaintext attack of FEAL cipher[C]. In: Advances in Cryptology— EUROCRYPT '92. Springer Berlin Heidelberg, 1993: 81–91. Matsui M. Linear cryptanalysis method for DES cipher[C]. In: Advances in Cryptology—EUROCRYPT '93, Springer Berlin Heidelberg, 1994: 386–397. Blondeau C, Gerard B. Multiple differential cryptanalysis: theory and practice[C]. In: Fast Software Encryption—FSE 2011. Springer Berlin Heidelberg, 2011: 35–54. Knudsen L R, Berson T A. Truncated differentials of SAFER[C]. In: Fast Software Encryption—FSE 1996. Springer Berlin Heidelberg, 1996: 15–26. Knudsen L R, Wagner D. Integral cryptanalysis[C]. In: Fast Software Encryption—FSE 2002. Springer Berlin Heidelberg, 2002: 112–127. Biham E, Biryukov A, Shamir A. Cryptanalysis of Skipjack reduced to 31 rounds using impossible differentials[C]. In: Advances in Cryptology—EUROCRYPT '99. Springer Berlin Heidelberg, 1999: 12–23. Kaliski B, Robshaw M. Linear cryptanalysis using multiple approximations[C]. In: Advances in Cryptology—CRYPTO '94. Springer Berlin Heidelberg, 1994: 26–39. Hermelin M, Cho J Y, Nyberg K. Multidimensional linear cryptanalysis of reduced round serpent[C]. In: Information Security and Privacy—ACISP 2008. Springer Berlin Heidelberg 2008: 203–215. Bogdanov A, Rijmen V. Linear hulls with correlation zero and linear cryptanalysis of block ciphers[J]. In: Designs, Codes and Cryptography, 2014, 70(3): 369–383. Bogdanov A, Wang M. Zero correlation linear cryptanalysis with reduced data complexity[C]. In: Fast Software Encryption —FSE 2012. Springer Berlin Heidelberg, 2012: 29–48. Bogdanov A, Leander G, Nyberg K, et al. Integral and multidimensional linear distinguishers with correlation zero[C]. In: Advances in Cryptology—ASIACRYPT 2012. Springer Berlin Heidelberg, 2012: 244–261. Soleimany, H., Nyberg, K. Zero-correlation linear cryptanalysis of reduced-round LBlock [J]. Designs, Codes and Cryptography, 2012: 1–16. Bogdanov A, Geng H, Wang M, et al. Zero-correlation linear cryptanalysis with FFT and improved attacks on ISO standards Camellia and CLEFIA[C]. In: Selected Areas in Cryptography—SAC 2013. Springer Berlin, 2014: 306–323. Wen L, Wang M, Bogdanov A. Multidimensional zero-correlation attacks on lightweight block cipher HIGHT: improved cryptanalysis of an ISO standard[J]. Information Processing Letters, 2014, 114(6): 322–330. Wen L, Wang M, Bogdanov A. Multidimensional zero-correlation linear cryptanalysis of E2[C]. In: Progress in Cryptology— AFRICACRYPT 2014. Springer-Verlag Berlin Heidelberg, 2014: 147–164. Blondeau C, Nyberg K. New links between differential and linear cryptanalysis[C]. In: Advances in Cryptology—EUROCRYPT 2013. Springer Berlin Heidelberg, 2013: 388–404. Blondeau C, Bogdanov A, Wang M. On the (in) equivalence of impossible differential and zero-correlation distinguishers for Feistel-and Skipjack-type ciphers[C]. In: Applied Cryptography and Network Security—ACNS 2014. Springer Berlin Heidelberg, 2014: 271–288. Biham E. New types of cryptanalytic attacks using related keys[J]. Journal of Cryptology, 1991, 7(4): 229–246. Biryukov A, Khovratovich D. Related-key cryptanalysis of the full AES-192 and AES-256[C]. In: Advances in Cryptology— ASIACRYPT 2009. Springer Berlin Heidelberg, 2009: 1–18. Bogdanov A, Boura C, Rijmen V, et al. Key difference invariant bias in block ciphers[C]. In: Advances in Cryptology— ASIACRYPT 2013. Springer Berlin Heidelberg, 2013: 357–376. Daemen J, Govaerts R, Vandewalle J. Correlation matrices[C]. In: Fast Software Encryption—FSE 1994. Springer Berlin Heidelberg, 1995: 275–285. Collard B, Standaert F, Quisquater J. Improving the time complexity of Matsui's linear cryptanalysis[C]. In: Information Security and Cryptology—ICISC 2007. Springer Berlin Heidelberg, 2007: 77–88. Daemen J, Knudsen L, Rijmen V. The block cipher SQUARE[C]. In: Fast Software Encryption—FSE 1997. Springer Berlin Heidelberg, 1997: 149–165. Lucks, S. The saturation attack—a bait for Twofish[C]. In: Fast Software Encryption—FSE 2001. Springer Berlin Heidelberg, 2002: 1–15. Biryukov A, Shamir A. Structural cryptanalysis of SASAS[C]. In: Advances in Cryptology—EUROCRYPT 2001. Springer Berlin Heidelberg, 2001: 394–405. Wen L, Wang M. Integral zero-correlation distinguisher for ARX block cipher, with application to SHACAL-2[C]. In: Information Security and Privacy—ACISP 2014. Springer Berlin Heidelberg 2014: to appear. Journal of Cryptologic Research 密码学报 Vol.1, No.3, Jun. 2014 310 作者信息 王美琴(1974–), 宁夏银川人, 博 温隆(1989–), 山东烟台人, 博士生. 士, 教授. 主要研究领域为对称 主要研究领域为分组密码算法的 密码算法的安全性分析. E-mail: mqwang@sdu.edu.cn 分析. E-mail: longwen@mail.sdu.edu.cn ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 中国密码学会各专委会 2014 年 9–10 月主办 学术会议一览 一、2014 年安全协议进展国际会议 主办单位: 中国密码学会安全协议专业委员会 承办单位: 信息安全国家重点实验室 会议时间: 2014 年 9 月(具体待定) 会议地点: 北京 二、2014 年密码算法学术会议 主办单位: 中国密码学会密码算法专业委员会 承办单位: 西安电子科技大学 会议时间: 2014 年 9 月 19–20 日 会议地点: 陕西西安 唐华宾馆 会议网址: http://ste.xidian.edu.cn/cacr/ 三、2014年密码芯片学术会议 主办单位: 中国密码学会密码芯片专业委员会 承办单位: 清华大学微电子学研究所 会议时间: 2014 年 9 月 21–22 日 会议地点: 北京 清华大学 会议网址: http://ste.xidian.edu.cn/cacr/ 四、2014 年全国电子认证技术交流大会 主办单位: 中国密码学会电子认证专业委员会 全国信息安全标准化技术委员会鉴别与授权工作组 承办单位: 中国科学院大学 中国科学院信息工程研究所 会议时间: 2014 年 10 月 16–17 日 会议地点: 北京 中国科学院大学国际会议中心(雁栖湖校区) 会议网址: http://tcca.crypto.cn/CICA2014