本发明专利技术提供了一种伪随机数据序列的发生器(1),其包括搜索装置(5),用于在N个比特的初始数据序列(9)中对搜索模板(7)进行搜索。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及编码/解码领域,尤其涉及生成伪随机数据序列的系统和方法。本专利技术具有非常有优势的应用,因为它可以产生能进行对称加密的比特序列,其中加密和解密都使用同一密钥。它适用于加密操作和解密操作相同的标准流加密方法。对称加密常用于所有类型的通信中,诸如移动通信(GSM、UMTS等)、因特网(SSL等)、智能卡(银行卡)等。
技术介绍
最普遍的流加密方法利用线性反馈移位寄存器生成与要加密的消息无关的加密序列,以节省硬件。线性反馈移位寄存器的主要缺陷是它们的线性。实际上,由于知道寄存器的若干输出比特等于寄存器长度以及与寄存器相关联的反馈多项式,因此能确定输出比特及寄存器的全部后续状态。因此,要“打破”线性反馈移位寄存器的线性,一般做法就是合并多个寄存器的输出并且也有可能合并它们的内部状态,例如利用非线性布尔函数。图7示出了这种发生器100,也称为“缩减发生装置(shrinkinggenerator)”,其在欧洲专利申请EP0619659中有所描述,包括第一线性反馈移位寄存器111a,第二线性反馈移位寄存器111b,和用于选择发生器100的输出的装置112。因此,在每次移位,两个寄存器111a和111b同时移位;如果第一寄存器111a的输出为1,则设备100的输出等于第二寄存器111b的输出;否则没有输出。缩减发生器不仅合并两个线性反馈寄存器的输出,而且更为常见的是,也合并任何比特序列对。缩减发生器用在由一个线性反馈寄存器控制另外一个的流加密方法中。这一思想首先改变在所用的不同寄存器之间的移位数目,其次是在两个连续比特之间的移位数目,从而打破该寄存器的线性。称作 “自缩发生器(self-shrinking generator)”的一种缩减发生器变型是基于相同的原理但只用一个寄存器。寄存器的输出比特是被两个两个地读取的;第一比特控制第二比特的输出,以便在第一比特为1的情况下系统的输出是第二比特;否则没有输出。仅使用线性反馈寄存器有很多缺陷。主要缺陷是源自设备线性的弱点。如果利用布尔函数合并寄存器,则也存在不利之处。在硬件级别,这些缺点是源于实施这一函数的复杂性。另外,这个函数是固定的,并且很有可能受到攻击。此外,统计方法突显了缩减发生器和其他时钟控制的加密方法的某些弱点。尤其是在缩减发生器中,受两个寄存器影响的、在两个输出比特之间的移位数目对于两个寄存器改变相同的量。最后,缩减发生器的最后一个缺陷是输出比特数目与计算出的比特数目之比较低,平均只有1/4。这一比率对于自缩发生器是相同的,该自缩发生器具有缩减发生器的大部分弱点。
技术实现思路
本专利技术的目的是克服上述缺陷并简化具有高质量的伪随机数据序列的生成。本专利技术的另一目的是提供一种使输出比特数目与计算出的比特数目之比大于1/4的方法和发生器。本专利技术进一步的目的是提供一种非常有效的低成本发生器。上述目的可以通过一种生成伪随机数据序列的方法来实现,其中所述伪随机数据序列是通过一种在N个比特的初始数据序列中对搜索模板(search pattern)进行搜索的过程而生成的。因此,根据本专利技术的方法涉及一种基于对实现一个或多个比特流的非线性合并以获得新比特流的模板的检测来生成伪随机数据的非线性方法。本方法在易于实现的同时,为达到产生高质量的伪随机数据序列的目的也具有其固有的复杂性。搜索过程包括以下步骤-在所述初始数据序列中检测r个比特的特定搜索模板,它是一组搜索模板中的一个;-通过取决于在前步骤的进展的操作,确定k个比特的输出模板;以及-继续重复前述步骤以从一系列输出模板中形成伪随机数据序列。检测所述搜索模板的步骤和确定所述输出模板的步骤,是通过一系列操作来完成的,包括用于定义移动模式的第一组规则,所述移动模式用于在所述初始数据序列上移动窗口以检测所述搜索模板,所述窗口在所述初始数据序列上具有特定的初始位置以及特定的比特长度。所述一系列操作还包括第二组规则,用来确定停止在所述初始数据序列上移动所述窗口的条件。所述第二组规则中的一条规则根据所述窗口的移动和/或内容,来管理所述搜索模板组的更新和/或所述输出模板的更新。所述一系列操作可以重复进行直到满足预定的条件。所述一系列操作有利地在每次执行之后被修改。根据本专利技术的特征,所述一系列操作在每次执行之后保持不变,并且在所述初始数据序列上逐个比特地将窗口连续移动1个比特,以检测1比特的搜索模板并确定1比特的输出模板。在本专利技术的第一实现中,所述一系列操作包括以下步骤-将来自窗口的比特置于搜索模板中; -将窗口从当前比特到下一比特移动一个比特;-如果窗口内容与搜索模板内容相等,则根据第一法则更新输出模板;-如果窗口内容与搜索模板的比特不相等,则根据第二法则更新输出模板;-如果窗口内容与搜索模板的比特不相等,则逐个比特地向下一比特移动该窗口;-将窗口从当前比特到下一比特移动一个比特;以及-输出所述输出模板。在第一实现中,第一法则将特定值b指派给输出模板,而第二法则对特定值b和值1进行模2相加,并将该加法运算的结果赋予输出模板。在第二实现中,第一法则对特定值b和搜索模板的值E进行模2相加,并将该加法运算的结果赋予输出模板,而第二法则对特定值b、搜索模板的值E和值1进行模2相加,并将该加法运算的结果赋予输出模板。在第三实现中,所述一系列操作包括以下步骤-将来自第一窗口的比特置于搜索模板中;-将该第一窗口从当前比特到下一比特移动一个比特;-如果所述第一窗口的内容与搜索模板的值相等,则通过将对第一特定值b1和搜索模板的值E进行模2相加所得出的结果赋予输出模板来更新该输出模板;-如果所述第一窗口内容与搜索模板的值E不相等,则通过将对第一特定值b1、搜索模板的值E和值1进行模2相加所得出的结果赋予输出模板来更新该输出模板;-如果所述第一窗口的内容与搜索模板的值E不相等,则逐个比特地向下一比特移动该第一窗口;-将所述第一窗口从当前比特到下一比特移动一个比特;-用来自第二窗口的比特来替代搜索模板的值;-将所述第二窗口从当前比特到下一比特移动一个比特; -如果所述第二窗口的内容与搜索模板的值相等,则通过将对第二特定值b2、输出模板的当前值s和搜索模板的值E进行模2相加所得出的结果赋予输出模板来更新该输出模板;-如果所述第二窗口的内容与搜索模板的值不相等,则通过将对输出模板的当前值s、第二特定值b2、搜索模板的值E和值1进行模2相加所得出的结果赋予输出模板来更新该输出模板;-如果所述第二窗口的内容与搜索模板的值不相等,则逐个比特地向下一比特移动该第二窗口;-将该第二窗口从当前比特到下一比特移动一个比特;以及-输出所述输出模板。在应用本专利技术时,将所述伪随机数据序列的每个比特与要加密的消息的数据序列中相应的比特通过模2相加进行合并,以构成加密的数据序列。本专利技术还提供了一种伪随机数据序列的发生器,其包括搜索装置用于在N个比特的初始数据序列中对搜索模板进行搜索。所述发生器的搜索装置包括-检测装置,用于在所述初始数据序列中检测r个比特的特定搜索模板,该搜索模板是一组搜索模板中的一个;-确定装置,用于根据取决于对所述搜索模板进行检测的进展的操作,来确定k个比特的输出模板;以及-重复装置,用于从一系列输出模板中生成伪随机数据序列。所述检测装置包括能在所述本文档来自技高网...
【技术保护点】
一种生成伪随机数据序列(3)的方法,其特征在于,所述伪随机数据序列(3)是通过用于在N个比特的初始数据序列(9)中对搜索模板(7)进行搜索的过程而被生成的。
【技术特征摘要】
【国外来华专利技术】
【专利技术属性】
技术研发人员:H赛伯特,A古热,
申请(专利权)人:法国电信公司,卡昂大学,
类型:发明
国别省市:FR[]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。