CN105207772A - 安全地交换消息的加密方法及实现该方法的设备和系统 - Google Patents

安全地交换消息的加密方法及实现该方法的设备和系统 Download PDF

Info

Publication number
CN105207772A
CN105207772A CN201510317381.0A CN201510317381A CN105207772A CN 105207772 A CN105207772 A CN 105207772A CN 201510317381 A CN201510317381 A CN 201510317381A CN 105207772 A CN105207772 A CN 105207772A
Authority
CN
China
Prior art keywords
key
equipment
computing
operand
encryption
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.)
Granted
Application number
CN201510317381.0A
Other languages
English (en)
Other versions
CN105207772B (zh
Inventor
H·皮勒提尔
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.)
Nagravision SARL
Original Assignee
Nagravision SA
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 Nagravision SA filed Critical Nagravision SA
Publication of CN105207772A publication Critical patent/CN105207772A/zh
Application granted granted Critical
Publication of CN105207772B publication Critical patent/CN105207772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及安全地交换消息的加密方法及实现该方法的设备和系统。本发明涉及一种用于在至少两个设备(D1、D2)之间安全地交换消息(M)的方法,每个设备存储共享密钥(K),该方法包括以下步骤:在每个设备处,生成随机数(R1、R2),然后将其发送给其他设备,通过基于密钥和每个随机数的第一运算来确定第一密钥(K1),基于第一密钥和随机数来确定第二密钥(K2);在发送设备(D1)处,基于消息(M)和所述随机数来确定伪消息(M,),基于伪消息(M’)和第二密钥(K2)来计算密文(C)并然后发送密文(C);在接收设备(D2)处,借助所述第二密钥来对密文(C)进行解密,然后从伪消息(M,)中获得消息(M)。

Description

安全地交换消息的加密方法及实现该方法的设备和系统
技术领域
本发明涉及连接在一起的设备之间的数据传输领域,包括用于安全地发送和接收需要在这些设备之间进行交换的任何种类的消息的加密操作。
背景技术
存在很多已知的方法涉及加密算法,诸如数据加密标准(DES)或高级加密标准(AES),用于对将要通过连接任何种类的电子设备的不安全信道或网络进行传输的数据进行加密和解密。为实现这一目的,这些设备设有执行加密运算的加密部件,以扰乱消息从而使这些消息在没有解密密钥的情况下无法理解。这些部件通常根据CMOS技术(互补金属氧化物半导体技术)来实现。从数学的观点来看,在这些部件中实现的加密算法一般是足够安全的。然而,这样的算法在物理上由采用互相连接的晶体管搭建的集成电路来实现以产生该算法的逻辑功能的事实生成了可观测的物理量。对这些量的观测可借助于示波器来执行,例如用于监测集成电路的功率损耗。突然的功率消耗变化在示波器的屏幕上表现为波峰。每个波峰可以例如标识通常在诸如DES和AES的算法中的所谓的“一轮”的开始,在所述算法中,要加密的输入消息被应用于连续的运算组(称为“多轮”)。根据这样的算法,每一轮被置于从上一轮所得到的子密钥的控制之下。因此,这样的算法包括一系列子密钥,这些子密钥是从被用作该算法内的初始密钥的密钥获得的。在该初始密钥被恶意人员知晓的情况下,后者能够对与相应设备进行交换的任何消息进行解密和适当地加密,该相应设备根据对称加密方案使用具有相同密钥的相同算法。
存在若干方式来攻击加密电路,以恢复初始密钥。一些攻击被称为非入侵性攻击,因为它们旨在观测电路的功率消耗、电磁辐射或处理时间。其他攻击被称为入侵性攻击,因为它们涉及修改电路,特别是电路在短时段内的行为。在这后一类中,差分错误分析被认为是对任何加密/解密系统的严重威胁。差分错误分析基于对由两种不同状态下的加密电路提供的输出的观测和比较。这些状态中的一个对应于电路的正常操作,而另一个通过主动注入旨在通过从0切换到1或反之亦然来改变一个或多个位的错误来获得。这样的物理位反转可通过例如用激光束扫描集成电路的表面来实现。通过定位加密电路内的敏感区域,激光射击允许以精确且简易的方式来扰乱电路的行为,因为它们可在计算机的控制之下实现,同时表现得具有很好的空间和时间分辨率。当在加密算法的处理过程中注入了若干错误时,对错误输出的分析允许通过观测算法内的错误传播来猜测密钥。
因此,需要提供允许防止攻击者通过任何差分错误分析来猜测密钥,或者更一般地,通过由任何种类的分析所得到的信息来猜测该密钥的高效解决方案。
发明内容
本发明的目的是至少部分解决上述缺陷。为实现这一目的,本发明提出了一种用于在至少两个设备之间安全地交换数据的加密方法和设备,涉及特别复杂的加密过程的实现。根据本发明,被同一系统的所有设备作为对称密钥共享的密钥从不直接用作被交换消息的加密/解密密钥。实际上,尤其被用于对在同一系统的设备之间交换的消息进行加密/解密的密钥总是基于多个随机数。更具体地,每个设备生成至少一个随机数,该随机数被考虑用于确定用于对被交换消息进行加密/解密的密钥。因此,如果该系统包括三个设备,则上述密钥将基于至少三个随机数。
此外,在对将要交换的消息进行加密/解密之前确定附加密钥等级。因此,本方法包括用于对消息进行加密/解密的三个密钥等级。此外,将要交换的消息从不直接用作用于生成需要发送的密文的算法的输入数据,但是该消息总是与每个随机数一起使用以首先生成伪消息,该伪消息然后将由上述加密算法进行加密。
优选地,每当消息需要进行交换时更新随机数。因此,本发明防止任何恶意人员通过包括差分错误分析的任何攻击来猜测共享密钥。此外,由于由伪消息以及所获得的用于加密的密钥二者提供的复杂度,本发明的加密方法达到了特别高的安全等级。
提供了一种用于在至少两个设备(D1、D2)之间安全地交换消息(M)的加密方法,每个设备存储所述设备共有的共享密钥(K),所述方法包括以下步骤:在每个设备处生成随机数(R1、R2);由每个设备向其他设备发送所生成的随机数(R1、R2);在每个设备处通过计算第一运算来确定第一密钥(K1),所述第一运算使用所述共享密钥(K)和每个随机数(R1、R2)作为运算对象;在每个设备处通过采用第一算法对第二运算的结果进行加密来确定第二密钥(K2),所述第一算法使用所述第一密钥(K1)作为加密密钥,所述第二运算至少使用每个随机数(R1、R2)作为运算对象;由作为发送设备(D1)的所述设备中的一个设备通过计算可逆第三运算来确定伪消息(M’),所述可逆第三运算使用所述消息(M)和每个随机数(R1、R2)作为运算对象;由所述发送设备(D1)计算密文(C),所述密文(C)由采用第二算法对所述伪消息(M’)进行加密而产生,所述第二算法使用所述第二密钥(K2)作为直接或间接的加密密钥;从所述发送设备(D1)向作为接收设备(D2)的至少一个其他设备发送所述密文(C);在所述接收设备(D2)处接收所述密文(C);在所述接收设备(D2)处通过使用所述第二密钥(K2)作为所述第二算法的直接或间接的解密密钥来对所述密文(C)进行解密,以恢复所述伪消息(M’);通过逆转所述第三运算从所述伪消息(M’)中获得所述消息(M)。
提供了一种实现上述加密方法的加密设备(10、20),所述加密设备包括若干部件,所述部件至少包括:通信接口(1),用于数据交换;安全存储器(2),用于存储共享密钥(K);随机生成器(3),用于生成随机数(R1、R2);至少一个计算单元(7),用于输出使用运算对象作为输入的运算的结果;至少一个加密单元(8),用于借助至少一个加密密钥(K1、K2、K3)来运行算法;以及中央处理单元(5),负责根据所述加密方法的步骤来管理所述部件。其他优点和实施例将被呈现在以下具体实施方式中。
附图说明
由于附图,本发明将被更好地理解,其中:
图1示出了根据一个实施例的本发明的系统的概览;
图2是示出了本发明的加密方法的示例性实施例的流程图;
图3示出了图2的流程图的提取部分的替代方式;
图4是图1所示的系统的设备中的一个设备的示意图。
具体实施方式
参考图1,后者示意性地示出了系统实施例的概览,在该系统实施例中,可实现本发明的方法和多个设备。该图中所示的通信系统示出了通过任何方式连接在一起的三个设备D1、D2、D3。应该注意的是,设备D1、D2、D3等的数量是无限制的,并且无论在设备的连接还是数量方面,该图中所示的系统均被认为是很多其他可能性中的一个示例。该系统可以只包括两个设备,这两个设备或是通过网络(诸如互联网)或是通过任何其他种类的连接(有线的或无线的)(特别是不安全的连接)连接在一起。
每个设备D1、D2、D3可与至少一个其他设备交换消息M,优选地是与系统中的任何其他设备交换消息M。因为这些消息M被安全地交换,所以它们在该图中通过信封来表示,每个信封被贴有挂锁。为了对受保护的消息M进行加密或解密,每个设备D1、D2、D3需要处理至少三个加密密钥K、K1、K2。这些密钥中的一个是该系统的所有设备D1、D2、D3共有的共享密钥K。该密钥K可在设备D1、D2、D3或其相关芯片组的制造过程中、或者之后在它们的个性化阶段过程中或者在初始阶段过程中实现。
如在该图中所示意性地示出的那样,每个设备发送并接收表示为R1、R2、R3的其他数据。这种数据指的是随机数。每个设备(例如,D1)生成被发送给其他设备(D2、D3)的一个随机数(R1),并且接收由其他设备(D2、D3)中的每一个生成的随机数(R2、R3)。在由图1所提供的概览的基础上,将参考图2详细说明用于在至少两个设备之间安全地交换消息M的方法。
为了简单起见,图2逐步地公开了当参考只包括两个设备D1和D2(分别由标号10、20来标识)的系统时的本发明的方法。在该图上,由这些设备中的每一个所执行的步骤被示于若干栏中,并且从上到下一个接着一个。每个设备都执行的共同步骤被表示在中间栏中。应该注意的是,这些共同步骤由每个设备以单独方式来执行。不需要在涉及交换消息的每个设备内同时处理共同步骤。
如已经提到过的,每个设备D1、D2包括想要互相交换消息的所有设备共有的共享密钥K。该密钥K被示于图2的框31中。在该实施例中,设备D1意图向设备D2发送消息M。因此,第一设备D1对应于发送设备,而第二设备D2对应于接收设备。虽然该图中只示出了一个接收设备,但是应该理解的是相同的消息M可以从发送设备发送给多个接收设备。在框11处,发送设备D1需要准备或获得需要被发送的消息M。该消息M可指任何种类的数据,但是通常它将指的是敏感数据,该敏感数据的特性主要基于讨论中的通信系统中所涉及的设备类型。
每个设备D1、D2生成随机数,然后将该随机数发送给另一设备,特别是在系统包括多于两个设备的情况下,将该随机数发送给多个选定的设备或所有其他设备。这一步骤被示于框12、21处,其中,发送设备D1生成第一随机数R1,该第一随机数R1被发送给接收设备D2,并且后者生成第二随机数R2,该第二随机数R2被发送给发送设备D1。即使这些设备没有预先同意交换即将到来的消息(例如通过在先前步骤过程中由这些设备识别的特定信号的方式),也可实现执行与每个设备进行随机数的相互交换。在这种情况下,可以预期只是接收随机数R1(即,可通过特定标识符或凭借特定格式来标识的数据)的事实可被(一个或多个)接收设备识别为触发信号,该触发信号通知需要从发送设备接收消息M。因此,每个设备变得完全能够在适当的时候运行本方法所需的步骤。
此外,在该系统包括多于两个设备的情况下,如图1的示例所示,如果需要的话,还可以提供在接收设备处识别发送设备的装置。如果在发送设备与(一个或多个)接收设备之间仍然未建立通信(例如,在当前会话期间),则一种可能的方式可以是识别发送设备的地址或向接收设备发送发送设备的标识符(ID)。这可以例如通过将属于发送设备D1的ID号附接到随机数R1或者通过在任何其他数据中包括该ID来实现。
在框33,每个设备D1、D2通过计算第一运算OP1来确定第一密钥K1,该第一运算OP1使用共享密钥K和每个随机数R1、R2作为运算对象。在图2所提供的图示中,作为非限制性示例,该第一运算OP1以及其他后续运算指的是异或运算。根据优选实施例并且如该框33所示,第一运算OP1的结果被直接用作第一密钥K1。
在框35,每个设备D1、D2随后计算第二运算OP2,该第二运算OP2至少使用每个随机数R1、R2作为运算对象。然后,在该第二运算OP2的结果的基础上,每个设备D1、D2进一步确定第二密钥K2。根据框35的示例,这通过对第二运算OP2的结果进行加密来执行,该加密借助使用第一密钥K1作为加密密钥的第一算法(表示为A1)来实现。因此,第二运算或直接其结果与所需的第一加密密钥K1一起被输入到第一算法A1中。作为响应,该第一算法提供第二加密密钥K2作为输出。
在框14,作为发送设备D1的设备计算第三运算OP3,该第三运算OP3使用消息M和每个随机数R1、R2作为运算对象。通过这种方式,发送设备D1确定所谓的伪消息M’,假定伪消息M’基于消息M,但是它看上去与初始消息M不同,虽然后者还没有被加密。
在框16,发送设备D1计算密文C,该密文C由对伪消息M’的加密来产生。为实现这一目的,发送设备D1使用伪消息M’以及作为加密密钥的第二密钥K2作为第二算法A2的输入。
在框18,由发送设备向作为接收设备的至少一个其他设备发送密文C。
当接收设备D2获得密文C时,接收设备D2能够凭借相同的算法A2和相同的密钥K2对密文C进行解密,如框23所示。为实现这一目的,第二算法A2将是可逆的双向函数或将包括可逆的双向函数(见图2上的符号A2-1)。当然,相同算法需要被发送设备和接收设备二者使用。根据优选实施例,第二密钥K2被用作第二算法的直接或间接解密密钥。将参考图3说明将第二密钥K2用作间接密钥。在任何情况下,对密文C的解密允许获得作为第二算法A2的结果的伪消息M’。
最后,在框25,每个接收设备D2通过逆转第三运算OP3(见图2上的符号OP3-1)从伪消息M’获得初始明文形式的消息M。
应该注意的是,第一算法A1可与第二算法A2不同,或者与第二算法A2相同。然而,与第二算法相反,第一算法可使用提供第二密钥K2的单向函数(或者它自己可以是这样的函数)。因此,例如,该第二密钥K2可以是哈希函数的摘要,或者可以从这样的函数中获得。
无论在该方法中使用的算法(A1、A2)是什么,它们对于想要交换消息M的所有设备需要是相同的。这些算法可通过不同方式在每个设备中实现,例如,在这些设备的制造过程中、在它们的个性化过程中或者在初始化阶段过程中。
现在参考图3,该图示出了图2所示的方法的最后步骤,其中框37将附加步骤表示为先前流程图的替代方式。该变化形式与第二密钥K2被用作第二算法A2内的间接加密/解密密钥的情况对应。为实现这一目的,在每个设备D1、D2处通过第四运算OP4来确定第三密钥K3,该第四运算OP4使用第二密钥K2和共享密钥K作为运算对象。如框37所示,该第四运算OP4的结果提供了第三加密密钥K3。
以与这些算法类似的方式,所有运算OP1、OP2、OP3、OP4或它们中的一些可在这些设备的制造过程中、在它们的个性化过程中或者在初始化阶段过程中在每个设备内实现。
对于发送设备D1,框37处所示的步骤在框35和16的步骤之间执行,因为它需要第二密钥K2(由框35的步骤确定),并且该附加步骤的结果将被用于第二算法A2(在框16处所示的步骤过程中)。对于(一个或多个)接收设备D2,由于相同的原因该附加步骤在框35和23的步骤之间执行。
如图3所示,将第二密钥K2用于第二算法A2中(即,在框16和23的步骤内)已由第三密钥K3取代。这是由第二密钥K2以间接的方式被用于这些步骤中的事实所导致的。因此,这两个框的标号在图3中已被分别修改为16’和23’。
应该注意的是,图2或图3中所示的某些步骤可以不同顺序来放置。例如,框14的步骤可在随机数R1、R2的交换(在框12、21处)与伪消息M’的加密(在框16、16’处)之间的任何位置执行。如以上所解释的那样,相同的原理适用于框37的步骤。
根据一个实施例,运算OP1、OP2、OP3、OP4中的至少任何一个的至少一部分包括逻辑运算(布尔代数)。更具体地,该逻辑运算是异或运算(见图2和3中的符号)。应该注意的是,其他逻辑函数(即,基本运算和/或导出运算)可被用于代替XOR运算符或与XOR运算符一起使用。
根据另一实施例,运算OP1、OP2、OP3、OP4中的至少任何一个的至少一部分包括幂数。在这种情况下,相关运算的任何运算对象被用作在该运算的其他运算对象之中选择的数的指数。
为了执行逻辑运算,所涉及的运算对象必须具有相同的位数。换句话说,因为这些运算指的是二进制运算,所以这些运算对象需要具有相同的位长。因此,基于例如在框33中执行的运算(OP1)的类型,随机数R1、R2的位长和共享密钥K的位长都应该是相同的。对于如框35的示例中所示的第二运算OP2,随机数R1、R2需要具有相同的位长。相同的原理一方面适用于关于随机数R1、R2和消息M的第三和第四运算,另一方面适用于加密密钥K2、K。
因此,如果运算OP1、OP2、OP3、OP4中的任何一个的运算对象具有不同的位长,则本方法还可包括旨在为这些运算对象中的每一个修补相同的位长的步骤。为实现这一目的,修补相同的位长可通过若干不同的方式来实现。
根据一个实施例,这可通过“平衡步骤”来实现,该平衡步骤旨在补充具有最小位长的运算对象直到其位长等于相关运算的其他运算对象中的任一个的位长。然后,该平衡步骤可被重复直到相关运算的所有运算对象具有相同的位长。旨在补充运算对象的步骤可通过连续位0、连续位1、甚至这两个位0和1的连续特定组合来实现。当然,选定的位连续需要通过以上提及的任何过程(例如,在设备或其芯片组的个性化过程中)被发送设备和(一个或多个)接收设备知晓。
在变化形式中,该平衡步骤可通过补充具有最小位长的运算对象直到另一运算对象(即,优选地是具有最长位长的运算对象)的位长等于被补充运算对象的位长的多倍来实现。
根据另一实施例,所谓的平衡步骤可首先通过将具有最小位长的运算对象与它自己相连接,直到达到与另一运算对象相同的位长来执行。该方法暗示具有最长位长的运算对象的位长是另一运算对象(即,被连接的运算对象)的位长的多倍。在一个运算对象的位长不恰好是另一运算对象的位长的多倍的情况下,可执行上述连接直到达到从具有最长位长的运算对象减去剩余值所获得的位长,其中该剩余值小于被连接的运算对象的位长。该剩余位长对应于欧几里德除法的余数,在该欧几里德除法中,具有最长位长的运算对象是被除数,而将要连接的运算对象是除数。然后,剩余位长(即,剩余值)可由任何连续位补充,如以上所解释的那样。
作为特别应用于第三运算OP3的这些实施例中的一个的示例,可针对每个所述随机数R1、R2,通过将所述随机数与它自己连接,直到达到与消息M的位长相同的位长来实现修补相同的位长。该实施例涉及随机数R1、R2具有相同的位长,并且消息M的位长是随机数中的一个的位长的多倍。如果后一条件未被满足,则剩余位长可如已经解释的那样进行补充。
在变化形式中,当仍然参考第三运算OP3时,修补相同的位长可通过以下步骤来实现:首先补充消息M直到其位长等于随机数R1、R2中的任何一个的位长的多倍,然后将被补充的消息M分为具有与随机数的位长相同的位长的块,然后将这些块中的每一个用作新消息(M)以由本加密方法的步骤来处理。
根据另一实施例并且为了简单起见,被用于该方法中的加密密钥优选地至少是第二密钥K2和共享密钥K,并具有相同的位长。由于同样的原因,所有随机数R1、R2也具有相同的位长。
有利地,通过在每个设备处生成随机数,并且通过将所有生成的随机数既用于获得用于计算密文C的加密密钥K2、K3,又用于确定待加密的伪消息M’,本发明的主题显著提高了应用于被交换消息M的安全性。
仍然有利地,即使随机数中的一个被恶意人员猜测到,后者也将不能推断出已被用于对伪消息M’进行加密的密钥。此外,考虑到为了恢复原消息M,该人首先需要拥有所有随机数,然后他需要知道在该方法中第三运算(OP3)执行了什么,即使该密钥可被这样的人发现,他仍将不能从伪消息M’中获得初始消息M。基于该运算的特性,这还需要知道在该运算中使用的所有运算符,甚至需要知道在该运算中使用的每个运算符和每个运算对象的顺序。
仍然有利地,在本方法中实现的加密算法A1、A2中的任何一个中,共享密钥K从不直接被用作加密密钥。相反,共享密钥K只被用于数学运算(OP1、OP4)中,这些运算的结果随后作为密钥被用于这些算法中。因此,共享密钥K从不直接暴露于加密算法内的第一方案处。
优选地,每当消息M需要进行交换时执行本方法的步骤。无论本方法的实施例是什么,这一点均可适用。因此,考虑到每当新消息需要进行发送时由每个设备生成新的随机数,所以由每个设备生成的随机数具有一次性。因此,无论何时消息M被交换,有利地是共享密钥K是不同的。这提供了用于安全地交换消息的健壮方法,特别是用于防止任何DFA攻击的方法。
最后,应该注意的是,消息M可包括任何类型的数据,特别是敏感数据,诸如密码、控制字、加密密钥或任何其他机密信息。
本发明还涉及适于实现上述方法的任何实施例的设备或系统。
参考图4,后者以更具体的方式示意性地示出了图1的系统中所示的设备10、20中的一个。该设备可被无差别地用作发送设备D1或接收设备D2,并且优选地甚至作为发送设备和接收设备两者。为实现这一目的,该设备包括若干部件,这些部件至少包括:
-通信接口1,用于数据交换(M’、R1、R2......),特别用于与至少一个其他设备交换数据,
-安全存储器2,用于存储共享密钥K,
-随机生成器3,用于在消息M需要进行交换时生成随机数R1,优选地是每当该消息需要进行交换时生成随机数R1,
-至少一个计算单元7,用于输出使用运算对象(例如,R1、R2、K、M)作为输入的运算(OP1、OP2、OP3、OP4)的至少一个结果,
-至少一个加密单元8,用于凭借至少一个加密密钥(K1、K2、K3)来执行算法(A1、A2),以及
-中央处理单元5,负责根据上述加密方法的步骤来管理上述部件(1、2、3、7、8)。
设备10、20可被用于敏感数据需要被安全地交换的所有情况。该设备可采用电子电路的形式(集成电路,优选地是单片电路),诸如适于插入另一设备中的智能卡或芯片组。后者可以是机顶盒(在付费TV领域内)、智能电话或任何其他通信设备。在变化形式中,这样的智能卡还可被用作单独设备,例如,用于与控制终端通信的银行卡(信用卡或支付卡)或门禁卡。
每个运算OP1、OP2、OP3、OP4的计算可以通过使用被配置为执行不同运算的单个计算单元7来执行,或者通过使用分别专用于这些运算中的一个的若干个计算单元7来执行。相同的原理适用于关于算法A1、A2的加密单元8。
本发明还涉及如图1所示的系统。该系统包括连接在一起的至少两个加密设备10、20,用于实现上述方法的任何实施例。该系统的每个设备10、20至少包括以上对作为本发明的其他主题来呈现的设备的详细描述过程中所列出的部件。此外,该系统的任何设备可包括上述相关的可选特征中的至少一个。

Claims (13)

1.一种用于在至少两个设备(D1、D2)之间安全地交换消息(M)的加密方法,每个设备存储所述设备共有的共享密钥(K),所述方法包括以下步骤:
-在每个设备处生成随机数(R1、R2),
-由每个设备向其他设备发送所生成的随机数(R1、R2),
-在每个设备处通过计算第一运算来确定第一密钥(K1),所述第一运算使用所述共享密钥(K)和每个随机数(R1、R2)作为运算对象,
-在每个设备处通过采用第一算法对第二运算的结果进行加密来确定第二密钥(K2),所述第一算法使用所述第一密钥(K1)作为加密密钥,所述第二运算至少使用每个随机数(R1、R2)作为运算对象,
-由作为发送设备(D1)的所述设备中的一个设备通过计算可逆第三运算来确定伪消息(M’),所述可逆第三运算使用所述消息(M)和每个随机数(R1、R2)作为运算对象,
-由所述发送设备(D1)计算密文(C),所述密文(C)由采用第二算法对所述伪消息(M’)进行加密而产生,所述第二算法使用所述第二密钥(K2)作为直接或间接的加密密钥,
-从所述发送设备(D1)向作为接收设备(D2)的至少一个其他设备发送所述密文(C),
-在所述接收设备(D2)处接收所述密文(C),
-在所述接收设备(D2)处通过使用所述第二密钥(K2)作为所述第二算法的直接或间接的解密密钥来对所述密文(C)进行解密,以恢复所述伪消息(M’),
-通过逆转所述第三运算从所述伪消息(M’)中获得所述消息(M)。
2.如权利要求1所述的加密方法,其中,在所述第二算法内,将所述第二密钥(K2)用作间接加密或解密密钥是用第三密钥(K3)来执行的,所述第三密钥(K3)在每个设备处由第四运算来确定,所述第四运算使用所述第二密钥(K2)和所述共享密钥(K)作为运算对象。
3.如权利要求1或2所述的加密方法,其中,所述运算中的至少任何一个的至少一部分包括逻辑运算。
4.如权利要求3所述的加密方法,其中,所述逻辑运算是异或运算。
5.如前述权利要求中的任一项所述的加密方法,其中,如果所述运算中的任何一个的运算对象具有不同的位长,则针对每个所述运算对象修补相同的位长。
6.如权利要求5所述的加密方法,其中,修补相同位长通过平衡步骤来实现,所述平衡步骤旨在补充具有最小位长的运算对象直到其位长等于其他运算对象中的任何一个的位长,然后重复所述平衡步骤直到所有运算对象或被补充的运算对象具有相同的位长。
7.如权利要求6所述的加密方法,其中,所述平衡步骤通过以下步骤来执行:首先通过将具有最小位长的运算对象与其自身连接,直到达到与另一运算对象的位长相同的位长;或者直到达到小于另一运算对象的位长的位长,其中这两个位长之间的差小于所述被连接的运算对象的位长。
8.如权利要求7所述的加密方法,其中,所述平衡步骤被应用于所述第三运算,并且具有最小位长的运算对象是所述随机数(R1、R2)中的任一个,而所述其他运算对象是消息(M)。
9.如前述权利要求中的任一项所述的加密方法,其中,所述第一算法使用单向函数。
10.如前述权利要求中的任一项所述的加密方法,其中,所述运算中的至少任何一个的至少一部分包括幂数,其中,所述运算对象中的任一个被用作从其他运算对象中选择的所述数的指数。
11.一种用于实现权利要求1到10中的任一项所述的加密方法的加密设备(10、20),所述加密设备包括若干部件,所述部件至少包括:通信接口(1),用于数据交换;安全存储器(2),用于存储共享密钥(K);随机生成器(3),用于生成随机数(R1、R2);至少一个计算单元(7),用于输出使用运算对象作为输入的运算的结果;至少一个加密单元(8),用于借助至少一个加密密钥(K1、K2、K3)来运行算法;以及中央处理单元(5),负责根据所述加密方法的步骤来管理所述部件。
12.如权利要求11的加密设备(10、20),其特征在于它由单片电路制成。
13.一种包括连接在一起的用于实现权利要求1到10中的任一项所述的加密方法的至少两个加密设备(10、20)的系统,其中,每个所述设备包括若干部件,所述部件至少包括:通信接口(1),用于数据交换;安全存储器(2),用于存储共享密钥(K);随机生成器(3),用于生成随机数(R1、R2);至少一个计算单元(7),用于输出使用运算对象作为输入的运算的结果;至少一个加密单元(8),用于借助至少一个加密密钥(K1、K2、K3)来运行算法;以及中央处理单元(5),负责根据所述加密方法的步骤来管理所述部件。
CN201510317381.0A 2014-06-12 2015-06-11 安全地交换消息的加密方法及实现该方法的设备和系统 Active CN105207772B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14172225.6 2014-06-12
EP14172225.6A EP2955871B1 (en) 2014-06-12 2014-06-12 Cryptographic method for securely exchanging messages and device and system for implementing this method

Publications (2)

Publication Number Publication Date
CN105207772A true CN105207772A (zh) 2015-12-30
CN105207772B CN105207772B (zh) 2018-08-10

Family

ID=50933051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510317381.0A Active CN105207772B (zh) 2014-06-12 2015-06-11 安全地交换消息的加密方法及实现该方法的设备和系统

Country Status (11)

Country Link
US (1) US9648026B2 (zh)
EP (1) EP2955871B1 (zh)
JP (1) JP6499519B2 (zh)
KR (1) KR102383829B1 (zh)
CN (1) CN105207772B (zh)
AU (1) AU2015202994A1 (zh)
CA (1) CA2893067C (zh)
DK (1) DK2955871T3 (zh)
ES (1) ES2619613T3 (zh)
NZ (1) NZ708697A (zh)
SG (1) SG10201504276RA (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109923830A (zh) * 2016-11-04 2019-06-21 华为国际有限公司 用于配置无线网络接入设备的系统和方法
CN114073036A (zh) * 2019-07-04 2022-02-18 巴斯夫欧洲公司 用于信息加密的伪随机数生成的新方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015225651A1 (de) * 2015-12-17 2017-06-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Übertragen einer Software
US9741671B1 (en) * 2016-11-10 2017-08-22 Nxp B.V. Semiconductor die with backside protection
WO2018152618A1 (en) 2017-02-27 2018-08-30 Cord3 Innovation Inc. Symmetric cryptographic method and system and applications thereof
US10742408B2 (en) 2017-02-27 2020-08-11 Cord3 Innovation Inc. Many-to-many symmetric cryptographic system and method
CN108199832B (zh) * 2017-12-28 2021-02-26 东华大学 一种cloc认证加密算法抵御差分故障攻击的检测方法
US11343672B2 (en) 2019-02-20 2022-05-24 Coretigo Ltd. Secure communication encryption and decryption mechanism in a wireless communication system
KR102080438B1 (ko) 2019-05-21 2020-02-21 오세정 마시는 모링가 수의 제조방법, 이에 의해 제조된 모링가 수, 그리고 모링가 원액 추출 장치, 그리고 모링가 원액 추출 장치
KR20210131114A (ko) 2020-04-23 2021-11-02 한국전자통신연구원 신경망 동기화에 기반한 비밀키 생성 방법 및 장치
US11924339B2 (en) 2021-04-15 2024-03-05 Real Random IP, LLC System and method for secure end-to-end electronic communication using a privately shared table of entropy

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534931A (zh) * 2003-04-02 2004-10-06 华为技术有限公司 一种在无线局域网中生成动态密钥的方法
CN1620005A (zh) * 2003-11-18 2005-05-25 华为技术有限公司 一种安全发送传输密钥的方法
WO2005088895A1 (fr) * 2004-03-11 2005-09-22 Oberthur Card Systems S.A. Procede de traitement de donnees securise, base notamment sur un algorithme cryptographique
CN1692598A (zh) * 2002-12-03 2005-11-02 松下电器产业株式会社 密钥共享系统、共享密钥生成装置及共享密钥复原装置
EP1358733B1 (fr) * 2001-02-08 2005-12-07 Stmicroelectronics SA Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01122227A (ja) * 1987-11-06 1989-05-15 Konica Corp 伝送装置
US5602917A (en) * 1994-12-30 1997-02-11 Lucent Technologies Inc. Method for secure session key generation
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
AUPO323496A0 (en) * 1996-10-25 1996-11-21 Monash University Digital message encryption and authentication
US7436966B2 (en) * 2002-08-21 2008-10-14 International Business Machines Corporation Secure approach to send data from one system to another
JP4611642B2 (ja) * 2004-01-16 2011-01-12 三菱電機株式会社 認証システム
KR100809393B1 (ko) * 2005-11-01 2008-03-05 한국전자통신연구원 Epon에서의 키 분배 방법
JP2007189659A (ja) * 2005-12-15 2007-07-26 Toshiba Corp 暗号化装置、暗号化方法及び暗号化プログラム
JP4613969B2 (ja) * 2008-03-03 2011-01-19 ソニー株式会社 通信装置、及び通信方法
JP5845393B2 (ja) * 2011-04-28 2016-01-20 パナソニックIpマネジメント株式会社 暗号通信装置および暗号通信システム
JP5700128B2 (ja) * 2011-07-27 2015-04-15 富士通株式会社 暗号化処理装置および認証方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1358733B1 (fr) * 2001-02-08 2005-12-07 Stmicroelectronics SA Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede
CN1692598A (zh) * 2002-12-03 2005-11-02 松下电器产业株式会社 密钥共享系统、共享密钥生成装置及共享密钥复原装置
CN1534931A (zh) * 2003-04-02 2004-10-06 华为技术有限公司 一种在无线局域网中生成动态密钥的方法
CN1620005A (zh) * 2003-11-18 2005-05-25 华为技术有限公司 一种安全发送传输密钥的方法
WO2005088895A1 (fr) * 2004-03-11 2005-09-22 Oberthur Card Systems S.A. Procede de traitement de donnees securise, base notamment sur un algorithme cryptographique

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109923830A (zh) * 2016-11-04 2019-06-21 华为国际有限公司 用于配置无线网络接入设备的系统和方法
CN114073036A (zh) * 2019-07-04 2022-02-18 巴斯夫欧洲公司 用于信息加密的伪随机数生成的新方法

Also Published As

Publication number Publication date
JP2016005273A (ja) 2016-01-12
DK2955871T3 (en) 2017-05-01
JP6499519B2 (ja) 2019-04-10
CA2893067C (en) 2022-11-01
US9648026B2 (en) 2017-05-09
AU2015202994A1 (en) 2016-01-07
EP2955871A1 (en) 2015-12-16
SG10201504276RA (en) 2016-01-28
US20150365424A1 (en) 2015-12-17
ES2619613T3 (es) 2017-06-26
CN105207772B (zh) 2018-08-10
EP2955871B1 (en) 2017-01-11
NZ708697A (en) 2018-01-26
BR102015013579A2 (pt) 2018-05-29
KR20150142623A (ko) 2015-12-22
KR102383829B1 (ko) 2022-04-06
CA2893067A1 (en) 2015-12-12

Similar Documents

Publication Publication Date Title
CN105207772A (zh) 安全地交换消息的加密方法及实现该方法的设备和系统
CN102725737B (zh) 可验证防泄漏的加密和解密
CN104468089B (zh) 数据保护装置及其方法
CN108475237A (zh) 存储器操作加密
US11210658B2 (en) Constructing a distributed ledger transaction on a cold hardware wallet
TWI517653B (zh) 電子裝置及密碼材料供應之方法
CA2993748A1 (en) Pos system with white box encryption key sharing
US20150215117A1 (en) White box encryption apparatus and method
US9961057B2 (en) Securing a cryptographic device against implementation attacks
CN104378196A (zh) 加解密算法的安全执行方法和装置
US20120093308A1 (en) Apparatus and method for generating random data
Meijer et al. Ciphertext-only cryptanalysis on hardened Mifare classic cards
US7779272B2 (en) Hardware cryptographic engine and encryption method
CN109617671A (zh) 加解密、扩展方法及装置、加解密系统、终端
US11336425B1 (en) Cryptographic machines characterized by a Finite Lab-Transform (FLT)
CN101867471A (zh) 基于无理数的des认证加密算法
CN106341384A (zh) 用于促进安全通信的方法
EP3200173B1 (en) Method of protecting electronic circuit against eavesdropping by power analysis and electronic circuit using the same
JP6194136B2 (ja) 疑似乱数生成装置及び疑似乱数生成プログラム
JP5945525B2 (ja) 鍵交換システム、鍵交換装置、その方法、及びプログラム
CN114124366A (zh) 一种可信芯片的密钥生成方法及相关设备
Meijer et al. Ciphertext-only cryptanalysis on hardened mifare classic cards extended
Verma et al. An innovative Enciphering Scheme based on Caesar Cipher
CN117278212A (zh) 密钥生成方法、装置、系统、电子设备及可读存储介质
JP2021047371A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant