用于有效密钥长度控制的方法和设备的制作方法

文档序号:2394953阅读:384来源:国知局
专利名称:用于有效密钥长度控制的方法和设备的制作方法
背景本发明涉及加密,并特别涉及提供确定在加密算法中使用的一种加密密钥的可控制和可靠的方式之方法和设备。
在通信系统中,数据往往在发送之前进行编码以保证数据的保密和完整。数据的加密产生在一种加密算法中。此加密算法利用其他数据、数学运算和/或其他方式操纵或编码发送的数据以便执行这种加密。例如,此加密算法使用被称为一种加密密钥——这里在其初始化程序中被称为变量K’c的一个数据参数。此加密密钥部分地从在此被称为Kc的密码密钥或秘密密钥中产生,其中Kc是公知的用于加密和解密此数据的接收设备和发送设备两者。
政府管理用于数据的加密和传输——包括而不是限于加密软件和硬件——的出口通信部分和设备。这种出口条例在各国之间并不相同。具体地说,政府管理出口设备的密码密钥可用的最大容许密钥长度。发送与接收编码数据的用户喜欢使用可能达到最好的,那就是说,能够最长的密码密钥以使安全性达到最大;然而,这些用户受政府规定的密码密钥所限制。
假定现代技术提供密码密钥的密钥长度Kc是1到160字节之间(8和1280位)。政府通常限制最大容许的密码密钥长度到,例如7字节(56位)。
除了此密码密钥长度之外,制造商还要申请出口许可证。通信设备(例如蜂窝电话机)通常使用适当出口条例下的特定设备允许的最大密码密钥长度。最大密码密钥长度应该以这种方式存储以便防止用户容易地操纵此参数以确保与政府的规章一致。例如,此参数可以存储在只读存储器(ROM)中。然而,从制造观点来看,希望产生能在许多不同国家工作的通信设备,从而避免定制并允许用户在不同的地理位置使用相同的通信设备。制造商希望产生具有遵循各种政府设定的不同规章之标准化加密方法以及提供高级别的数据保密性。
通常地,一种加密密钥K’c连同其它公共参数诸如主时钟一起被用于一种加密算法的初始化中。加密密钥K’c根据以下等式使用密码密钥Kc和表示为RAND的一个公共随机数 其中L是1≤L≤min{LAmax,LBmax}个字节;和其中RAND[L…15]表示RAND的L至15个字节。
虽然能使用不同的加密密钥长度,但用于示例目的,假定最大可用的加密密钥长度字节Lmax为16字节。
正如上述等式公开的,加密密钥K’c是通过附加上一个随机数到密码密钥Kc的末端创建的,以完成用于此加密密钥长度的可用字节的全部数目,即在此情况中是16字节。
参数L表示在不同的政府管理下的第一通信设备A的LAmax和第二通信设备B的LBmax之间两个密码密钥长度允许的较小密码密钥长度。换句话说,用于计算加密密钥K’c的密码密钥长度小于第一和第二通信设备A和B使用的允许的两个密码密钥长度。两个设备都可以使用具有此较小密钥长度的加密通信,但只有一个设备可以使用具有较大密钥长度的加密通信。
用于产生加密密钥K’c之上述等式的一个问题是难以保证实施此加密算法的硬件不被超过此Lmax预置值的软件所改变。此外,公共的RAND参数可以被误用以便获得完全没有限制的有效密钥长度,即K’c具有有效密钥位的最大数。
一种备用方案是把为加密密钥K’c而设的间隔降低到通信设备存储器中的L字节以便防止软件修改这个长度。这可以通过″屏蔽”此密码密钥K’c的可用字节负数L字节的全部数量和忽略RAND来解决。例如,在这种情况下,因为最大加密密钥长度假定为16,16-L字节将被″屏蔽″,或换句话说,由零或其它的固定信息串所取代。此产生的加密密钥K’c于是将包含用于第一L字节的Kc和用于后续16-L字节的零或其它固定信息串(128-8L位)。
然而,对于小的L字节值来说,这种解决方案引起至少两个不希望的结果。第一,在加密算法的初始化期间,此加密算法混合加密密钥K’c,并确定此加密算法起点。为了获得一稳固的加密,由于此16-L字节中的较大固定信息串的非随机性(其中L较小),则应需增大此混合周期。因为加密密钥″随机″部分的长度减小,此加密算法应理想地增大混合周期或在确定加密密钥的起点执行的迭代次数,以便补偿″随机″位的较小长度以获得良好的加密。然而,能执行的迭代次数受设定在发送/接收转换中的计时要求之严格限制。因此,这产生了不牢固的加密危险。
第二,试图解密此编码数据或执行″密码攻击″的未授权人只须考虑或解析此密码密钥Kc的第一个L字节。换句话说,此未授权人应只须解析L字节中可能的数据组合而不是此较大最高可用加密密钥长度,在这种情况下对于较小L.值来说是16字节。这产生了未经授权的译码之危险。
概括地说,一个好的加密算法接收作为输入的例如二进制中的28L个可能的起点之一。当L是16字节时,一个好的加密算法应接收二进制中的2128个可能的起点。每个8LK’c的可能的组合应定义此28L起点中的一个起点。设法解密加密数据的未授权人得试图达至28L个可能的组合来解密。当政府规章限制此密钥长度时没有几个起点是可得到的。例如,如果政府限制密码密钥长度到最高5个字节(40位),则一种加密算法应具有一个降低的起点数目,也就是说240个起点。另外,如果考虑间隔或存储所有可能的28L个起点可用的存储器,现代技术通常限制可用存储器的总数到存储器的指定区域以便存储减少的起点数目并且不使用存储器的剩余部分。此剩余位置是恒定的。从而,设法解密加密数据的未授权人应只得解析240个起点并且此未授权人应知道这种起点在存储器中所处的位置。
概要从而为克服上述问题,本发明描述了一种方法,利用该方法,当产生加密密钥K’c时,可能的起点总数被限制在28L个起点之一个子集内,其中在可用存储器或间隔总数内每次产生新的K’c时该子集是不同的。因此,每个加密密钥K’c产生之后,该起点不再存储在相同的位置。
此外,本发明提供了在通信系统和使用加密数据中的密码密钥的密码设备中密码密钥Kc发生器之间的一种接口。该接口通过在加密密钥K’c的计算中包括一个加法器或模块功能,提供一种限制密钥长度的可控制和可靠的方式以便符合政府规章设定的有效密钥长度。
此外,本发明提供了设定不同最高密码密钥长度的不同政府管理的两个设备之间的通信。
此外,本发明提供了一个加密密钥K’c,其中″随机性″扩展到所有可能的起点组合,以便输入到密码设备的加密算法之内。
本发明上述和其他优点是以通过通信设备确定使用在加密算法中的一个加密密钥的形式执行的。该通信设备包含用于存储一个或多个多项式的存储单元;多个开关单元,每个具有第一输入端、第二输入端和输出端,其中该开关单元的第一输入端连接到存储单元;多个延迟单元,每个具有一个输入端和一个输出端,其中一个延迟单元的输出端连接到开关单元的第二输入端;和多个加法器或模块功能,每个具有第一输入端,第二输入端和一个输出端,其中该模块第一输入端连接到除该延迟单元输出端之一以外的所有输出端,其中该模块第二输入端连接到除该开关单元输出端之一以外的所有输出端,和其中模块输出端连接到除该延迟单元输入端之一以外的所有输入端。该延迟单元可以是以一种移位寄存器的形式。
本发明上述和其他优点也以用于计算使用在加密算法中的加密密钥K’c(x)的一种方法的另一种形式来执行。该方法包含步骤获得一个密码密钥Kc(x);确定最高密码密钥长度L;确定最大可用的加密密钥长度Lmax,获得多项式g1(x),其中最高等级等于Lmax;获得多项式g2(x),用于扩展所述加密密钥K’c(x)的起点;和计算该加密密钥K’c(x),其中K’c(x)=g2(L)(x)[Kc(x)mod g1(L)(x)]。
附图简要描述当结合附图考虑时,通过参考详细说明书和权利要求可以导出对本发明更加完整的理解,其中

图1示出根据本发明发送和接收数据的两个移动通信设备;图2示出根据本发明用于计算加密密钥K’c的示意图;图3示出根据本发明按照图2不同时段的示意图的一个移位寄存器;和图4示出计算根据本发明的一个加密密钥K’c的方法的方框图。
详细描述在以下描述中,为解释而不是限制目的来阐述指定细节,诸如特定电路、电路元件、技术等,以便提供对本发明的完整理解。然而,对本领域技术人员来说明显的是,本发明可以以不同于本发明规定细节的其他实施例实施。在其他例子中,省略了众所周知的方法、设备和电路的详细描述以便不模糊本发明说明书。
为确保与规定的密钥长度一致和改善两个设备之间数据传输的加密,确定或计算一个加密密钥K’c并按以下等式输入到根据本发明的一个加密算法中K’c(x)=g2(L)(x)[Kc(x)mod g1(L)(x)](等式2)其中L是字节中最大限制的加密密钥长度,并且其中L是1≤L≤min{LAmax,LBmax};和deg(g1(x)+deg(g2(x)≤wL,对所有L字节,其中w是字节中的一个文字长度。
用于示例目的,根据多项式表达式,把加密密钥K’c写在上面。
如等式2所述的,加密密钥K’c部分基于密码密钥Lc。密码密钥Kc可以以已知或下述的任何适当方式获得。例如,密码密钥Kc可以从第三设备中独立地与设备A和设备B通信以便于加密和解密。或者,设备A可以具有存储的密码密钥Kc并能将它传递给设备B。假定当前技术允许密码密钥长度是在1和160字节(8和1280字节)的长度。然而,出口设备A和设备B的政府已经对该密码密钥的最大长度设置了某些限制。例如,假定设备A可以以最大字节(40位)的密钥长度通信和设备B可以以最大7字节(56位)的密钥长度通信。一旦确定设备A希望发送数据到设备B,A和设备B″商谈″可以双方通信的可接受的最大密钥长度L。具体地说,设备A和设备B将向和从彼此发送和接收数据,确定每个设备的最大密钥长度。在此例子中,因为LAmax是40位而LBmax是56位,则设备将″同意″以该较小的密钥长度的最大密码密钥长度L或40位通信。
因此,根据本发明,最大可能密钥长度被限制在设备A和B之间最大值密钥长度的较小值。此密钥长度限制通过加法器或模块功能和选择多项式g1(x)在该加密中实施。
在一个示例实施例中,g1(x)可以是表示为以下多项式 其中w等于一字码长度并且L等于密码密钥的多个字码。
产生了该多项式g1(x),使得该多项式的最高级将是最大容许的密钥长度位。例如如果字码长度是8位并且字码数目是5,那么该g1(x)多项式的最高级将是40。因此,多项式g1(x)应当例如如下∶g1(x)=Ax40+Bx39+Cx38+…+Dx+E,A≠0 (等式4)由于余项的最高级不能超过低于该分母的最高级,则加法器或模块运算保证该密钥长度是wL位。在此例子中,运算Kc(x)mod g1(x)的计算会产生一种结果,其中可能的最高等级小于40,即39。此结果具有40位,这遵循最高容许的密钥长度。
此多项式g1(x)可以是来自一种列表,例如,该列表识别用于一个给定L的合适的g1(x)多项式。此列表最好位于硬件中以便此可用的g1(x)多项式是安全的。此g1(x)多项式因此被保护以免受损害以便确保符合政府规章。应承认列表是存入或获得g1(x)多项式的一种方式,但也可以使用此技术中已知的其他方式。
如上所述,一个好的加密算法接收作为其输入端的二进制中的28L个可能的起点之一,L是字节中可能的最大密码密钥长度。每个8LK’c位可能的组合应定义此28L起点中的一个起点。设法解密加密数据的未授权人得试图达至28L个可能的组合来解密。
例如,如果L等于16字节,一个好的加密算法接收作为其输入端二进制中的28L个可能的起点之一。每个8LK’c的可能的组合应定义此28L起点中的一个起点。设法解密加密数据的未授权人得试图达至2128个可能的组合来解密。
在上述具有设备A和设备B的例子中,由于较小的L值加密算法应具有减少的起点数目,也就是说240个起点。现代技术通常限制可用存储器总数(在这种情况下是240个可能的起点)到此存储器的指定区域用于存储此减少数目的起点并且不使用此存储器的剩余部分。此剩余位置是恒定的。因此,在当前技术例子中,设法解密加密数据的未授权人应只得解析240个起点并且此未授权人应知道这种起点在存储器中所处的位置。
换句话说,如果此加密密钥K’c(x)唯一地从Kc(x)mod g1(L)(x)中导致,则根据现代技术应存储在存储器的一个专用部分。其他位应为零或其它固定信息串。此起点于是将位于所有可能的起点的一个专用子集中。然而为提高加密的强度,具有扩展到所有可能位的起点是有益的。
汉明间距是反映在数据串中不同位的数量。在可能起点当中汉明间距越大,则加密越好。如果此起点总是位于位置的一个专用子集中,那么汉明间距和加密会是劣质的。本发明提供了一种方法和设备,利用它们可以以其他类型的有效方式扩展起点而不是限制在位置的专用子集中,使得起点之间的最短距离变得较大。
此增大间距或″扩展”的概念在此技术中是已知的。例如纠错编码使用此概念用于不同的应用程序中。因此,为在可能的比特范围内扩展此起点,Kc(x)mod g1(L)(x)运算结果乘以一个多项式g2(x),其中示例g2(x)多项式如下 其中w等于一个字码长度,L等于密码密钥的多个字码和Lmax等于可用在此加密密钥中的最大字码数。g2(x)与Kc(x)mod g1(L)(x)的结果相乘将在整个比特区域″扩展″Kc(x)mod g1(L)(x)的结果。将基于现有技术通常已知的给定L选择适当的g2(x)多项式。也就是说,对于不同的密钥长度L,选择不同的g2(x)多项式系数以便更有效地获得希望的汉明间距。对于较小的L值,一组系数可以获得希望的汉明间距,而对于大L值,不同组的系数将更加适合于获得希望的汉明间距。在二进制情况下,g2(x)可以是作为BCH纠错码的生成多项式而查找。此g2(x)可以或者存储在涉及给定L的适当的g2(x)多项式列表中。此列表可以是与存储g1(x)相同的列表或另一种列表。此g2(x)多项式可以存储在密码设备的硬件或者软件中。应承认列表是存入一个检索g2(x)多项式的一种方式,但也可以使用此技术中已知的其他方式。替换地,此g2(x)多项式可以是从其它位置的存储器中,即,不位于此密码设备之内的存储器中获得的。
K’c(x)由此乘法产生。K’c(x)输入到加密算法之内以便用于加密数据。
图1示出根据本发明从彼此发送和接收数据的移动通信设备100,102。设备100,102可以是任何类型的固定接线或无线电设备,包括(不限制)蜂窝式电话或计算机。
图2表示通信设备200的更详细示图。
通信设备200包括一存储单元202,多个开关单元,比如“与”门204,多个延迟单元206,和多个加法器或模数功能块208。
存储单元202存储多项式g1(x)。存储单元202可以是一检查表或存储信息的其它方案。存储单元202还可以存储多项式g2(x)。替换地,g2(x)可以存储在通信设备200之内的其它位置中或可以是从通信设备200外部(但能接入的)的其它位置中获得。用于示例目的,存储单元202这里被描述为存储g1(x)和g2(x)两者。函数g1(x)和g2(x)是具有例如,如上所述的确定系数的多项式。
开关单元或“与”门204每个具有第一输入端,第二输入端和一个输出端。存储单元202连接到“与”门204的第一输入端。每个延迟单元206具有一个输入端和一个输出端。延迟单元206能够被实施为移位寄存器。与门204a的一个输出端连接到第一延迟单元206a的输入端。模数功能块208每个具有第一输入端,第二输入端和一个输出端。剩余与门208的输出端连接到模数功能块208的第一输入端。除最后的延迟单元206之外的所有延迟单元206的输出端连接到模数功能块208的第二输入端。最后一个延迟单元206b的输出端连接到与门204的第二输入端。模数功能块208的输出端连接到除第一延迟单元206a之外的所有延迟单元206的输入端。
用于示例目的,为简明起见,假定采用二进制方案。然而,本领域技术人员将意识到本发明同样适用于其他符号表述。
最初,如图1所示的通信设备100,102将″商谈″或彼此通信以便确定最大密码密钥长度L,此长度是两个设备100、102能够用来通信的长度,如上所述。例如设备100、102可以交换每个设备的相应最大密码密钥长度。如果设备100、102的密码密钥长度L不同时,则通过选择每个设备需要的两个密码密钥长度中较小的一个来″承认″一个最大密码密钥长度L。
再参考图2,与门204的第一输入端是来自存储器单元202的g1(x)二进制多项式。第一w(Lmax-L)系数是零而最后wL系数可以是非零数字。在这种情况下,对于所有W≠1的情况,w等于字码长度,对于所有L≠1的情况,L等于″商谈的″密码密钥字数,对于所有Lmax≠1的情况,Lmax等于加密密钥中最大可用字码数目。与门204的第二输入端被初始化为零。因此,与门204的输出端对于相应于第一w(Lmax-L)位的每个门是零。对于最后wL位,与门204的输出端是g1(x)多项式对于相应于最后wL系数的系数之功能。当g1(x)系数是0时,与门204将开启。反之,当g1(x)系数是1时,与门204将关闭。
延迟单元206以密码密钥Kc(x)的系数进行初始化(如图3的移位寄存器306a所示)。这些系数以及与门204的输出端被输入到异-或操作功能208之内。(这是对于二进制情况来说的。对于非二进制来说,这些系数被输入到另一种适当的加法运算之内)。与门204的起始输入是一串零和如上所述的g1(x)系数。异-或逻辑函数208的输出端被输入到除第一与门206a之外的所有与门206之内。最后一个延迟单元206b的输出端被反馈给所有与门204的第二输入端之内。随着数据的移位,根据可用的循环数、时钟脉冲或其他定时机构接着重复此处理。
密码密钥Kc(x)最初位于延迟单元206(或图3所示的一个移位寄存器)。如上所述,利用密码密钥Kc(x)执行计算。密码密钥Kc(x)被移出延迟单元206。最后一个延迟单元206b的输出端被输入到与门204之内,在此位置与门204关闭。完成wL(Lmax-L)移位之后,延迟单元206包含最后波长间隔中的异-或操作Kc(x)modg1(L)(x)结果(如图3移位寄存器306b所示)。如上所述,此计算保证密码密钥Kc(x)的最大密钥长度不超过政府规定的最大允许密钥长度。
完成wL(Lmax-L)移位之后g2(x)被输入到与门204之内。和g1(x)相反,g2(x)是其中第一wL(Lmax-L)系数可以是非零数而最后wL系数是零的一个多项式。对于wL更多的移位继续进行上述处理。由异或操作产生的wL位现在已经在区域内″扩展″。延迟单元206(图3中的移位寄存器210c所示)的结果是加密密钥K’c(x),接着可以输入到适宜的加密算法之内用于加密数据。
用于示例目的,假定w等于8,L等于5,Lmax等于16。方便起见,再假定是二进制方案。
再参考图2,与门204的第一输入端是来自存储器单元202的g1(x)二进制多项式。第一wL(Lmax-L)或88个系数是零而最后wL或40个系数可以是非零数字。与门204的第二输入端被初始化为零。因此,与门204的输出端对于相应于第一88位的每个门是零。对于最后40位,与门204的输出端是g1(x)多项式对于相应于最后40位的每个门的系数之函数。当g1(x)系数是0时,与门将开启。反之,当g1(x)系数是1时,与门将关闭。延迟单元206以密码密钥Kc(x)的系数进行初始化。这些系数和与门204的输出被输入到异或操作208中。(与门204的起始输入是一串零和如上所述的g1(x)系数)。异或操作208的输出被输入到除第一与门206a的所有与门206之内。最后一个延迟单元206b的输出被输入到与门204,在此位置与门204关闭。此处理随着数据的移位继续进行。
密码密钥Kc(x)开始位于128延迟单元206内(或在如图3所示的128比特移位寄存器内)。如上所述,利用密码密钥Kc(x)执行计算。密码密钥Kc(x)移出延迟单元206。最后一个延迟单元206b的输出被输入到与门204内。完成128-40或88移位之后,延迟单元206包含在最后40个间隔内的异或操作的结果Kc(x)mod g1(L)(x)。
g2(x)系数接着被输入到与门204。对于多于40或总共128个的移位继续进行上述处理。从异或操作中产生的40位现在已经在区域中“扩展”。延迟单元206(或如图3所示的移位寄存器)的结果是加密密钥K’c(x),该结果接着输入到适当的加密算法中以对数据加密。
图4表示用于计算加密密钥K’c以便根据本发明加密数据的方法400的方框图。方法400包括获得密码密钥Kc(x)402的步骤。如上所述,密码密钥Kc(x)可以以任何已知的多种方法获得。下一步,执行确定最大密码密钥长度L 404的步骤。此最大密钥长度通常是字节中的一个值。希望通信的设备将交换信息或“商谈”每个设备能够通信的有关最大密码密钥长度。通常,最大密钥长度将调整到设备可以通信的最大商谈的可用密钥长度。接着根据步骤406获得多项式g1(x)。然后根据函数Kc(x)mod g1(L)(x)以密码密钥Kc(x)对多项式g1(x)进行算术地操作以便获得第一结果。接着根据步骤408获得多项式g2(x)。
步骤408扩展其起点,或增加加密密钥K’c(x)的汉明间距。根据步骤404的结果选择一个适当的多项式g2(x)。最后,根据步骤410可以计算加密密钥K’c(x),其中K’c(x)=g2(x)[Kc(x)modg1(L)(x)]。
已经参考优选实施例描述了本发明。然而,本领域技术人员将承认可以进行改变和修改而不脱离本发明的范围。例如虽然本发明所述的方法和设备其最大长度L为5字节,和最大可用的加密密钥长度Lmax是16字节,但应意识到本发明没有如此限于这些长度。此外,还将意识到收/发数据不局限于任何特定数据类型。它可以构成语音,书写的或其他数据。可以是二进制,ASCII或任何其他形式的数据。此外,这种数据可以通过目前已知的任何媒体诸如导线或无线电波或稍后发现的任何媒体进行发送。
权利要求
1.一个通信设备,用于通过操作一个密码密钥Kc来计算使用在一个加密算法中的加密密钥K’c,所述设备包含一个存储单元,用于存储一个或多个多项式;多个开关单元,每个具有一个第一输入端、一个第二输入端和一个输出端,其中所述开关单元第一输入端联接到所述存储单元;多个延迟单元,每个具有一个输入端和一个输出端,其中所述一个延迟单元的所述输出端连接到所述开关单元的第二输入端;和多个加法器功能块,每个具有一个第一输入端,一个第二输入端和一个输出端,其中所述加法器功能块的第一输入端连接到除所述延迟单元输出端之一以外的所有输出端,所述加法器功能块的第二输入端连接到除所述开关单元输出端之一以外的所有输出端,和所述加法器功能块的输出端连接到除所述延迟单元输入端之一以外的所有输入端。
2.根据权利要求1所述的设备,其中所述开关单元是与门。
3.根据权利要求1所述的设备,其中该存储单元存储一个多项式g1(x),g1(x)=Σi=0wLgi(1)xiwLg≠0]]>其中W是一个字码长度,L是所述密码密钥的字码数目。
4.根据权利要求3所述的设备,其中该存储单元存储一个多项式g2(x),其中g2(x)=Σj=0w(Lmax-L)gj(2)xj]]>其中w是一个字码长度,L是所述密码密钥中的多个字码Lmax是该加密密钥K’c中最大可用的字码数目。
5.根据权利要求4所述的设备,其中所述延迟单元最初被载以所述密码密钥Kc(x)。
6.根据权利要求5所述的设备,其中所述多项式g1(x)具有等于固定信息串的一个第一w(Lmax-L)系数。
7.根据权利要求6所述的设备,其中所述多项式g2(x)具有等于一个固定信息串的最后wL系数。
8.根据权利要求7所述的设备,其中w(Lmax-L)移位之后,所述延迟单元的最后wL位存储Kc(x)mod g1(x)的结果。
9.根据权利要求8所述的设备,其中附加wL移位之后,所述延迟单元存储所述加密密钥K’c。
10.根据权利要求1所述的设备,其中所述延迟单元是一个移位寄存器。
11.用于计算加密密钥K’(x)以便加密数据的方法,包含以下步骤获得密码密钥Kc(x);确定最高密码密钥长度L;确定最大可用的加密密钥长度Lmax,获得多项式g1(x);获得多项式g2(x),用于扩展所述加密密钥,K’c(x)的起点;和计算所述加密密钥K’c(x),其中K’c(x)=g2(L)(x)[Kc(x)mod g1(L)(x)]。
12.根据权利要求11所述的方法,进一步包含步骤根据L选择所述多项式g2(x)。
13.根据权利要求12所述的方法,其中g1(x)=Σi=0wLgi(1)xiwLg≠0]]>和其中所述多项式g1(x)的最高级的等于wL。
14.根据权利要求13所述的方法,其中g2(x)=Σj=0w(Lmax-L)gj(2)xj]]>
15.根据权利要求14所述的方法,其中的第一w(Lmax-L)系数等于一个固定信息串。
16.根据权利要求15所述的方法,其中所述多项式g2(x)的最后wL个系数等于一个固定信息串。
17.根据权利要求12所述的方法,其中利用多个与门、多个延迟单元和多个加法器功能块执行计算步骤,其中每个与门具有一个第一输入端、一个第二输入端和一个输出端。
18.根据权利要求17所述的方法,所述方法进一步包含步骤以所述密码密钥Kc(x)初始化所述延迟单元;将所述与门的所述第一输入端初始化为所述多项式系数;和将所述与门的所述第二输入端初始化为零。
19.根据权利要求17所述的方法,其中所述延迟单元是一个移位寄存器。
20.用于在两个通信设备之间传递加密数据的系统,包含第一通信设备,具有一第一密码密钥长度LAmax和第二通信设备,具有第二密码密钥长度LBmax,和装置,用于确定最大密码密钥长度L,其中1≤L≤min{LAmax,LBmax};其中所述第一设备包含用于获得多项式g1(x)和g2(x)的装置;用于获得密码函数Kc(x)的装置;和用于计算一个加密密钥,K’c(x)的装置,其中K’c(x)=g2(L)(x)[Kc(x)mod g1(L)(x)]。
21.根据权利要求20所述的系统,其中所述用于计算所述加密密钥K’c(x)的装置包含多个与门,每个具有第一输入端、第二输入端和一个输出端,其中所述与门第一输入端联接到所述存储单元;多个延迟单元,每个具有一个输入端和一个输出端,其中所述延迟单元的所述输出端连接到所述门的第二输入端;和多个加法器功能块,每个具有一个第一输入端,一个第二输入端和一个输出端,其中所述加法器功能块的第一输入端连接到除所述延迟单元输出端之一以外的所有输出端,其中所述加法器功能块的第二输入端连接到除所述门输出端之一以外的所有输出端,和其中所述加法器功能块的输出端连接到除所述延迟单元输入端之一以外的所有输入端。
22.根据权利要求21所述的系统,其中所述延迟单元最初被载以所述密码密钥Kc(x)。
23.根据权利要求20所述的系统其中所述用于获得多项式g1(x)和g2(x)的装置包括从包含在所述第一通信设备之内的一个存储单元中检索所述多项式。
24.根据权利要求23所述的系统,其中g1(x)=Σi=0wLgi(1)xiwLg≠0]]>
25.根据权利要求24所述的系统,其中g2(x)=Σj=0w(Lmax-L)gj(2)xj]]>
26.根据权利要求25所述的系统,其中w(Lmax-L)移位之后,所述延迟单元的最后wL位存储Kc(x)mod g1(x)的结果。
27.根据权利要求26所述的系统,其中附加wL移位之后,所述延迟单元存储所述加密密钥K’c(x)。
28.根据权利要求21所述的系统,其中所述延迟单元是一个移位寄存器。
全文摘要
本发明包括用于计算加密密钥K’c的方法和设备,以便用于加密算法的初始化。本发明公开了计算加密密钥K’c(x)的方法:获得密码密钥Kc(x),根据两个希望通信的设备的要求确定最大密码密钥长度L,并确定最大可用加密密钥长度Lmax。然后通过与多项式g
文档编号G09C1/00GK1348646SQ00806757
公开日2002年5月8日 申请日期2000年4月11日 优先权日1999年4月26日
发明者J·珀松, B·斯梅茨, M·汉松 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1