CN1332524C - 用于有效密钥长度控制的方法和设备 - Google Patents

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

Info

Publication number
CN1332524C
CN1332524C CNB2004100493185A CN200410049318A CN1332524C CN 1332524 C CN1332524 C CN 1332524C CN B2004100493185 A CNB2004100493185 A CN B2004100493185A CN 200410049318 A CN200410049318 A CN 200410049318A CN 1332524 C CN1332524 C CN 1332524C
Authority
CN
China
Prior art keywords
delay cell
input
switch element
output
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB2004100493185A
Other languages
English (en)
Other versions
CN1558592A (zh
Inventor
J·珀松
B·斯梅茨
M·汉松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN1558592A publication Critical patent/CN1558592A/zh
Application granted granted Critical
Publication of CN1332524C publication Critical patent/CN1332524C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明包括用于计算加密密钥K’c的方法和设备,以便用于加密算法的初始化。本发明公开了计算加密密钥K’c(x)的方法:获得密码密钥Kc(x),根据两个希望通信的设备的要求确定最大密码密钥长度L,并确定最大可用加密密钥长度Lmax。然后通过与多项式g1(x)的加法功能和异或功能操纵K’c(x)。其结果与g2(x)相乘,扩展了所述加密密钥K’c(x)的起点。因此根据K′c(x)=g2 (L)(x)[Kc(x)mod g1 (L)(x)]确定了加密密钥。计算加密密钥K’c的方法确保了不超出最大密码密钥长度。此外,该方法在每次产生新的加密密钥K’c时提供了新的可能的起点。

Description

用于有效密钥长度控制的方法和设备
本申请是申请号为00806757.0、申请日为2000年4月11日、发明名称为“用于有效密钥长度控制的方法和设备”的发明专利申请的分案申请。
技术领域
本发明涉及加密,并特别涉及提供确定在加密算法中使用的一种加密密钥的可控制和可靠的方式之方法和设备。
背景技术
在通信系统中,数据往往在发送之前进行编码以保证数据的保密和完整。数据的加密产生在一种加密算法中。此加密算法利用其他数据、数学运算和/或其他方式操纵或编码发送的数据以便执行这种加密。例如,此加密算法使用被称为一种加密密钥——这里在其初始化程序中被称为变量K′c的一个数据参数。此加密密钥部分地从在此被称为Kc的密码密钥或秘密密钥中产生,其中Kc是公知的用于加密和解密此数据的接收设备和发送设备两者。
政府管理用于数据的加密和传输——包括而不是限于加密软件和硬件——的出口通信部分和设备。这种出口条例在各国之间并不相同。具体地说,政府管理出口设备的密码密钥可用的最大容许密钥长度。发送与接收编码数据的用户喜欢使用可能达到最好的,那就是说,能够最长的密码密钥以使安全性达到最大;然而,这些用户受政府规定的密码密钥所限制。
假定现代技术提供密码密钥的密钥长度Kc是1到160字节之间(8和1280位)。政府通常限制最大容许的密码密钥长度到,例如7字节(56位)。
除了此密码密钥长度之外,制造商还要申请出口许可证。通信设备(例如蜂窝电话机)通常使用适当出口条例下的特定设备允许的最大密码密钥长度。最大密码密钥长度应该以这种方式存储以便防止用户容易地操纵此参数以确保与政府的规章一致。例如,此参数可以存储在只读存储器(ROM)中。然而,从制造观点来看,希望产生能在许多不同国家工作的通信设备,从而避免定制并允许用户在不同的地理位置使用相同的通信设备。制造商希望产生具有遵循各种政府设定的不同规章之标准化加密方法以及提供高级别的数据保密性。
通常地,一种加密密钥K′c连同其它公共参数诸如主时钟一起被用于一种加密算法的初始化中。加密密钥K′c根据以下等式使用密码密钥Kc和表示为RAND的一个公共随机数:
K , c [ 0 . . . 15 ] = K c [ 0 . . . L - 1 ] &cup; PAND [ L . . . 15 ] , L < 16 , K c [ 0 . . . 15 ] , L = 16                                    (等式1)
其中L是1≤L≤min{LA max,LB max}个字节;和
其中RAN D[L...15]表示RAND的L至15个字节。
虽然能使用不同的加密密钥长度,但用于示例目的,假定最大可用的加密密钥长度字节Lmax为16字节。
正如上述等式公开的,加密密钥K′c是通过附加上一个随机数到密码密钥Kc的末端创建的,以完成用于此加密密钥长度的可用字节的全部数目,即在此情况中是16字节。
参数L表示在不同的政府管理下的第一通信设备A的LA max和第二通信设备B的LB max之间两个密码密钥长度允许的较小密码密钥长度。换句话说,用于计算加密密钥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字节。这产生了未经授权的译码之危险。
多种其他文献描述了用于操作与加密技术有关的密钥序列技术。例如,美国专利号为5278905的McNair描述了密钥序列发生技术,该技术适合于处理器应用,例如通过每次复用具有加密出来本身的密钥序列的产生和存储。同样,WO 97/05720描述了用于产生密钥的技术,其中首先减小了加密密钥的分布空间,然后通过增加减少的空间密钥的分布空间来产生一个密钥。接着该减少的-增加的-空间密钥被用于加密信息。接收已知减少和扩展程序的指定分布的加密信息的人们利用创建密钥方式的最大减少的工作系数将能够解密接收的信息。然而,这两个文献都没有解决上述与加密酸法中的起点数有关的问题。
概括地说,一个好的加密算法接收作为输入的例如二进制中的28L个可能的起点之一。当L是16字节时,一个好的加密算法应接收二进制中的2128个可能的起点。每个8L K′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{LA max,LB max};和deg(g1(x)+deg(g2(x)≤wL,对所有L字节,其中w是字节中的一个文字长度。
用于示例目的,根据多项式表达式,把加密密钥K′c写在上面。
如等式2所述的,加密密钥K′c部分基于密码密钥Kc。密码密钥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将向和从彼此发送和接收数据,确定每个设备的最大密钥长度。在此例子中,因为LA max是40位而LB max是56位,则设备将″同意″以该较小的密钥长度的最大密码密钥长度L或40位通信。
因此,根据本发明,最大可能密钥长度被限制在设备A和B之间最大值密钥长度的较小值。此密钥长度限制通过加法器或模块功能和选择多项式g1(x)在该加密中实施。
在一个示例实施例中,g1(x)可以是表示为以下多项式:
g 1 ( x ) = &Sigma; i = 0 wL g i ( 1 ) x i , g wL &NotEqual; 0 (等式3)
其中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是字节中可能的最大密码密钥长度。每个8L K′c位可能的组合应定义此28L起点中的一个起点。设法解密加密数据的未授权人得试图达至28L个可能的组合来解密。
例如,如果L等于16字节,一个好的加密算法接收作为其输入端二进制中的28L个可能的起点之一。每个8L K′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)多项式如下:
g 2 ( x ) = &Sigma; j = 0 w ( L max - L ) g j ( 2 ) x j (等式5)
其中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或任何其他形式的数据。此外,这种数据可以通过目前已知的任何媒体诸如导线或无线电波或稍后发现的任何媒体进行发送。

Claims (17)

1.用于计算加密密钥K′c(x)以便加密数据的方法,包含以下步骤:
获得密码密钥Kc(x);
确定密码密钥的最大长度L;
确定可用的加密密钥的最大长度Lmax;
获得多项式g1(x);
根据L获得多项式g2(x),用于扩展所述加密密钥K′c(x)的起点;以及
计算所述加密密钥K′c(x),
其中所述多项式g1(x)和多项式g2(x)是从列表中获得的,并且K′c(x)=g2 (L)(x)[Kc(x)mod g1 (L)(x)],
其中
g 2 ( x ) = &Sigma; j = 0 w ( L max - L ) g j ( 2 ) x j .
2.根据权利要求1所述的方法,其中:
Figure C2004100493180002C2
其中所述多项式g1(x)的最高级等于wL。
3.根据权利要求2所述的方法,其中g1(x)的前w(Lmax-L)个系数等于一个固定的串。
4.根据权利要求3所述的方法,其中g2(x)的最后wL个系数等于一个固定的串。
5.根据权利要求1所述的方法,其中利用存储单元、多个开关单元、多个延迟单元和多个加法器功能块执行所述计算步骤,其中
所述存储单元用于存储一个或多个多项式;
所述多个开关单元,每个开关单元具有第一输入端、第二输入端和输出端,其中每个开关单元的第一输入端连接到所述存储单元;
所述多个延迟单元,每个延迟单元具有输入端和输出端,其中所述延迟单元的数目与所述开关单元的数目相等,其中最后一个延迟单元的输出端连接到每个开关单元的第二输入端,并且其中第一个延迟单元的输入端连接到其中第一个开关单元的输出端;以及
所述多个加法器功能块,每个加法器功能块具有第一输入端、第二输入端和输出端,其中加法功能块的数目比延迟单元的数目少一个,其中:
除最后一个延迟单元外,其余第i个延迟单元的输出端K_out(i)都连接到与其相对应的第i个加法器功能块的第一输入端A_in1(i),
除第一个开关单元外,其余第i+1个开关单元的输出端S_out(i+1)都连接到与其相对应的第i个加法器功能块的第二输入端A_in2(i),并且
除第一个延迟单元外,其余第i+1个延迟单元的输入端K_in(i+1)都连接到与其相对应的第i个加法器功能块的输出端A_out(i),
其中参数i=0,1,2,...,N-1,N为延迟单元的个数,
其中所述延迟单元最初载入了所述密码密钥Kc(x)。
6.根据权利要求5所述的方法,所述方法还包含步骤:
将所述开关单元的所述第一输入端初始化为所述g1(x)多项式系数;和
将所述开关单元的所述第二输入端初始化为零。
7.根据权利要求5所述的方法,其中所述延迟单元是移位寄存器。
8.根据权利要求5所述的方法,其中所述开关单元是与门。
9.用于在两个通信设备之间传递加密的数据的系统,包含:
第一通信设备,具有第一密码密钥长度LA max,和
第二通信设备,具有第二密码密钥长度LB max,和
在所述第一通信设备和所述第二通信设备的每一个中的用于确定密码密钥的最大长度L的装置,其中1≤L≤min{LA max,LB max};
所述第一设备包含:
用于获得多项式g1(x)和g2(x)的装置;
用于获得密码函数Kc(x)的装置;和
用于计算加密密钥K′c(x)的装置,
其中所述多项式g1(x)和多项式g2(x)是从列表中获得的,并且K′c(x)=g2 (L)(x)[Kc(x)mod g1 (L)(x)]。
10.根据权利要求9所述的系统,其中所述用于计算所述加密密钥K′c(x)的装置包含:
存储单元,用于存储一个或多个多项式;
多个开关单元,每个开关单元具有第一输入端、第二输入端和输出端,其中每个开关单元的第一输入端连接到所述存储单元;
多个延迟单元,每个延迟单元具有输入端和输出端,其中所述延迟单元的数目与所述开关单元的数目相等,其中最后一个延迟单元的输出端连接到每个开关单元的第二输入端,并且其中第一个延迟单元的输入端连接到其中第一个开关单元的输出端;以及
多个加法器功能块,每个加法器功能块具有第一输入端、第二输入端和输出端,其中加法功能块的数目比延迟单元的数目少一个,其中:
除最后一个延迟单元外,其余第i个延迟单元的输出端K_out(i)都连接到与其相对应的第i个加法器功能块的第一输入端A_in1(i),
除第一个开关单元外,其余第i+1个开关单元的输出端S_out(i+1)都连接到与其相对应的第i个加法器功能块的第二输入端A_in2(i),并且
除第一个延迟单元外,其余第i+1个延迟单元的输入端K_in(i+1)都连接到与其相对应的第i个加法器功能块的输出端A_out(i),
其中参数i=0,1,2,...,N-1,N为延迟单元的个数,
其中所述延迟单元最初载入了所述密码密钥Kc(x)。
11.根据权利要求9所述的系统,其中所述开关单元是与门。
12.根据权利要求9所述的系统,其中所述用于获得多项式g1(x)和g2(x)的装置包括从包含在所述第一通信设备之内的存储单元中检索所述多项式的装置。
13.根据权利要求12所述的系统,其中:
Figure C2004100493180004C1
14.根据权利要求13所述的系统,其中
g 2 ( x ) = &Sigma; j = 0 w ( L max - L ) g j ( 2 ) x j .
15.根据权利要求14所述的系统,其中在w(Lmax-L)移位之后,所述延迟单元的最后wL位存储Kc(x)mod g1(x)的结果。
16.根据权利要求15所述的系统,其中在附加wL移位之后,所述延迟单元存储所述加密密钥K′c(x)。
17.根据权利要求10所述的系统,其中所述延迟单元是移位寄存器。
CNB2004100493185A 1999-04-26 2000-04-11 用于有效密钥长度控制的方法和设备 Expired - Lifetime CN1332524C (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13094499P 1999-04-26 1999-04-26
US60/130944 1999-04-26
US09/461,766 US6947560B1 (en) 1999-04-26 1999-12-15 Method and device for effective key length control
US09/461766 1999-12-15
PCT/EP2000/003284 WO2000065768A1 (en) 1999-04-26 2000-04-11 Method and device for effective key length control

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB008067570A Division CN1282323C (zh) 1999-04-26 2000-04-11 用于有效密钥长度控制的方法和设备

Publications (2)

Publication Number Publication Date
CN1558592A CN1558592A (zh) 2004-12-29
CN1332524C true CN1332524C (zh) 2007-08-15

Family

ID=26828998

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB2004100493185A Expired - Lifetime CN1332524C (zh) 1999-04-26 2000-04-11 用于有效密钥长度控制的方法和设备
CNB008067570A Expired - Lifetime CN1282323C (zh) 1999-04-26 2000-04-11 用于有效密钥长度控制的方法和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNB008067570A Expired - Lifetime CN1282323C (zh) 1999-04-26 2000-04-11 用于有效密钥长度控制的方法和设备

Country Status (12)

Country Link
US (1) US6947560B1 (zh)
EP (1) EP1171971B1 (zh)
JP (1) JP4668428B2 (zh)
CN (2) CN1332524C (zh)
AR (1) AR023605A1 (zh)
AT (1) ATE298481T1 (zh)
AU (1) AU4913000A (zh)
BR (1) BR0010029B1 (zh)
CO (1) CO5300374A1 (zh)
DE (1) DE60020953T2 (zh)
MY (1) MY123139A (zh)
WO (1) WO2000065768A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931130B1 (en) * 1999-10-07 2005-08-16 International Business Machines Corporation Dynamically adjustable software encryption
US7360121B2 (en) * 2002-02-22 2008-04-15 Bea Systems, Inc. System for monitoring a subsystem health
US7287075B2 (en) * 2002-02-22 2007-10-23 Bea Systems, Inc. System for monitoring managed server health
JP4655452B2 (ja) * 2003-03-24 2011-03-23 富士ゼロックス株式会社 情報処理装置
EP1629626B1 (en) * 2003-05-23 2008-02-27 Nxp B.V. Method and apparatus for a low memory hardware implementation of the key expansion function
US7570641B2 (en) * 2005-08-23 2009-08-04 Macrovision Corporation Techniques for watermarking and distributing content
US8183980B2 (en) * 2005-08-31 2012-05-22 Assa Abloy Ab Device authentication using a unidirectional protocol
US7873166B2 (en) * 2005-09-13 2011-01-18 Avaya Inc. Method for undetectably impeding key strength of encryption usage for products exported outside the U.S
US20080037775A1 (en) * 2006-03-31 2008-02-14 Avaya Technology Llc Verifiable generation of weak symmetric keys for strong algorithms
WO2010019593A1 (en) 2008-08-11 2010-02-18 Assa Abloy Ab Secure wiegand communications
US20170070481A1 (en) * 2015-09-03 2017-03-09 Pilixo Limited Communication channel security against packet sniffing
US10452877B2 (en) 2016-12-16 2019-10-22 Assa Abloy Ab Methods to combine and auto-configure wiegand and RS485
US11621837B2 (en) 2020-09-03 2023-04-04 Theon Technology Llc Secure encryption of data using partial-key cryptography
US11310042B2 (en) 2020-09-11 2022-04-19 Crown Sterling Limited, LLC Methods of storing and distributing large keys
US11552780B2 (en) 2020-12-23 2023-01-10 Theon Technologies, Inc. Homomorphic one-time pad encryption
US11755772B2 (en) 2021-09-20 2023-09-12 Crown Sterling Limited, LLC Securing data in a blockchain with a one-time pad
US11943336B2 (en) 2021-11-22 2024-03-26 Theon Technology Llc Use of gradient decent function in cryptography
US11791988B2 (en) 2021-11-22 2023-10-17 Theon Technology Llc Use of random entropy in cryptography
US11902420B2 (en) 2021-11-23 2024-02-13 Theon Technology Llc Partial cryptographic key transport using one-time pad encryption

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278905A (en) * 1992-05-13 1994-01-11 At&T Bell Laboratories Method and apparatus for processor base encryption
CN1119316A (zh) * 1994-09-24 1996-03-27 西安电子科技大学 一种高速数据置乱方法
CN1195439A (zh) * 1995-07-27 1998-10-07 次级系统有限公司 带有隐藏的工作因子的密码系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3371947D1 (en) * 1982-12-20 1987-07-09 Radiotechnique Sa Generator of random number sequences
US4797921A (en) * 1984-11-13 1989-01-10 Hitachi, Ltd. System for enciphering or deciphering data
JPH0727325B2 (ja) * 1987-02-13 1995-03-29 沖電気工業株式会社 暗号化装置
US5008938A (en) * 1990-03-09 1991-04-16 Motorola, Inc. Encryption apparatus
US5199072A (en) 1992-02-03 1993-03-30 Motorola, Inc. Method and apparatus for restricting access within a wireless local area network
US5323464A (en) * 1992-10-16 1994-06-21 International Business Machines Corporation Commercial data masking
US5345507A (en) * 1993-09-08 1994-09-06 International Business Machines Corporation Secure message authentication for binary additive stream cipher systems
US5799087A (en) * 1994-04-28 1998-08-25 Citibank, N.A. Electronic-monetary system
EP1526472A3 (en) * 1995-02-13 2006-07-26 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5729559A (en) * 1995-03-27 1998-03-17 Motorola, Inc. Method and apparatus for correcting errors using multiple estimates
US5778074A (en) * 1995-06-29 1998-07-07 Teledyne Industries, Inc. Methods for generating variable S-boxes from arbitrary keys of arbitrary length including methods which allow rapid key changes
US5657390A (en) * 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US5631962A (en) 1995-10-23 1997-05-20 Motorola, Inc. Circuit and method of encrypting key validation
US5724428A (en) * 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
US5727063A (en) * 1995-11-27 1998-03-10 Bell Communications Research, Inc. Pseudo-random generator
US5883956A (en) 1996-03-28 1999-03-16 National Semiconductor Corporation Dynamic configuration of a secure processing unit for operations in various environments
EP0891663A1 (en) * 1996-04-01 1999-01-20 Hewlett-Packard Company Transmitting messages over a network
US5815573A (en) * 1996-04-10 1998-09-29 International Business Machines Corporation Cryptographic key recovery system
US5710814A (en) * 1996-07-23 1998-01-20 Cheyenne Property Trust Cryptographic unit touch point logic
US5850443A (en) * 1996-08-15 1998-12-15 Entrust Technologies, Ltd. Key management system for mixed-trust environments
US5862159A (en) * 1996-09-11 1999-01-19 Texas Instruments Incorporated Parallelized cyclical redundancy check method
US5937066A (en) * 1996-10-02 1999-08-10 International Business Machines Corporation Two-phase cryptographic key recovery system
US6252958B1 (en) * 1997-09-22 2001-06-26 Qualcomm Incorporated Method and apparatus for generating encryption stream ciphers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278905A (en) * 1992-05-13 1994-01-11 At&T Bell Laboratories Method and apparatus for processor base encryption
CN1119316A (zh) * 1994-09-24 1996-03-27 西安电子科技大学 一种高速数据置乱方法
CN1195439A (zh) * 1995-07-27 1998-10-07 次级系统有限公司 带有隐藏的工作因子的密码系统

Also Published As

Publication number Publication date
ATE298481T1 (de) 2005-07-15
CN1558592A (zh) 2004-12-29
CO5300374A1 (es) 2003-07-31
WO2000065768A1 (en) 2000-11-02
AU4913000A (en) 2000-11-10
DE60020953T2 (de) 2005-12-01
CN1282323C (zh) 2006-10-25
JP4668428B2 (ja) 2011-04-13
JP2002543667A (ja) 2002-12-17
BR0010029B1 (pt) 2014-02-04
AR023605A1 (es) 2002-09-04
EP1171971A1 (en) 2002-01-16
US6947560B1 (en) 2005-09-20
BR0010029A (pt) 2002-01-15
MY123139A (en) 2006-05-31
EP1171971B1 (en) 2005-06-22
CN1348646A (zh) 2002-05-08
DE60020953D1 (de) 2005-07-28

Similar Documents

Publication Publication Date Title
CN1332524C (zh) 用于有效密钥长度控制的方法和设备
US6226382B1 (en) Method for implementing a private-key communication protocol between two processing devices
CA2218148C (en) Generating unique and unpredictable values
US4351982A (en) RSA Public-key data encryption system having large random prime number generating microprocessor or the like
EP1834438B1 (en) Cryptography related to keys
RU2175465C2 (ru) Способ обмена криптографическими ключами между компьютерным блоком пользователя и сетевым компьютерным блоком
CN101040474B (zh) 为提高安全性的置换数据变换
CN108833103B (zh) 射频识别标签和读取设备之间进行安全通信的方法和系统
US10650373B2 (en) Method and apparatus for validating a transaction between a plurality of machines
KR20050034238A (ko) Rsa 알고리즘을 이용한 보안유지시스템 및 그 방법
CN102868518A (zh) 为提高安全性的置换数据变换
WO2001039429A1 (en) Integrity check values (icv) based on pseudorandom binary matrices
EP2014000A2 (en) Method for elliptic curve public key cryptographic validation
RU2609098C2 (ru) Способ для генерирования псевдослучайной последовательности и способ для кодирования или декодирования потока данных
US6769062B1 (en) Method and system of using an insecure crypto-accelerator
EP2742644B1 (en) Encryption and decryption method
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
WO2006030447A1 (en) A method and system for computational transformation
EP1569381A1 (en) System and method for authentification
Pandian et al. Dynamic Hash key‐based stream cipher for secure transmission of real time ECG signal
US20040223609A1 (en) Data encryption method
US20030215089A1 (en) Method and apparatus for encrypting and decrypting messages based on boolean matrices
US20050114660A1 (en) Method for encrypting and decrypting data for multi-level access control in an ad-hoc network
US7756269B2 (en) Cryptosystem for communication networks
CN104837131A (zh) 一种基于批处理指数运算乘积的批Cramer-Shoup密码体制

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20070815

CX01 Expiry of patent term