论文部分内容阅读
随着移动通信的发展,人们对通信的要求不仅仅局限于日常生活的使用,在一些特殊的情况下,如自然灾害区或者偏远地区等,普通的移动网络无能为力,因此,便有了卫星移动通信的发展,尤其是卫星电话的发明,虽然使用范围相对较小,但考虑到应用领域比较特殊,其安全性不可忽视。欧洲电信标准协会(ETSI)提出了两种卫星电话的加密标准:GMR-1和GMR-2算法。其中,GMR-1算法结构借鉴GSM系统中的A5/2算法,是基于四个线性反馈移位寄存器的流密码机制,GMR-2算法作为一种全新的结构,是由三个子组件构成的分组密码机制。针对GMR-1算法,本文首先对该算法与A5/2算法进行差异性分析,据此对现有A5/2算法的时空折中破解方法进行改进,使其适用于GMR-1算法,从而得到该算法的已知明文攻击方法,进而对其复杂度进行分析,经过实际仿真验证可以在双核CPU、8G内存、Windows8.1(32位)操作系统的台式电脑上实现1s内的实时攻击。现有GMR-2的攻击方法有两种,一种是李恒等人于2014年提出的动态猜测决定攻击方法,该方法的数据复杂度较低,但是实时攻击时间较长;另一种是Benedikt等人提出的已知明文攻击方法,但文章并未对该解密算法所涉及的复杂度做详细的分析。本文在Benedikt的基础上,对GMR-2算法的已知明文攻击方法进行深入研究,发现破解该算法的关键是找出产生读碰撞(read-collision)的密钥流来缩小密钥0K的可能取值,因此本文分别通过理论分析和实际验证,将首次发生读碰撞所需的密钥流个数对应为一个离散随机变量模型,从而得出平均在第16个密钥流处首次发生读碰撞,最终恢复出正确的会话密钥。并且得到该破解算法的空间复杂度和时间复杂度,相比猜测决定攻击方法,虽然该方法的数据复杂度较高,但实时攻击阶段所需时间较少,在双核CPU、8G内存、Windows8.1(32位)操作系统的台式电脑上大约0.3秒内便可破解出整个密钥。文章最后对这两种加密算法进行比较,首先比较其攻击复杂度,发现这两种算法各有优缺:GMR-1算法在破解时所需密钥流数据较少,但是预计算阶段的空间和时间复杂度较高;而GMR-2算法破解时无预计算过程,并且实时攻击时间比较短,算法复杂度也较低,但是所需的密钥流数据较多。其次比较其安全性,分别对两个算法的结构进行分析,发现GMR-2算法的安全性是相对较弱的。