首页 理论教育 密钥流生成器的工作原理及应用

密钥流生成器的工作原理及应用

时间:2023-07-02 理论教育 版权反馈
【摘要】:基本的密钥流生成器模型包括状态函数和密钥流生成函数两个主要部分。密钥流生成函数根据当前状态和种子密钥生成当前密钥流。自同步密钥流生成器模型如图3-6所示。目前的密钥流生成器大都基于线性移位寄存器。非线性组合部分是密钥流生成器设计的重点和难点,在二元情况下,非线性组合部分可用布尔函数表示。在密钥流生成器的设计中,除了密钥流的安全性需求外,还要考虑到密钥的易于分配、保管和更换、实现的难度和速度等问题。

密钥流生成器的工作原理及应用

基本的密钥流生成器模型包括状态函数和密钥流生成函数两个主要部分。状态函数依据前面的状态或密文等信息并结合种子密钥产生当前状态。密钥流生成函数根据当前状态和种子密钥生成当前密钥流。根据状态函数是否独立于明文或密文,流密码可分为同步流密码和自同步流密码。

1.同步密钥流的生成

同步流密码中密钥流的产生独立于明文和密文,可用如下方程表示:

978-7-111-37285-1-Chapter03-15.jpg

其中,sii时刻的状态;k*为种子密钥;s0取决于种子密钥的初始状态;f为状态转移函数;ki为生成的i时刻的密钥;h为生成密钥流的函数。

同步密钥流生成器模型如图3-5所示。

同步流密码具有如下特点。

(1)同步要求

在一个同步流密码中,发送方和接收方必须是同步的,即加密/解密过程中要用同样的密钥操作在同样的位置。如果在传输过程中密文字符(或位)有插入或删除导致同步丢失,则解密将失败,这时只有借助其他的加密技术来重建同步,解密才能继续进行。重置同步的技术包括:重新初始化,在密文的规则间隔中设置特殊记号;如果明文包含足够的冗余度,那么就可以尝试密钥流的所有可能偏移。

978-7-111-37285-1-Chapter03-16.jpg

图3-5 同步密钥流生成器模型

(2)无错误传播

在传输期间,一个密文字符(或位)的改变(不是插入和删除)只影响该字符(或位)的恢复,不会对后继字符(或位)产生影响。

(3)主动攻击破坏同步性

作为同步要求的结果,一个主动攻击者对密文字符进行的插入、删除或重放操作都会立即破坏系统的同步性,从而可能被解密器检测出来。作为无错误传播的结果,主动攻击者可能有选择地对密文字符进行改动,并准确地知道这些改动对明文的影响。这说明必须采用其他附加的技术为数据提供源认证并保证数据的完整性。

2.自同步密钥流的生成

自同步流密码也叫异步流密码,其密钥流的产生并不是独立于明文流和密文流的,与种子密钥和前面已经产生的若干数量的密文字有关。自同步流密码的生成可由如下方程描述:(www.xing528.com)

978-7-111-37285-1-Chapter03-17.jpg

其中,k*为种子密钥;ci-t是前t时刻的密文字;s1=(c1-tc2-t,…,c0)是非秘密的初始状态;h为生成密钥流的函数。

自同步密钥流生成器模型如图3-6所示。

978-7-111-37285-1-Chapter03-18.jpg

图3-6 自同步密钥流生成器模型

自同步流密码具有如下特点。

(1)自同步

由于对当前密文字的解密仅仅依赖于固定个数的以前的密文字,因此,当密文字被插入或删除,同步性遭到破坏时,自同步流密码能够自动重新建立正确的解密,只有固定数量的明文字符不能被恢复。

(2)有限的错误传播

假设一个自同步流密码的状态依赖于f个以前的密文字符。在传输过程中,当一个单独的密文字符被改动(或被插入、删除)时,至多会有f个随后的密文字符解密出错,然后再恢复正确解密。

(3)对主动攻击检测困难

相比于同步特性,自同步特性使得主动攻击者发起的对密文字符的插入、删除、重放等攻击只产生非常有限的影响,正确的解密能很快自动重建。因此,自同步流密码体制对这些攻击的检测更为困难,可能需要采用一些附加的技术来为数据提供源认证并保证其完整性。有限的错误传播特性使得主动攻击者对密文字符的任何改动都会引发一些密文字符的解密出错。

(4)明文统计扩散

每个明文字符都会影响其后的整个密文,即明文的统计学特征被扩散到了密文中。因此,自同步流密码体制在抵抗利用明文冗余度而发起的攻击方面要强于同步流密码。

在实际应用中的密钥流生成器一般包括两个部分:驱动部分和非线性组合部分。以上介绍的相当于密钥流生成器的驱动部分,实际上是一个伪随机数生成器,为非线性组合部分提供周期长、统计特性好的伪随机序列。非线性部分将各个时刻的驱动部分的输出作为输入进行非线性组合得到相应时刻的密钥值。目前的密钥流生成器大都基于线性移位寄存器。线性移位寄存器的理论已经成熟,m序列具有良好的随机性,且结构简单、易于实现和运行速度快。非线性组合部分是密钥流生成器设计的重点和难点,在二元情况下,非线性组合部分可用布尔函数表示。最常用的密钥流生成器主要有:基于线性反馈移位寄存器的前馈序列产生器、非线性组合序列产生器、钟控序列产生器等。

一般来说,对密钥流的安全性要求越高,密钥流生成器的设计就越复杂。在密钥流生成器的设计中,除了密钥流的安全性需求外,还要考虑到密钥的易于分配、保管和更换、实现的难度和速度等问题。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈