We use cookies to improve your experience with our site.

对 Achterbahn-Version 1 和 Version 2 的密码分析

Cryptanalysis of Achterbahn-Version 1 and -Version 2

  • 摘要: 序列密码是一种非常重要的对称加密算法。许多序列密码在现实生活中得到了广泛的应用如序列密码RC4,A5和E0等等。多年来,序列密码的安全性是热点研究问题。如何设计安全快速的序列密码是一个非常具有挑战性的研究课题。许多旧的序列密码已被成功攻破,它们不再被认为是安全的。因此需要设计新的序列密码算法。近年来,不断有组织开展计划以征集安全快速的序列密码算法。1999年,欧洲委员会开展了一项名为NESSIE 的计划。但是,经过几轮的评估,没有足够安全的序列密码算法被选出。2004年9月,ECRYPT 开展了一项新的序列密码计划-eSTREAM. 这是一项多年计划。它需要经过几轮的筛选,最终选出安全快速的算法。2005年,有35个候选序列密码算法提交给eSTREAM。它们的安全性还有待分析。序列密码Achterbahn 就是提交的候选算法之一。为了评估候选序列密码Achterbahn 的安全性,本文对它进行了密码分析。很多旧的序列密码都是基于线性反馈移位寄存器和布尔函数。这种结构具有很多优点,但也有一个很大的缺点,即线性反馈移位寄存器的内部状态是线性更新的,它可以被代数攻击利用。这种旧的结构已经被代数攻击成功攻破。因此,eSTREAM 里的候选序列密码算法采用了一些新的结构。Achterbahn 采用非线性反馈移位寄存器和非线性组合布尔函数。区分攻击是分析序列密码算法安全性的一种常用方法。区分攻击的目的是尽力将观察到的密钥流与随机流区分开。通常有两种方式进行区分攻击:第一,区分密钥流输出的概率分布与均匀分布;第二,利用具有明显偏差的线性逼近方程和奇偶校验进行区分。本文对 Achterbahn-Version 1 和 Version 2的简化模式和完整模式提出了区分攻击。 这些区分攻击采用第二种方式区分,它利用输出函数的线性逼近。根据这些线性逼近和寄存器的周期, 可以找到具有明显偏差的奇偶校验。根据这些带有偏差的奇偶校验可以进行区分攻击。在 Achterbahn-Version 1 中, 输出函数有三种可能。这三种可能本文都进行了密码分析。在这三种可能 情况下,我们攻击的时间复杂度和所需要的密钥流比特数分别是 O(2^16),O(2^32),O(2^24) 和 O(2^49.01),O(2^49.01),O(2^48.99) . Achterbahn-Version 2 是 Achterbahn-Version 1 的修改版本,是为了提高它的安全性,为了能抵抗已有的一些对 Achterbahn-Version 1 的攻击。Achterbahn-Version 2 的设计主要是为了阻止基于输出布尔函数逼近的攻击。我们对 Achterbahn-Version 2 的攻击时间复杂度是 O(2^48) 。攻击所需观察到的密钥流比特数是 2^50.4 ,它低于此密码算法设计者给出的上界 2^63 ,因此是有效的。本文的攻击复杂度比已有的攻击复杂度低的多。本文对 Achterbahn-Version 2 的攻击表明, Achterbahn-Version 2 不能抵抗基于线性逼近的攻击。因此,Achterbahn-Version 2 的设计并没有达到增强Achterbahn-Version 1的安全性的目的,它是不安全的。

     

    Abstract: Achterbahn is one ofthe candidate stream ciphers submitted to the eSTREAM, which is theECRYPT Stream Cipher Project. The cipher Achterbahn uses a newstructure which is based on several nonlinear feedback shiftregisters (NLFSR) and a nonlinear combining output Boolean function.This paper proposes distinguishing attacks on Achterbahn-Version 1and -Version 2 on the reduced mode and the full mode. Thesedistinguishing attacks are based on linear approximations of theoutput functions. On the basis of these linear approximations and theperiods of the registers, parity checks with noticeable biases arefound. Then distinguishing attacks can be achieved through thesebiased parity checks. As to Achterbahn-Version 1, three cases that theoutput function has three possibilities are analyzed. Achterbahn-Version2, the modification version of Achterbahn-Version 1, is designed toavert attacks based on approximations of the output Boolean function. Ourattack with even much lower complexities on Achterbahn-Version 2 showsthat Achterbahn-Version 2 cannot prevent attacks based on linearapproximations.

     

/

返回文章
返回