书签 分享 收藏 举报 版权申诉 / 21

生成伪随机序列的方法和对数据流进行编码或解码的方法.pdf

  • 上传人:00****42
  • 文档编号:674761
  • 上传时间:2018-03-03
  • 格式:PDF
  • 页数:21
  • 大小:1.83MB
  • 摘要
    申请专利号:

    CN201380026419.8

    申请日:

    2013.05.23

    公开号:

    CN104380651A

    公开日:

    2015.02.25

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):H04L9/00申请日:20130523|||公开

    IPC分类号:

    H04L9/00; H04L9/06

    主分类号:

    H04L9/00

    申请人:

    埃尼格传媒公司

    发明人:

    格拉尔德·维达尔卡桑亚

    地址:

    西班牙基普斯夸省

    优先权:

    12382201.7 2012.05.24 EP; 61/682,964 2012.08.14 US

    专利代理机构:

    北京集佳知识产权代理有限公司11227

    代理人:

    唐京桥; 陈炜

    PDF完整版下载: PDF下载
    内容摘要

    本发明涉及用于对第一数据流进行编码的方法以及用于对第二数据流进行解码的方法,其中所述编码是借助于异或比较操作(XOR)将第一数据流与由伪随机序列形成的第三数据流进行比较的结果。具体地,本发明涉及基于超混沌编码方法以用于生成在编码和解码中所使用的伪随机序列的方法。

    权利要求书

    1.  一种用于生成伪随机序列的方法,其特征在于,所述方法包括以下步骤:
    a)提供初始值微分方程x'=f(x,t),
    b)提供针对所述微分方程的初始值x0=x(t0),
    c)提供针对所述微分方程的积分步长δt以用于进行时间离散化tk=t0+k·δt,k=1,2,3…,
    d)根据所述初始值并且利用所述步长δt来执行所述微分方程的数值积分以用于获得解的近似值xk=x(tk),
    e)通过对所述值xk进行采样来生成第一值序列,所述第一值序列能够数值地表示为0.d0d1d2d3d4…dr…dw·10e形式的浮点型,其中e为指数,w为尾数的长度,d0为所述尾数中的最具代表性数字,并且dr为下述数字:所述数字使得所述解的近似值xk中所述数字以及所述数字左边的所有数字与所述微分方程的解的精确值一致,以及
    f)根据对所述值序列xk的选择来生成具有数字di…dr的伪随机序列,其中i为满足0<i≤r的预定整数值。

    2.
      根据权利要求1所述的方法,其中,在步骤d)中执行n元微分方程组x's=fs(x1,x2,…xn,p1,p2,…pm,t),s=1…n的数值积分,其中n也为未知数的数目并且所述微分方程组包含m个参数pj,j=1…m,使得步骤f)中的所述伪随机序列根据从所述微分方程组中预先选择的n个变量中的一个变量来生成。

    3.
      根据前述权利要求中任一项所述的方法,其中,在步骤f)之后,每个数字d被描绘为具有预先设立的字长D1的二进制,所述数字的连接形成二进制序列。

    4.
      根据前述权利要求中任一项所述的方法,其中,在步骤f)之后,使每个数字d与二进制表示相对应,所述数字的连接形成二进制序列。

    5.
      根据权利要求1至3中任一项所述的方法,其中,预先设立字长D2,并且使用具有D2位的字、根据所述二进制序列来形成整数数字。

    6.
      根据前述权利要求中任一项所述的方法,其中,根据以下步骤将所述伪随机序列扩展成具有较多数目的元素的序列:
    ·预先设立正整数值DIM,
    ·根据所述伪随机序列来构建整数DIM维的两个向量V1和V2
    ·根据乘积V1·V2T来构建DIM×DIM维的扩展矩阵Me,其中V2T为V2的转置向量,以及
    ·借助于连接所述矩阵Me的行来生成扩展序列。

    7.
      根据权利要求6所述的方法,其中:
    ·预先设立值K1,以及
    ·在生成所述扩展序列之前,用由计算所述矩阵Me中的每个元素的K1模所产生的值来替代所述矩阵Me中的每个元素。

    8.
      根据权利要求6或7所述的方法,其中:
    ·除所述向量V1和V2之外,根据所生成的伪随机序列来构建整数DIM维的向量V3,以及
    ·在借助于连接所述矩阵Me的行来生成所述扩展序列之前,在所述矩阵Me的行中的每行上,根据通过所述向量V3的相同行所设立的整数值将Me的行中的每行沿预先设立的方向循环地旋转整数次。

    9.
      根据权利要求6至8中任一项所述的方法,其中:
    ·预先设立值K2,所述值K2优选地为所述DIM值,以及
    ·用由计算所述向量V3中的每个元素的K2模所产生的值来替代所述向量V3中的每个元素。

    10.
      根据权利要求6至8中任一项所述的方法,其中,对于借助于连接所述矩阵Me的行来生成所述扩展序列,计算仅每行的值以避免存储完整矩阵Me

    11.
      一种用于对数据流进行编码以借助于编码流来发送所述数据的方法,其中,所述编码是借助于异或比较操作(XOR)将所述数据流与由伪随机序列形成的第二数据流进行比较的结果;或者一种用于对编码数据流进行解码的方法,其中,所述解码是借助于异或比较操作(XOR)将所述编码数据流与由伪随机序列形成的第二数据流进行比较的结果,其特征在于,所述伪随机序列的生成借助于根据权利要求1至10中任一项所述的方法来实现。

    12.
      根据权利要求11所述的方法,其中,执行以下步骤:
    ·确定积分时间T,
    ·提出能够以以下方式表示的用于生成编码序列的摄动方程组以及初始值:
    x1A=f1(x1,x2,...,xn,p1,p2,...,pm,t)+&epsiv;1A(x1B-x1A),x2A=f2(x1,x2,...,xn,p1,p2,...,pm,t)+&epsiv;2A(x2B-x2A),...xnA=fn(x1,x2,...,xn,p1,p2,...,pm,t)+&epsiv;nA(xnB-xnA),]]>
    ·提出能够以以下方式表示的用于生成解码序列的摄动方程组以及不一定与所述针对编码序列的生成所提出的初始值一致的初始值:
    x1B=f1(x1,x2,...,xn,p1,p2,...pm,t)+&epsiv;1B(x1A-x1B),x2B=f2(x1,x2,...,xn,p1,p2,...,pm,t)+&epsiv;2B(x2A-x2B),...xnB=fn(x1,x2,...,xn,p1,p2,...,pm,t)+&epsiv;nB(xnA-xnB),]]>
    ·在对所述数据进行编码和解码之前,通过在时间T上对两个摄动方程组进行积分来生成第一编码序列和第一解码序列,其中,两个方程组借助于乘以s=1…n的项相耦和,为正值,中至少与所述编码相关联的方程组中的一个值以及与所述解码相关联的方程组中的另一值为非空值,使得在所述积分期间通过交换信道来执行至少下述变量x1,x2,…xn的值的交换直到两个方程组收敛为止,所述变量x1,x2,…xn是乘以非空值s=1…n的变量,以及
    ·在不交换耦合值并且不并入具有s=1…n的项的情况下,根据在前一步骤所执行的积分中实现的独立地用作初始条件的值,通过对相同方程进行积分来提供数据编码序列和数据解码序列。

    13.
      根据权利要求12所述的方法,其中,所述交换信道借助于公钥进行加密。

    14.
      一种消息编码器,所述消息编码器适合于执行用于对数据流进行编码以借助于编码流来发送所述数据的方法,其中,所述编码是借助于异或比较操作(XOR)将所述数据流与由伪随机序列形成的第二数据流进行比较的结果,其特征在于,所述伪随机序列的生成借助于根据权利要求 1至10中任一项所述的方法来实现。

    15.
      一种加密消息解码器,所述加密消息解码器适合于执行用于对编码数据流进行解码的方法,其中,所述解码是借助于异或比较操作(XOR)将所述编码数据流与由伪随机序列形成的第二数据流进行比较的结果,其特征在于,所述伪随机序列的生成借助于根据权利要求1至10中任一项所述的方法来实现。

    16.
      一种通信系统,包括至少一个根据权利要求14所述的编码器以及至少一个根据权利要求15所述的解码器。

    说明书

    生成伪随机序列的方法和对数据流进行编码或解码的方法
    技术领域
    本发明涉及用于对第一数据流进行编码以产生第二编码数据流的方法,并且涉及用于对该第二数据流进行解码的方法,其中,所述编码是借助于异或比较操作(XOR)将所述第一数据流与由伪随机序列形成的第三数据流进行比较的结果。具体地,本发明涉及基于超混沌编码方法以用于生成在编码和解码中所使用的伪随机序列的方法。
    背景技术
    本发明涵盖在安全通信的信息流编码领域内。具体地,本发明涵盖在基于超混沌系统的方法的领域内,所述方法中的一些在现有技术中是已知的。
    在将消息从发射器A发送至接收器B的简单通信情况下,通过使得A和B可以分别进行编码和解码的方法对此消息进行编码。
    编码信息被称为密码或加密消息,并且通过通信信道来发送此编码信息。该消息由任何长度的比特流形成,并且A和B分别生成用于编码和解码的二进制序列。这些二进制序列为加密序列。
    如果利用用于A的加密序列、通过执行二进制XOR(异或)操作对来自A的消息进行加密,则在应用于A的加密序列与应用于B的加密序列相同时在B中恢复原始消息,该XOR操作的表格在表1中示出。
    表1:XOR表格

    原始消息(M)加密序列(S)加密消息(M XOR S)000011101

    110

    本发明基于由相同作者在论文“Vidal,G.Sincronización y control de sistemas dinámicos en régimen de caos espacio-temporal(Synchronization and control of dynamical systems in space-time chaos)(博士论文,纳瓦拉大学,西班牙,2010)”中所公布的文献,其详述了用于基于超混沌系统来获得随机序列的方法以及根据动态系统所生成的序列。
    动态系统是其状态随时间演变的系统。在所述状态下的行为可以通过在识别所涉及元素以及它们的关系之后确定系统的行为方程来进行建模。借助于微分方程或微分方程组所建模的动态系统使得能够通过求解所述方程或方程组来在该系统的行为方面对该系统进行描述。特别地,可以以x'(t)=f(t,x(t))的形式来表示一阶微分方程初始值问题,其中x(t)是系统的作为时间t的函数的解,并且其中初始条件为x(t0)=x0。如果不是常微分方程,系统需要使用较多变量,那么x为属于Rn空间的向量变量,n是方程组的维数,并且其中向量x的每个分量是作为时间的函数的变量。
    混沌加密基于关于安全通信系统的混沌理论的使用。混沌理论研究对初始条件的较小变化具有高响应灵敏度的确定性系统。
    当编码开始时对系统A和系统B进行同步。这意指在两个系统中正生成相同的随机序列以使得能够在通信的两端处使用XOR运算符对消息进行编码和解码。如果该同步未发生,则解码消息将不是原始编码消息。
    在前述论文文献中所描述的方法提出了一种用于生成随机序列的方法,其中两个系统A和B对各自的微分方程组进行求解。目的在于寻找遵循由C.E.Shannon在“Shannon,C.E.[1949]“Communication Theory of Secrecy Systems”Bell System Technical Journal(贝尔系统技术杂志)28,656-715页”中的理论方法的加密,该文献指出了使消息遵循“完全保密”的必要充分条件为加密并非在概率上取决于消息,因此概率方法不能用于揭示该消息的属性。由Shannon所做出的另一重要结论为:如果密钥的长度不会带来不便,则弗纳姆密码是最合适的。弗纳姆密码具有3个基本特征:
    1.密钥,在该情况下为加密序列,必须与要加密的消息一样长。
    2.一旦已经被使用,该密钥不能被再次使用。出于此原因,弗纳姆 密码也被称为“一次性密码本”。
    3.密钥由随机均匀分布的符号的列表组成。
    第一属性要求密钥足够长。理论上,当使用混沌动态系统时,轨迹可以在不曾变得具有周期性的情况下根据需要尽可能地长。在计算机中不可能具有无限长度的序列,但是这可以在舍入误差不影响方法的情况下通过对时间段进行积分以足够的精度来实现,并且这些时间段根据要处理的情况的需要而足够长。
    第二属性可以通过禁止初始条件的值重复的软件容易地实现。
    在论文文献中所描述的加密和解密技术的特定情况设立了两个与初始值问题相关联的耦合微分方程组。在这些方程组中,一个用于生成加密密钥,而另一个用于生成解密密钥,使得即使它们始于不同的初始条件,但是由于耦合项,它们也在确定时间段上积分之后根据相同的解而结束演变。
    存在两个用于执行耦合以确保通信终端真实性的选项:动态系统的耦合参数的值是公共的,并且存在能够对消息接收器进行认证的第三方;或者通过安全信道——例如通过使用RSA(Rivest、Shamir和Adleman)密钥或Diffie-Hellman密钥——来交换动态参数的值。
    第二属性也可以通过禁止耦合因子重复的软件来实现。
    在现有技术中的大多数已知情况下,这两种属性涉及通过通信信道来传递大量密钥并且成本过高。然而,在论文文献所描述的示例中,仅发送一组参数。这些参数提供对与在包含轨迹的相空间中找到的“数字”点一样多的一组密钥的访问。然而,为了得知具体密钥,必须执行系统A和系统B之间的同步处理;即,必须对两个系统足够长地积分,以认为在两个系统中所获得的作为时间的函数的解是相同的,或者其差异低于非常小的阈值或低于在利用计算机完成工作的情况下被称为“机器误差”的值。
    第三属性需要随机信号;然而,起始点却是确定性系统。系统的动态属性以及信号白化处理用于执行该处理。连续的确定性信号甚至超混沌信号的主要问题之一为:这些信号可以被如此容易地跟踪。这意指探密者可以通过获知之前时刻值而或多或少正确地估算信号的下个值。因此,可能的探密者可以限制可能的初始条件直到最终揭示密钥为止。白化处理用于防止这样的攻击。论文文献描述了使得能够将连续信号转换成二进制信号的白化处理。开始时,需要高度不相关的连续信号,从而将加密消息的统 计信息最小化。
    论文文献描述了基于超混沌系统具有下述连续信号的事实的方法:该连续信号的时间自相关会快速丧失。另一方面,还期望序列生成系统是高维系统,因此在所求解方程组的解中较难出现周期解,而周期解却是在利用计算机化的混沌进行工作时的典型问题。如果在方程组的解中存在周期性,则有助于探密者的工作,原因在于他/她会具有测量系统的统计量的时间参考。
    用于编码的方法必须遵循的另一需求在于:确保加密消息与原始消息之间不存在双射函数,或者其在密码学中被称为逆函数问题。为此,使用信号白化方法,从而消除相信息和幅度信息中的大多数信息。因此,连接消息和密码的函数将不再是双射的,因而,同一个加密比特流可以具有不同的意义。然而,由于两个系统被同步,因此它们将始终具有相同的未加密消息。
    除未生成完全不相关的伪随机序列的事实之外,由论文文献所提出的信号白化方法的主要技术问题在于所涉及的高计算成本。
    发明内容
    本发明借助于下述方法解决了上述问题:根据权利要求1所述的用于生成伪随机序列的方法、根据权利要求11所述的用于对数据流进行编码或对编码数据流进行解码的方法、根据权利要求14所述的消息编码器、根据权利要求15所述的加密消息解码器以及根据权利要求16所述的通信系统。从属权利要求限定了本发明的优选实施方式。
    本发明的第一创新性方面为一种用于生成伪随机序列的方法,该方法包括以下步骤:
    a)提供初始值微分方程x'=f(x,t),
    b)提供针对所述微分方程的初始值x0=x(t0),
    c)提供针对所述微分方程的积分步长δt以用于进行时间离散化tk=t0+k·δt,k=1,2,3…,
    d)根据所述初始值并且利用所述步长δt来执行所述微分方程的数值积分以用于获得解的近似值xk=x(tk),
    e)通过对所述值xk进行采样来生成第一值序列,所述第一值序列能 够数值地表示为0.d0d1d2d3d4…dr…dw·10e形式的浮点型,其中e为指数,w为尾数的长度,d0为所述尾数中的最具代表性数字,并且dr为下述数字:所述数字使得所述解的近似值xk中所述数字以及所述数字左边的所有数字与所述微分方程的解的精确值一致,以及
    f)根据对所述值序列xk的选择来生成具有数字di…dr的伪随机序列,其中i为满足0<i≤r的预定整数值。
    开始生成伪随机序列的第一步骤是:设立将被用于生成用于加密的伪随机序列的动态系统。该动态系统是用微分方程的解定义的,该解x(t)被简称为x。在针对初始值问题的积分提供初始值以及由时间离散化所产生的积分步长之后,根据初始值对微分方程进行数值积分以计算解x(t)。换言之,通过在给定的初始值x0=x(t0)下针对每个时刻tk=t0+k·δt,k=1,2,3…计算方程x'=f(x,t)的数值解x(t),获得实际值的序列xk
    值序列xk可以表示成浮点型,其中所述表示可以被表示为xk=.d0d1d2d3d4…dr…dw·10e,其中e为指数,w为尾数的长度,d0为所述尾数中的最具代表性数字,并且dr为下述数字:所述数字使得所述解的近似值xk中所述数字以及所述数字左边的所有数字与所述微分方程的解的精确值一致。一旦完成上述步骤,根据对所述值序列xk的选择来生成具有数字di…dr的伪随机序列,其中i为满足0<i≤r的预定整数值;即,使用遵循以下规则的实际数的数字:
    ·它们属于尾数,
    ·它们是与xk的精确解一致的数字,
    ·它们不是最具代表性的。
    从xk的选择中进行选取会产生下述值的集合:当上述值在时间线上较分离时,这些值将较不相关。
    不是实际数xk的最具代表性数字的最后一个属性提供下述优点:生成在可能的最短时间内相对于彼此不相关的值的序列。在消除较具代表性数字之间的相关性后,获得其中的值不相关的序列。
    根据现有技术,为了减小样本之间的相关度,对选择元素xk之间的距离进行加宽。拉开选择元素xk的距离涉及:借助于数值积分来评估多个中间点直到获得新的样本xk为止。反过来,由于需要大量的中间函数和计算,所以每个步骤的积分涉及高计算成本。
    相比之下,即使减少了针对生成用于进行编码或解码的数据流所使用的数字的数目,本发明仍然使得能够大幅度地减少选择的样本xk之间在时间变量上的距离。换言之,针对同一次积分,使用较多数目的样本,从而显著地增大了针对相同计算成本所生成的随机不相关数字的量。
    本发明的第二创新性方面为:一种用于对数据流进行编码以借助于编码流来发送所述数据的方法,其中所述编码是借助于异或比较操作(XOR)将所述数据流与由伪随机序列形成的第二数据流进行比较的结果;或者一种用于对编码数据流进行解码的方法,其中所述解码是借助于异或比较操作(XOR)将所述编码数据流与由伪随机序列形成的第二数据流进行比较的结果,其特征在于,所述伪随机序列的生成借助于根据第一创新性方面所述的方法来实现。
    如以上所说明的,在系统A和系统B中生成的序列必须相同,使得在通信的两侧上应用XOR操作时,在B中获得原始消息。通过在两个系统中求解相同的微分方程并且在相同步骤之后生成伪随机序列,以相同优点实现了该条件。
    第三创新性方面为一种消息编码器,所述消息编码器适合于执行用于对数据流进行编码以借助于编码流来发送所述数据的方法,其中所述编码是借助于异或比较操作(XOR)将所述数据流与由伪随机序列形成的第二数据流进行比较的结果,其特征在于,所述伪随机序列的生成借助于根据第一创新性方面所述的方法来实现。
    第四创新性方面为一种加密消息解码器,所述加密消息解码器用于执行用于对编码数据流进行解码的方法,其中所述解码是借助于异或比较操作(XOR)将所述编码数据流与由伪随机序列形成的第二数据流进行比较的结果,其特征在于,所述伪随机序列的生成借助于根据第一创新性方面所述的方法来实现。
    第五创新性方面为一种通信系统,所述通信系统包括至少一个根据第三创新性方面所述的编码器以及至少一个根据第四创新性方面所述的解码器。
    在特定实施方式中,通信系统为移动通信系统。将初始值x0从通信中心提供至两个系统。如果例如A和B为移动终端,则该通信中心可以为BTS基站(基站收发信台)。在此实施方式中,在系统的两端生成相同的随机序列以使得能够通过应用XOR运算符来恢复原始消息。由于对具 有相同初始值的相同微分方程求解,所以这些序列是相同的。
    附图说明
    参照通过说明性而非限制性的示例所提供的附图,根据以下对优选实施方式的详细描述,将更好地理解本发明的前述以及其他的优点和特征。
    图1示出了两个终端A和B之间的通信以及参与编码的元素的实施方式;
    图2描绘出微分方程x'=f(x,t)的解的实施方式;
    图3描绘出用×所标记的所采样非相关值;以及
    图4描绘出系统的特定实施方式,其中示出不同的功能性元件,例如对可以表示为x's=fs(x1,x2,…xn,p1,p2,…pm,t),s=1…n的形式的微分方程组进行求解的模块、选择每个xk的数字范围的模块、生成被称为扩展矩阵Me的矩阵的行的生成器模块以及其他模块。
    具体实施方式
    本发明应用于对通信系统的两端之间传输的消息进行编码的处理。因此,如图1中所示,在通信的第一端A使用XOR运算符、以加密序列S对消息M进行编码。通过传输信道来发送加密消息(M XOR S)。在通信的相对端B通过再次应用XOR运算符对加密消息进行解码。本发明着重于生成在通信的每端一致的编码序列S以使得在B中能够通过应用XOR运算符来获得消息M。编码序列S为伪随机序列。
    本发明提出一种用于对数据流进行编码以借助于编码流来发送所述数据的方法,其中所述编码是借助于异或比较操作(XOR)将所述数据流与由伪随机序列形成的第二数据流进行比较的结果,其特征在于,所述伪随机序列的生成包括以下步骤:
    a)提供初始值微分方程x'=f(x,t),
    b)提供针对所述微分方程的初始值x0=x(t0),
    c)提供针对所述微分方程的积分步长δt以用于进行时间离散化tk=t0+k·δt,k=1,2,3…,
    d)根据所述初始值并且利用所述步长δt来执行所述微分方程的数值 积分以用于获得解的近似值xk=x(tk),
    e)通过对所述值xk进行采样来生成第一值序列,所述第一值序列能够数值地表示为0.d0d1d2d3d4…dr…dw·10e形式的浮点型,其中e为指数,w为尾数的长度,d0为所述尾数中的最具代表性数字,并且dr为下述数字:所述数字使得所述解的近似值xk中所述数字以及所述数字左边的所有数字与所述微分方程的解的精确值一致,以及
    f)根据对所述值序列xk的选择来生成具有数字di…dr的伪随机序列,其中i为满足0<i≤r的预定整数值。
    本发明还提出了一种用于借助于根据第一创新性方面所述的方法对编码数据流进行解码的方法,其中所述解码是借助于异或比较操作(XOR)将所述编码数据流与由伪随机序列形成的第二数据流进行比较的结果,其特征在于,所述伪随机序列的生成包括根据第一创新性方面所述的方法中的步骤a)至f)。
    图2的图示用作示出所描述优点的实施方式,其中借助于连续曲线描绘出微分方程x'=f(x,t)针对具体初始值的解。在选择积分步长之后,借助于用于对初始值问题进行积分的方法例如通过使用显式计算方法来获得数值近似值。
    即使这样,连续步长之间的解的值是高度相关的,并且必须对多个积分步长进行积分,以使得能够取得所述值以使用其数字来生成加密或解密序列。
    一个示例是初始值问题的积分,其使得能够获得伪随机解,例如在示出从0至500秒的时间空间的图2中所示的。选择从由数值积分法产生的值中所提取的三个值,这些值在图3中的借助于相同积分法所获得的解的曲线上突出显示。这三个值的尾数为以下数字:
    0.71(11)76(对于t=0s)
    -0.28(60)51(对于t=160s)
    -0.49(14)38(对于t=320s)。
    三个值中的每个值的指数仅被考虑为将小数点右侧的第一个数字设立为尾数的第一非空数字。
    在该值序列中,已经用括弧突出显示了数字,其中最重要的数字留在左侧,而可能会由于执行积分的计算机的架构而受舍入误差影响的数字留 在右侧。
    对较不重要数字的这种选择消除了值之间的时间相关性。
    虽然实际数能够以多种形式表示,但是本方法考虑由该特定表示所产生的数字(不考虑指数)。
    使用舍弃掉下述数字的一组数字的方法是利用表示实际值(该值属于实际数的主体)的特定方式来实现本发明的方式,原因在于该组数字也可以以如上所述的用于对数据流进行编码的方法中的步骤e)中所表示的形式来表示,其中被舍弃的数字为:
    ·最重要的数字;以及
    ·与舍入误差相对应的数字。
    左侧的括弧和右侧的括弧处于将与根据权利要求1所述的方法中的步骤f)相对应的数字di…dr留在其内的位置中。取决于每个示例,括弧的位置并且因此数字di…dr的范围将不同,其在应用积分之前预先设立。
    连接括弧内的数字将产生序列:116014。鉴于所要求保护的方法的优点之一允许取在时间上较接近的样本,所以可以使用同一个时间范围内提供用于生成序列的始终满足不相关属性的数字的较多值。
    在本发明的一个实施方式中,在用于编码和解码的方法的步骤d)中,执行具有n个未知数的n元微分方程组——即x's=fs(x1,x2,…xn,p1,p2,…pm,t),s=1…n,其中n为未知数的数目,并且m为参数pj的数目,j=1…m——而非一个微分方程的数值积分,从而根据从微分方程组中预先选择的n个变量中的一个变量来生成步骤f)中的伪随机序列。方程组提供下述优点:感兴趣的变量取决于其他变量的变化,因此探密者较不可能在从A至B的发送期间成功地再现相同的伪随机序列来对编码消息进行解码。
    在方法的一个实施方式中,执行以下步骤:
    ·确定积分时间T,
    ·提出可以以以下方式表示的用于生成编码序列的摄动方程组以及初始值:
    x1A=f1(x1,x2,...,xn,p1,p2,...pm,t)+&epsiv;1A(x1B-x1A),]]>
    x2A=f2(x1,x2,...,xn,p1,p2,...pm,t)+&epsiv;2A(x2B-x2A),]]>
    ...
    xnA=fn(x1,x2,...,xn,p1,p2,...pm,t)+&epsiv;nA(xnB-xnA),]]>
    ·提出可以以以下方式表示的用于生成解码序列的摄动方程组以及不一定与针对编码序列的生成所提出的初始值一致的初始值:
    x1B=f1(x1,x2,...,xn,p1,p2,...pm,t)+&epsiv;1B(x1A-x1B),]]>
    x2B=f2(x1,x2,...,xn,p1,p2,...pm,t)+&epsiv;2B(x2A-x2B),]]>
    ...
    xnB=fn(x1,x2,...,xn,p1,p2,...pm,t)+&epsiv;nB(xnA-xnB),]]>
    ·在对所述数据进行编码和解码之前,通过在时间T上对两个摄动方程组进行积分来生成第一编码序列和第一解码序列,其中两个方程组借助于乘以s=1…n的项相耦和,为正值,中至少与编码相关联的方程组中的一个值以及与解码相关联的方程组中的另一值为非空值,使得在所述积分期间通过交换信道来执行至少下述变量x1,x2,…xn的值的交换直到两个方程组收敛为止,所述变量x1,x2,…xn是乘以非空值s=1…n的变量,以及
    ·在不交换耦合值并且不并入具有s=1…n的项的情况下,根据在前一步骤所执行的积分中实现的独立地用作初始条件的值,通过对相同方程进行积分来提供数据编码序列和数据解码序列。
    使用摄动方程组的优点在于:通过引入耦合因子s=1…n,在不需要在两个系统A和B中针对时间T上的积分选择一致的初始条件的情况下实现两个方程组的收敛。表示为的耦合项可以被解读为反馈信号。当系统处于完全同步状况时,这些项彼此抵消。此时,两个系统A和B再现相同的轨迹。测量与小的预先设立阈值相比的差异是确定系统是否同步的标准的示例。
    这意指如果值在一定时间内到达系统A并且则系统将是同步的。因此,不必在积分之前共享信息,使得在不交换易被探密者拦截的信息的情况下实现安全通信。这是对称加密的情况。
    该情况意指:两个系统必须通过公共信道来传送它们的变量,使得在通信两端即A和B处知道何时已经达到同步即知道两个系统中的变量何时具有相同值。执行此变量交换的时间间隔不一定需要与积分时间T一致。当检测到已经实现变量的值的收敛时,取使其属于在确保系统同步之后所获得的解的时刻——并且务必在两个系统中为相同时刻——下的解的值作为初始值,开始A中的消息的编码并且随后发送编码消息。在一个实施方式中,该值是在两个系统中所实现的积分的最后一个值。
    在本发明的特定实施方式中,通过借助于公钥所加密的交换信道来执行变量的交换。这提供了向通信系统提供安全性的优点,原因在于即使所交换的变量的值是已知的,但由于方程组是未知的所以不可能推导出解;甚至在该秘密已经被公开的情况下,鉴于所交换的参数被加密,所以也不可能得知解的演变。
    在本发明的特定实施方式中,通过实现用于编码和解码的方法,在步骤f)之后,每个数字d被描绘为具有预先设立的字长D1的二进制,并且将其连接成二进制序列。
    这种表示实际数的方式提供了使用计算机的内部表示来直接生成伪随机序列的技术优点。因此,在该实施方式中已经获得下述结果:该结果示出通过取得从xk=x(tk)中所选择的值的数字di…dr来节省计算量的优点。因此,存在从与在不应用根据本发明的方法的情况下通过取所有数字来找到两个不相关值所需的时间相比显著较短的时间内的xk和xk+1所取的两个不相关值。在特定实施方式中,使用di的经验值,对于此经验值,已知的是值会在大半时间内不相关。
    根据本发明的方法需要针对每个样本选择一组数字,并且同时允许使用同一个积分周期内的较多样本。已经证实,较多数目的样本会抵偿数字减少,从而所产生的方法与现有技术中所描述的那些方法相比显著较有效。
    另一方面,通过位消除所引入的技术效果在于:这使对伪随机码并且因而对消息进行解码的统计攻击的执行复杂化。
    在特定实施方式中,在步骤f)之后,使每个数字d与具有字长D1的二进制表示相对应,并且将其连接成二进制序列。
    作为说明性示例,取D1=5,xk=0.563124,xk+1=0.648521,r=6,i=4,使得伪随机序列段为:
    ·xk的d4…d6:124→每个数字具有5位的二进制表示:000010001000100,
    ·xk+1的d4…d6:521→每个数字具有5位的二进制表示:001010001000001,
    因此,根据对值xk和xk+1的选择所生成的伪随机序列段为以下连接:124521→(并且在二进制下)000010001000100001010001000001。
    在一个实施方式中,预先设立字长D2,并且根据取具有D2位的字的二进制序列来形成整数数字。
    继续此实施方式,如果D2=3,则根据以上所生成的序列来形成3位的组并且获得其十进制数字的表示:
    000010001000100001010001000001→0210412101
    在一个实施方式中,在应用异或比较操作(XOR)之前,根据以下步骤将伪随机序列扩展成具有较多数目的元素的序列:
    ·预先设立正整数值,
    ·根据所生成的伪随机序列来构建整数DIM维的两个向量V1和V2,例如通过取序列的DIM个值完成V1并且取序列的下一DIM个值完成V2
    ·根据乘积V1·V2T来构建DIM×DIM维的扩展矩阵Me,其中V2T表示V2的转置向量,以及
    ·借助于连接矩阵Me的行来生成扩展序列。
    继续此实施方式,如果伪随机序列为02104121..,那么在DIM为3时:
    ·V1=021(列向量)
    ·V2=041(列向量)
    ·Me=021&CenterDot;041=000082041]]>
    ·扩展序列=000082041,
    因此,在此特定实施方式中,从3个数字的两个向量开始,有利地获得9个数字的集和,从而在以行的形式提取这些数字时产生新向量,由此特别是满足所发送序列与起始方程之间的不相关性或不关联性并且增大了使探密者的工作复杂化的随机度。此外,由于相对于起始数目的数字获得了“增加”数目的数字,所以计算效率提高,因此需要较少的输入位来生成具有特定数目的位的序列。
    在特定实施方式中,在生成扩展矩阵之后执行以下步骤:
    ·预先设立值K1
    ·在生成扩展序列之前,用由计算矩阵Me中的每个元素的K1模所产生的值来替代矩阵Me中的每个元素。
    继续此示例,如果扩展矩阵为:
    Me=000082041]]>
    并且K1=3,
    那么如果K模操作为其结果是使用第一整数除以第二数得到的余数的操作,则获得以下矩阵:
    Me=000022011,]]>
    那么伪随机序列为:S=000022011。
    其中针对在[1,10]的范围内的K值来应用K模操作的此操作模式提供下述优点:能够利用具有单个数字的数在[0...9]的范围内的十进制系统中工作。这在下述情况下是有利的:由于Me是乘积的结果而存在其元素具有约为数百的非常高的值的矩阵,并且因此用这些元素进行工作会较昂贵。
    在特定实施方式中,另外地执行以下步骤:
    ·除向量V1和V2之外,根据所生成的伪随机序列来构建整数DIM维的向量V3,以及
    ·在借助于连接矩阵Me的行来生成扩展序列之前,在所述矩阵Me的行中的每行上,根据通过向量V3的相同行所设立的整数值将Me的每行沿预先设立的方向循环地旋转整数次。
    如果将在以上特定实施方式中所示出的用作示例,则起始伪随机序列应当是S=0210412101。
    因此,
    ·V1=021(列向量)
    ·V2=041(列向量)
    ·V3=210(DIM=3维的列向量)
    ·Me=021&CenterDot;041=000082041]]>→旋转行→000208041;]]>
    因此,第一行已经顺时针旋转两次,第二行已经旋转一次,并且第三行尚未旋转。再者,优点在于:随机度和不相关度增大,从而防止探密者能够推导起始序列并且因此防止探密者能够推导用于生成随机序列的微分方程。
    在特定实施方式中,在生成向量V3之后还执行以下步骤:
    ·预先设立值K2,所述值K2优选地为DIM值,
    ·在执行循环旋转之前,利用由计算向量V3中的每个元素的K2模所产生的值来替代向量V3中的每个元素。
    这防止了V3中的元素具有较高的值,其中较高的值会导致将Me的行旋转多次,甚至多于矩阵自身的维数,从而产生冗余任务。该操作使计算成本最优化。
    如果考虑其中V3的元素的值较高的说明性示例,则获得以下内容:
    ·起始伪随机序列为S=0210418971,
    因此,
    ·V1=021(列向量)
    ·V2=041(列向量)
    ·V3=897(DIM=3维的列向量)
    ·Me=021&CenterDot;041=000082041]]>→旋转行→000082104.]]>
    如果将行旋转由向量V3的行所指示的次数,则将获得如同在使V3的每行对3取模的情况下已经分别旋转2次、0次和1次一样的相同结果。
    在特定实施方式中,代替完全地计算矩阵Me以开始利用伪随机序列并且利用XOR运算符进行工作,计算矩阵的行并且利用所计算的行来进行工作。不一定先构建矩阵然后再提取数据流。因此,如图4中所示,系统较快地工作,并且不一定在存储器中存储整个矩阵而仅存储要提取的行,并且直接利用所提取的行进行工作。这提供了最大程度的系统效率。有利地,利用扩展矩阵,可以降低对在处理器和存储器二者中实现该方法的系统的需求,使得能够在并不非常强大的硬件中实现该方法。
    图4示出了具有生成伪随机序列S的功能性元件的系统,利用该伪随机序列S对消息M进行编码。相同的附图示出了具有不同元件的系统A。
    区分求解方程组的第一模块1:
    x1A=f1(x1,x2,...,xn,p1,p2,...pm,t)+&epsiv;1A(x1B-x1A),]]>
    x2A=f2(x1,x2,...,xn,p1,p2,...pm,t)+&epsiv;2A(x2B-x2A),]]>
    ...
    xnA=fn(x1,x2,...,xn,p1,p2,...pm,t)+&epsiv;nA(xnB-xnA),]]>
    同样区分下述模块:
    ·将解xk缩短为其数字di…dr的第二模块2。
    该第二模块2使得能够针对每个样本xk来提取产生随后将被处理的伪随机序列的数字。在一个实施方式中,该模块可以为适合于执行下述方法的计算机程序代码段:该方法执行从计算机中内部表示的实际数的值中选择相应数字。
    ·获得向量V1、V2和V3的第三模块3。
    该第三模块3使用来自第二模块2的数字的连接,并且对这些数字的连接进行表示使得在给定的维数DIM下生成向量V1、V2和V3。在一个实施方式中,第三模块3为适合于执行下述方法的计算机程序代码段:该 方法在给定的预先设立维数DIM以及通过第二模块2提供的整数值序列下生成向量V1、V2和V3
    ·获得V1对K1取模、V2对K1取模以及V3对K2取模的第四模块4。
    第四模块4利用向量V1、V2和V3中的每个元素进行工作,使得向量V1、V2和V3中的元素的值分别除以值K1、值K1和值K2并且获得每个元素的余数。结果为下述三个向量:这三个向量中的元素为根据由第四模块4应用的除法所获得的余数。在一个实施方式中,第四模块4为适合于执行下述方法的计算机程序代码段:该方法如所描述的那样进行工作并且从模块例如第三模块3获得向量V1、V2和V3,其中值K1可以预先设立。
    ·生成矩阵Me的行的第五模块5,在所示实施方式中的每行为:第一行Me1,第二行Me2以及第三行Me3
    在一个实施方式中,第五模块5是利用向量V1、V2和V3以下述方式进行工作的计算机程序段:首先,执行向量积V1·V2T。该乘积可以以行来执行而不需要完成矩阵并且不需要将该矩阵完全存储。矩阵的第i行可以由值V1i.V2j形成,其中V1i是向量V1的第i个分量并且V2j是向量V2的第j个分量,其中j将遍布向量V2和矩阵的所有列。在获得第一行之后,该模块将第一行旋转与V3的第一元素的值相等的次数,并且提供结果。第五模块5以此方式利用每行连续地工作直到完成操作(V1·V2T)旋转V3为止。
    所生成的伪随机序列S是按照生成顺序的行的连接。该序列S借助于XOR运算符与原始消息M一起工作,并且其结果通过通信信道进行发送。
    特定实施方式
    特定实施方式始于从混沌动态系统所生成的信号xk。从该信号取得相对于彼此不相关的具体值:
    m1=0.98754213
    m2=0.98214356
    m3=0.61102348
    m4=0.62021309
    m5=0.41102441
    m6=0.35000227
    从每个样本中去除最重要的数字以及由于用于积分的计算机的架构而引起舍入误差的数字,使得获得下述数字:
    s1=75421
    s2=21435
    s3=10234
    s4=02130
    s5=10244
    s6=00022
    下一步是将这些值分组以形成两个向量V1、V2
    V1=754212143510234,v2=021301024400022.]]>
    利用这两个向量生成扩展矩阵:
    V1&CenterDot;V2T=760563530637336624087948821035826334265544934=Me.]]>
    根据矩阵的每个元素获得K1模=90107。
    然后,从起始信号中取更多的样本m7、m8、m9,并且生成向其应用K2模=3的向量V3,从而获得下述向量:
    v3=120.]]>
    因此,通过旋转矩阵Me的行获得以下矩阵:
    Me=3733676056335306794882103562408826334265544934.]]>
    然后借助于将十进制元素转换成二进制数的方式将矩阵的每个元素 转换成二进制。例如,通过将矩阵的元素连接成二进制来获得伪随机序列(其中仅示出对应于前两个数的伪随机序列):

    使得该序列是借助于XOR操作与消息进行混合的序列以实现加密数据流。
    在接收器侧执行该组相同的操作将使得能够对消息进行解码。

    关 键  词:
    生成 随机 序列 方法 数据流 进行 编码 解码
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:生成伪随机序列的方法和对数据流进行编码或解码的方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-674761.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1