CN101753292B - 用于链接式加密模式的方法和设备 - Google Patents

用于链接式加密模式的方法和设备 Download PDF

Info

Publication number
CN101753292B
CN101753292B CN200910259040.7A CN200910259040A CN101753292B CN 101753292 B CN101753292 B CN 101753292B CN 200910259040 A CN200910259040 A CN 200910259040A CN 101753292 B CN101753292 B CN 101753292B
Authority
CN
China
Prior art keywords
key
plaintext block
current
ciphertext blocks
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.)
Expired - Fee Related
Application number
CN200910259040.7A
Other languages
English (en)
Other versions
CN101753292A (zh
Inventor
***·卡若米
斯蒂芬·昂奴
安东尼·蒙西弗罗特
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN101753292A publication Critical patent/CN101753292A/zh
Application granted granted Critical
Publication of CN101753292B publication Critical patent/CN101753292B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • 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
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

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)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种加密链接模式,取得(910)明文块N、通过将加密密钥N-1与明文块N-1进行组合,优选地进行异或,来产生(920)加密密钥N、以及利用加密密钥N,使用加密算法对明文块N进行加密(930),以输出(940)密文块N。通过将随机初始化矢量(IV)与随机初始化密钥K进行异或来为第一明文块产生加密密钥。在优选实施例中,初始化密钥K是从密钥调度算法得到的子密钥,并且加密密钥N-1仅是子密钥之一。通过将随机初始化矢量(IV)与从密钥调度算法得到的一个子密钥进行异或来为第一明文块产生加密密钥。还提供了相应的解密方法、加密设备(1110)和解密设备(1120)。

Description

用于链接式加密模式的方法和设备
技术领域
本发明总体上涉及加密,具体地,涉及按块进行的数据的链接式加密。
背景技术
本节意在向读者介绍可能与以下描述和/或要求保护的本发明的各方面相关的领域的各个方面。相信这种讨论有助于向读者提供背景信息,以便于更好地理解本发明的各个方面。相应地,应注意,应根据这一点来阅读这些陈述,而不应将其接纳为现有技术。
存在许多传统加密模式用于对数字数据(如文本、音频和视频)进行加密和保护。这些模式中的大多数将数据进行划分以加密为块,并包括链接步骤。这种模式的示例是密码块链接(CBC)、密码反馈模式(CFB)、以及输出反馈模式(OFB)。这些模式的共同特征在于,链接步骤基于先前加密的数据块。例如,可以在“Applied CryptographySecond Edition”,Bruce Schneier,1996,John Wiley&Sons,Inc.USA中找到对这些模式的描述。
例如,在WO 2007/118829中也描述并在图1中示意了CBC,CBC使用先前加密的数据块对当前数据块进行加密。图1示出了第一数据块“明文块1”与初始化矢量IV如何进行异或,以及如何使用高级加密标准(AES)算法和密钥对输出进行加密,以产生第一加密数据块(密码块1)。在对下一数据块“明文块2”进行加密期间,与该下一数据块进行异或的是该第一加密数据块。重复该过程,直到对最后数据块进行加密为止。从相反方向执行解密,即使用AES和密钥对第一加密数据块进行解密,并将输出与IV进行异或来获得第一数据块。
WO 2007/118829还描述了明文块链接(PCB),其中,取而代之地,从先前明文块和对于整个加密而言相同的加密密钥来产生用于加密的密钥。该现有技术文献还描述了交替使用CBC和PCB用于对明文块进行加密。
尽管CBC明文中的任何改变将无限地传播,但密文中的改变则并不如此。为了克服该缺陷。开发了传播密码块链接模式(PCBC)。在图2中示意了PCBC。
PCBC被称为是将要加密的每个明文块首先与先前明文块进行异或的CBC。可以看到,明文块2首先与明文块1进行异或,然后如在CBC中一样对输出进行处理,即将其与先前密文块“密文块1”进行异或,再进行加密以产生密文块2,密文块2用于对下一明文块的异或运算。本质上,第一明文块与空块进行异或,这是由于不存在先前明文块。
然而,已经发现,交换块不会影响除了所交换的块之外的明文块,这意味着不会改变不会无限传播。
为了克服该缺陷,已经提出了被称为修改的PCBC(MPCBC)的模式。在图3中示出了MPCBC。该模式通过从加密之前至加密之后改变与先前明文块的异或的位置来修改PCBC。可以看到,明文块“明文块2”与先前密文块“密文块1”进行异或,以为加密提供输入,然后,加密的输出与先前明文块“明文块1”进行异或,以给出密文“密文块2”。
尽管看起来MPCBC工作得很好,但本领域技术人员将认识到,在被认为安全的协议可能实际上包括未预期的安全性漏洞的意义上,密码协议是敏感的。
因此,将认识到,需要为解决现有技术的缺陷提供备选方案的加密模式。本发明提供了这样的备选方案。
发明内容
在第一方面,本发明涉及一种产生用于对数字数据的当前明文块进行加密的密钥的方法,所述当前明文块属于至少两个明文块的有序序列。一种设备获取当前明文块,并且通过将先前明文块与第一加密密钥进行组合来为当前明文块产生第二加密密钥。
在第一优选实施例中,第一加密密钥是初始化加密密钥。
在第二优选实施例中,第一加密密钥是已用来对所述先前明文块进行加密的加密密钥,所述先前明文块是所述有序序列中紧接在当前明文块之前的明文块。
在第二方面,本发明涉及一种用于对数字数据的当前明文块进行加密的方法,所述当前明文块属于至少两个明文块的有序序列。一种加密设备使用本发明第一方面的方法来获得加密密钥,并且利用所产生的加密密钥使用加密算法来对当前明文块进行加密。
在第三方面,本发明涉及一种产生用于对数字数据的当前密文块进行解密的密钥的方法,所述当前密文块属于至少两个密文块的有序序列。解密设备获取当前密文块,并通过将先前获得的明文块与第一解密密钥进行组合来为当前密文块产生第二解密密钥。
在第一优选实施例中,第一解密密钥是已用来获得先前明文块的解密密钥,所述先前明文块与所述有序序列中紧接在当前密文块之前的密文块相对应。
在第二优选实施例中,在第二解密密钥产生步骤中,在组合之前将单向函数应用于先前获得的明文块。
在第三优选实施例中,用于对所述先前明文块进行解密的解密密钥是从密钥调度算法得到的多个子密钥中的子密钥,或者是用于对所述先前明文块进行解密的多个子密钥中的子密钥。
在第四方面,本发明涉及一种用于对数字数据的当前密文块进行解密的方法,所述当前密文块属于至少两个密文块的有序序列。一种解密设备使用第三方面的方法来获得解密密钥,并且利用所产生的解密密钥使用解密算法来对当前密文块进行解密。
在第五方面,本发明涉及一种产生用于对数字数据的当前明文块进行加密的加密密钥的设备,所述当前明文块属于至少两个明文块的有序序列。所述设备包括:通信单元,适于获取当前明文块;以及处理器,适于通过将先前明文块与第一加密密钥进行组合来为当前明文块产生第二加密密钥。
在第六方面,本发明涉及一种产生用于对数字数据的当前密文块进行解密的解密密钥的设备,所述当前密文块属于至少两个密文块的有序序列。所述设备包括:通信单元,适于获取当前密文块;以及处理器,适于通过将先前获得的明文块与第一解密密钥进行组合来为当前密文块产生第二解密密钥。
在优选实施例中,多个子密钥用于对密文块进行解密,并且处理用适于从所述多个子密钥中找出至少一个子密钥来与所述先前明文块进行组合。
附图说明
现在参考附图,通过非限制性示例来描述本发明的优选特征,其中:
图1(已描述)示出了现有技术的密码块链接(CBC)模式;
图2(已描述)示出了现有技术的传播密码块链接(PCBC)模式;
图3(已描述)示出了现有技术的修改的传播密码块链接(MPCBC)模式;
图4示出了根据本发明第一优选实施例的链接模式;
图5示出了根据本发明第二优选实施例的链接模式;
图6示出了根据本发明变型实施例的链接模式;
图7示出了密钥调度算法;
图8示出了根据本发明的方法的另一变型实施例;
图9示出了根据本发明的链接模式的优选实施例对明文块进行加密的方法;
图10示出了根据本发明的链接模式的优选实施例对明文块进行解密的方法;以及
图11示出了根据本发明优选实施例使用链接模式进行加密和解密的设备。
具体实施方式
本发明针对一种产生用于对数字数据的当前明文块进行加密的加密密钥的方法,当前明文块属于至少两个明文块的有序序列。获取当前明文块,并且通过将先前明文块与第一加密密钥进行组合来为当前明文块产生第二加密密钥。
本发明具有至少两种变型:迭代变型和非迭代变型。在迭代变型中,第一加密密钥是已用来对先前明文块进行加密的加密密钥,先前明文块是有序序列中紧接在当前明文块之前的明文块。在非迭代变型中,第一加密密钥是初始化加密密钥,该加密密钥对于至少两个明文块的加密密钥的产生保持不变。在解密侧,这些变型也适用于产生解密密钥。
图4示出了根据本发明第一优选实施例的链接模式,“非迭代变型”。图的上半部示出了加密,图的下半部示出了解密。
由于不存在在前的明文块,必须以特殊方式来处理第一明文块“明文块1”。为此,正如现有技术中,图4中的方法使用已知的优选随机的初始化密钥K和优选随机的初始化矢量IV。可以以非受保护的形式来发送IV,而必须将密钥安全地传输至加密内容的接收机。本领域技术人员将认识到,例如,可以将密钥K传输至利用接收机的设备密钥加密的接收机。该加密步骤可以使用公共密钥密码或对称密钥密码来执行。如果利用对称密钥来进行,则本发明还可以用于对初始化密钥K进行加密。
使用由初始化密钥K与随机IV异或而产生的加密密钥来对明文块1进行加密,以产生密文块1。使用通过将先前明文块与初始化密钥K进行异或而获得的新加密密钥来对每个后续明文块进行加密。一旦对明文块进行了加密,就立即逐一传输所获得的密文块,但是还可以将两个或多个(直至所有)密文块组合以用于传输。
使用由初始化密钥K与IV之间的异或而产生的解密密钥来对密文块1进行解密,以产生明文块1。使用通过对先前产生的明文块和初始化密钥K进行异或而获得的新解密密钥来对每个后续密文块进行解密。
本领域技术人员将认识到,有利地,加密密钥和解密密钥相同。
应当注意,尽管可以以在加密时定义的顺序来进行解密过程,例如,密文块1、然后是密文块2,...,密文块N,但是,在该第一优选实施例中,由于加密密钥至少取决于先前明文块和一个基本密钥(如初始化密钥),因此可以以任何顺序来进行加密过程。例如,可以以相反的顺序来进行加密过程,即首先对密文块N进行加密,然后对密文块N-1,...,密文块1进行加密。这不会影响在解密时的顺序,解密时的顺序仍为密文块1、然后是密文块2,...,密文块N。这是可能的,由于这是用来修改加密密钥的明文块。
图5示出了根据本发明的第二优选实施例的链接模式,“迭代变型”。图的上半部示出了加密,图的下半部示出了解密。
由于不存在在前的明文块,必须以特殊方式来处理第一明文块“明文块1”。为此,正如在现有技术中,图5和6中的方法使用已知的优选随机的初始化密钥K和优选随机的初始化矢量IV。可以以非受保护的形式来发送IV,但是必须将密钥安全传输至加密内容的接收机。本领域技术人员将认识到,例如可以将密钥K传输至利用接收机的设备密钥进行加密的接收机。该加密步骤可以使用公共密钥密码或对称密钥密码来执行。如果利用对称密钥来进行,则本发明还可以用于对初始化密钥K进行加密。
使用由与初始化密钥K随机IV进行异或而产生的加密密钥来对明文块1进行加密,以产生密文块1。使用通过将先前明文块与用于对先前明文块进行加密的密钥进行异或而获得的新加密密钥来对每个后续明文块进行加密。一旦对明文块进行了加密,就立即逐一传输所获得的密文块,但是还可以将两个或多个(直至所有)密文块组合以用于传输。
使用由初始化密钥K与IV之间的异或而产生的解密密钥对密文块1进行解密,以产生明文块1。使用通过将先前产生的明文块与用于对先前密文块进行解密的密钥进行异或而获得的新解密密钥来对每个后续密文块进行解密。
本领域技术人员将认识到,有利地,加密密钥和解密密钥相同。
可以以不同方式来实现迭代和非迭代变型。例如,任何块密码算法可以用于加密和解密;优选算法是AES。其他示例是,除了异或以外,使用其他运算来将密钥和明文块进行组合,如模2x加法,其中,x是密钥K的比特长度。还可以在将明文块与密钥组合之前,例如通过应用单向函数来修改该明文块。
此外,本发明可以与类似CBC的任何其他块链接模式操作进行组合。如果与CBC模式组合,则本发明提供对修改的传播密码块链接模式(MPCBC)的一种有趣的备选。在图6中示出了本方法的第二优选实施例与CBC的组合。可以看到,与图5相比添加的特征在于,明文块在加密之前与先前密文块进行组合(通过异或)。
以下描述了可以甚至更高效并更安全地进行所提出的链接模式的特定机制。该机制用于产生加密/解密密钥的方法的两个实施例,迭代和非迭代。由于迭代实施例比非迭代实施例更复杂,这里给出对迭代实施例的描述。
在块密码算法内,一般按照“轮(round)”来进行数据加密。每一轮使用轮密钥或子密钥来处理数据,除了可以改变的子密钥,每一轮的设置相同,即在每一轮中对数据进行迭代加密。从而,多数块密码包括从主密钥K计算子密钥的密钥调度算法。更精确地,密钥调度算法对密钥K和方向(“加密”或“解密”)进行处理,并且如果方向是加密则产生R个子密钥EK0,EK1,...,EKR-1的序列,如果方向是解密则产生DK0,DK1,...,DKR-1。如图7所示,通过R轮来执行加密。类似微型加密算法的一些块密码具有简单的密钥调度,其中将128比特主密钥K分成4个32比特轮密钥并在连续的轮中重复使用。其他块密码使用更复杂的密钥调度;对于AES就是这种情况,AES将密钥K扩展成具有与主密钥K相同长度的多个轮密钥。
当利用相同密钥K对多个块进行加密时,在对第一明文块进行加密之前,密钥调度算法通常在开始时被调用一次。使用先前计算的子密钥来对连续的明文块进行加密。这是在现有技术方法(如CBC或PCBC)中的做法。在本发明中,由于密钥相对于每个块的加密而改变,密钥调度算法必须执行多次;该执行次数与明文块的总数一样多。这在性能上引入了延迟,并降低了加密/解密的速度,这是不期望的。
因此,有利地是具有避免该缺陷的方法的变型实施例。不是将密钥而是将至少一个子密钥与先前明文块进行组合。例如,在用于对先前块进行加密/解密的至少一个子密钥与先前明文块本身之间进行异或运算。
图8示出了使用AES的根据本发明方法的变型实施例。在方向为加密时,AES的128比特版本通过密钥调度算法将128比特密钥K扩展成10个128比特子密钥EK0,EK1,...,EK9。使用10个子密钥对明文块1进行迭代加密,其中第一子密钥是由EK0与IV之间的异或而产生的,并且所有其他子密钥EKi(其中i≠0)保持与由密钥调度原始产生的子密钥相同。使用新的加密子密钥对每个后续明文块N进行迭代加密,该新的加密子密钥是通过取得先前子密钥(用于对先前明文块进行加密)并且将先前明文块N-1与子密钥EKn(其中n是N-1除以10的余数(即,n=N-1%10))进行异或来获得的。所有其他子密钥EKi(其中i≠n)保持与对先前明文块进行加密的子密钥EKi相同。例如,图8示出了针对每个明文块如何修改初始子密钥EK0至EK9;仅针对明文块1修改EK0,仅针对明文块2进一步修改EK1,等等。
在解密期间,通过密钥调度算法将密钥K扩展成10个128比特子密钥DK0,DK1,...,DK9。使用10个子密钥对密文块1进行迭代解密以产生明文块1,其中第一子密钥是由DK0与IV之间进行的异或产生的,并且所有其他子密钥DKi(其中i≠0)与由密钥调度产生的子密钥相同。使用新的解密子密钥来对每个后续密文块N进行迭代解密,该新的解密子密钥是通过取得先前子密钥(用于对先前密文块进行解密)并且将先前明文块N-1与子密钥DKn(其中n是N-1除以10的余数(即n=N-1%10))进行异或来获得的。所有其他子密钥(其中i≠n)保持与对先前密文块进行解密的子密钥DKi相同。
假设仅以预定顺序来进行解密过程(首先是密文块1,然后是密文块2,等等),解密设备能够知道,对于给定密文块的解密,应当将哪个子密钥与先前明文块进行组合。在每个块解密操作之后,可以使用计数器/变量来指出正确的子密钥。
在每个块加密时,通过仅将一个子密钥与先前明文进行异或来对仅修改一个子密钥使得能够具有不多于经典链接模式的操作(在每个块加密时仅添加一次异或操作)。因此将认识到,该变型实施例与现有技术链接模式一样高效。
该方法可以推广至将密钥K扩展至任何数目子密钥的块密码。如果子密钥的总数为R,则使用通过取得先前子密钥(用于对先前块进行加密/解密)并且将先前明文块N-1与子密钥EKn/DKn(其中n是N-1除以R的余数(即,n=N-1%R))进行异或而获得的新的子密钥来对每个块N进行加密/解密。
在另一变型中,通过将用于对先前密文块进行加密/解密的所有先前子密钥与先前明文块N-1进行异或来产生加密/解密子密钥。对于第一明文/密文块,加密/解密子密钥均与初始化矢量IV进行异或。
在另一变型中,通过始终将相同子密钥(即EK0/DK0)与先前明文块N-1进行异或来产生加密/解密子密钥,并且对于第一块,EK0/DK0与IV进行异或。
在又一变型中,使用至少两个先前子密钥(EKi,EKj)/(DKi,DKj)(用于对先前密文块进行加密/解密)与先前明文块一起的任何组合来产生加密/解密子密钥。组合操作可以使用但不限于任何单向函数。
从安全角度看,一些块密码算法由于其密钥调度中的缺点,将受到相关密钥攻击。对于被设计为最小化存储器足迹并最大化速度的微型加密算法(TEA)而言就是这种情况。TEA缺点是由其密钥调度算法过于简单的设计而引起的。
为了防止对块密码的相关密钥攻击,一种强密钥调度是优选的。该密钥调度具有以下属性:
属性1:给定任何子密钥,应当不能仅通过反转所使用的运算来取回其他子密钥或主密钥K。
属性2:应当消除子密钥和主密钥K之间的比特泄漏。
第二属性确保了例如子密钥EKi和子密钥EKi-1或子密钥EKi+1不具有许多共同的比特信息。由于一些攻击利用子密钥之间的关系,因此如果这些关系不存在,则这些攻击将更加复杂。
使用根据本发明的方法,密钥调度输出将不仅取决于密钥K,而且还取决于要加密的明文。如果明文未知,则这使密钥调度更难反转。这是属性1所期望的。换言之,将易受攻击的密钥调度输出与一些明文块混合,使密钥调度不那么容易受攻击。
此外,改变在每个块加密时修改的子密钥实现了属性2。确实,如果密钥调度易受攻击,并针对块N的加密产生具有许多共同比特信息的两个子密钥EKn-1和EKn,则两个运算(EKn-1异或Pn-1和EKn异或Pn)将具有较少的共同信息,这是由于两个明文块Pn-1和Pn可能是不同的。这是在每个块加密/解密时修改子密钥EKn/DKn所进行的操作(其中,n=N-1%R,并且R是块密码算法中轮数)。这样,消除了两个子密钥之间以及甚至子密钥与主密钥K之间的公共信息。
此外,实际上为了建立攻击,通常需要大量的密文,针对大量密文,明文是不同的并利用相同密钥进行加密。利用现有技术方法,当对长消息进行加密时,将长消息分为不同的块并利用相同的密钥进行加密。随后这在汇集所需密文的数量以执行攻击时是有帮助的。根据本发明的方法使这变得更加复杂,这是由于密钥对于长消息的每个块的加密是改变的。
图9还示出了根据本发明优选实施例的一般加密方法。在图9中,对单个明文块进行加密,但是将认识到,能够通过迭代来推广所述方法。首先,获取910明文块N,并且使用明文块N-1和加密密钥N-1来产生920加密密钥N。在优选实施例中,使用异或来组合明文块N-1和加密密钥N-1。将认识到,步骤910也可以在步骤920之后进行。然后,使用加密算法和加密密钥N来对明文块N进行加密930,获得940密文块N,然后对该密文块N进行传输和存储。如上所述,然后可以利用对N增加1来对该方法进行迭代。
图10还示出了根据本发明优选实施例的解密方法。在图10中,对单一密文块进行解密,但是将认识到,能够通过迭代来推广该方法。首先,获取1010密文块N,并且使用明文块N-1和解密密钥N-1来产生1020解密密钥N。在优选实施例中,使用异或来组合明文块N-1和解密密钥N-1。将认识到,步骤1010也可以在步骤1020之后进行。然后,使用解密算法和解密密钥N来对密文块N进行解密1030,获得1040明文块N。如上所述,然后可以利用对N增加1来对该方法进行迭代。
如上文中所述的加密方法,使用可能由解密单元先前已知或从而在解密开始之前接收的初始化密钥,对第一块进行解密。
图11示出了根据本发明优选实施例的加密***。加密***1100包括加密设备1110和解密设备1120。加密设备111适于接收明文、对接收的明文进行加密、以及输出所获得的密文。类似地,解密设备1120适于接收密文、对接收的密文进行解密、以及输出所获得的明文。
更详细地,加密设备1110包括:至少一个通信单元“I/O”1116,适于接收明文和输出密文;以及优选地至少一个存储器1114,有利地适于存储明文、中间结果、密文以及至少一个加密密钥。设备1110还包括:保护区1118,适于存储一个或多个设备秘密密钥。设备秘密密钥用来在传输初始化密钥K之前对其进行加密。对加密设备1110要使用的设备密钥的选择取决于加密数据的接收机。保护区1118优选地防止软件改变和物理篡改。由于加密设备1110将使用公共密钥进行加密,因此如果使用不对称密码对初始化密钥K进行加密,则不需要保护区1118。此外,加密设备1110包括:处理器1112,适于根据这里描述的方法的任一实施例来执行明文的加密。
类似地,更详细地,解密设备1120包括:至少一个通信单元“I/O”1126,适于接收密文和输出明文;以及优选地至少一个存储器1124,有利地适于存储明文、中间结果、密文以及至少一个解密密钥。设备1120还包括:保护区1128,适于存储设备秘密密钥。设备秘密密钥在被传输至解密设备1120之前由加密设备1110预先使用来对初始化密钥K进行加密。保护区1128优选地防止软件改变和物理篡改。优选地使用保护区1128,由于即使使用不对称密码对初始化密钥K进行加密,解密设备1120也将使用私有密钥用于K的解密,并且该私有密钥需要受到保护并需要在安全区中存储。此外,解密设备1120包括:处理器1120,适于使用根据这里描述的方法的任一实施例执行明文解密。
还示出了分别在其上存储有计算机可读指令的数据存储介质1130、1140,当在处理器中执行时,所述计算机可读指令根据这里描述的方法的任一实施例的加密方法或解密方法。
可以认识到,本发明提供了一种对修改的明文和密文块链接模式(MPCBC)的更安全的备选方案,同时在至少一个变型实施例中,该备选方案一样高效。
可以独立地或以任何合适组合来提供说明书以及(在合适时)权利要求和附图中公开的每个特征。被描述为以硬件实现的特征也可以以软件实现,反之亦然。
权利要求中出现的参考标记仅作为示意,不应对权利要求的范围起限制作用。

Claims (10)

1.一种产生用于对数字数据的当前明文块进行加密的密钥的方法,所述当前明文块属于至少两个明文块的有序序列,所述方法包括在设备(1110)处执行的以下步骤:
获取(910)当前明文块;
通过将先前明文块与第一加密密钥进行组合来为当前明文块产生(920)第二加密密钥,其中,第一加密密钥是已用来对所述先前明文块进行加密的加密密钥,所述先前明文块是所述有序序列中紧接在当前明文块之前的明文块。
2.根据权利要求1所述的方法,其中,第一加密密钥是初始化加密密钥。
3.一种对数字数据的当前明文块进行加密的方法,所述当前明文块属于至少两个明文块的有序序列,所述方法包括在加密设备(1110)处执行的以下步骤:
使用权利要求1所述的方法来产生(910、920)加密密钥;以及
利用所产生的加密密钥,使用加密算法来对当前明文块进行加密(930)。
4.一种产生用于对数字数据的当前密文块进行解密的密钥的方法,所述当前密文块属于至少两个密文块的有序序列,所述方法包括在设备(1120)处执行的以下步骤:
获取(1010)当前密文块;
通过将先前获得的明文块与第一解密密钥进行组合来为当前密文块产生(1020)第二解密密钥,其中,第一解密密钥是已用来获得先前明文块的解密密钥,所述先前明文块与所述有序序列中紧接在当前密文块之前的密文块相对应。
5.根据权利要求4所述的方法,其中,在第二解密密钥产生步骤中,在组合之前将单向函数应用于先前获得的明文块。
6.根据权利要求4所述的方法,其中,用于对所述先前明文块进行解密的解密密钥是从密钥调度算法得到的多个子密钥中的子密钥,或者是用于对所述先前明文块进行解密的多个子密钥中的子密钥。
7.一种对数字数据的当前密文块进行解密的方法,所述当前密文块属于至少两个密文块的有序序列,所述方法包括在解密设备(1020)处执行的以下步骤:
使用权利要求4所述的方法来获得(1010、1020)解密密钥;以及
利用所产生的解密密钥,使用解密算法来对当前密文块进行解密(1030)。
8.一种产生用于对数字数据的当前明文块进行加密的密钥的设备,所述当前明文块属于至少两个明文块的有序序列,所述设备包括:
用于获取当前明文块的装置;以及
用于通过将先前明文块与第一加密密钥进行组合来为当前明文块产生第二加密密钥的装置,其中,第一加密密钥是已用来对所述先前明文块进行加密的加密密钥,所述先前明文块是所述有序序列中紧接在当前明文块之前的明文块。
9.一种产生用于对数字数据的当前密文块进行解密的密钥的设备,所述当前密文块属于至少两个密文块的有序序列,所述设备包括:
用于获取当前密文块的装置;以及
用于通过将先前获得的明文块与第一解密密钥进行组合来为当前密文块产生第二解密密钥的装置,其中,第一解密密钥是已用来获得先前明文块的解密密钥,所述先前明文块与所述有序序列中紧接在当前密文块之前的密文块相对应。
10.根据权利要求9所述的设备,其中,用于对所述先前明文块进行解密的解密密钥是从密钥调度算法得到的多个子密钥中的子密钥,或者是用于对所述先前明文块进行解密的多个子密钥中的子密钥。
CN200910259040.7A 2008-12-15 2009-12-09 用于链接式加密模式的方法和设备 Expired - Fee Related CN101753292B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08305947.7 2008-12-15
EP08305947A EP2197144A1 (en) 2008-12-15 2008-12-15 Methods and devices for a chained encryption mode

Publications (2)

Publication Number Publication Date
CN101753292A CN101753292A (zh) 2010-06-23
CN101753292B true CN101753292B (zh) 2014-06-18

Family

ID=40714270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910259040.7A Expired - Fee Related CN101753292B (zh) 2008-12-15 2009-12-09 用于链接式加密模式的方法和设备

Country Status (5)

Country Link
US (1) US8259934B2 (zh)
EP (2) EP2197144A1 (zh)
JP (1) JP2010140026A (zh)
KR (1) KR20100069610A (zh)
CN (1) CN101753292B (zh)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650408B2 (en) 2010-09-08 2014-02-11 Xilinx, Inc. Protecting against differential power analysis attacks on decryption keys
US8832462B2 (en) * 2010-09-08 2014-09-09 Xilinx, Inc. Protecting against differential power analysis attacks on sensitive data
US8751789B2 (en) * 2010-09-17 2014-06-10 International Business Machines Corporation General purpose distributed encrypted file system
EP2487828A1 (en) 2011-02-10 2012-08-15 Thomson Licensing Method and device for generating control words
JP5672037B2 (ja) * 2011-02-10 2015-02-18 大日本印刷株式会社 暗号化方法、復号方法、暗号化装置、復号装置及び暗号化/復号システム
CN102136906A (zh) * 2011-04-29 2011-07-27 贵阳高新华美龙技术有限公司 一种快速生成防伪码的加密算法
CN102546151A (zh) * 2012-03-22 2012-07-04 山东泰信电子有限公司 一种数据加密、解密方法
CN102594549B (zh) * 2012-03-22 2015-02-11 山东泰信电子股份有限公司 一种数据多级加密、解密方法
CN102594548B (zh) * 2012-03-22 2015-06-10 山东泰信电子股份有限公司 一种实现数据分段加密、解密的方法
JP5875441B2 (ja) 2012-03-29 2016-03-02 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データを暗号化する装置及び方法
US9158499B2 (en) * 2012-04-30 2015-10-13 Freescale Semiconductor, Inc Cryptographic processing with random number generator checking
CN103427987B (zh) * 2012-05-25 2016-05-18 纬创资通股份有限公司 数据加密的方法、数据验证方法及电子装置
US9425959B1 (en) * 2012-10-03 2016-08-23 Altera Corporation Security variable scrambling
EP2717511A1 (en) * 2012-10-05 2014-04-09 Nagravision S.A. Method and device for digital data blocks encryption and decryption
GB2513376A (en) * 2013-04-25 2014-10-29 Ibm Distribution of encrypted information in multiple locations
US9735955B2 (en) * 2013-07-12 2017-08-15 The Board Of Regents Of The University Of Oklahoma Optical cryptography systems and methods
US9160525B2 (en) 2013-07-19 2015-10-13 Qualcomm Incorporated Apparatus and method for key update for use in a block cipher algorithm
CN103593624A (zh) * 2013-11-26 2014-02-19 中国汽车工业国际合作有限公司 一种展会服务平台加密方法
CN104683093B (zh) * 2013-11-27 2018-01-26 财团法人资讯工业策进会 兼具完整性验证的区块加密装置、区块加密方法、区块解密装置及区块解密方法
US10043029B2 (en) 2014-04-04 2018-08-07 Zettaset, Inc. Cloud storage encryption
US10298555B2 (en) 2014-04-04 2019-05-21 Zettaset, Inc. Securing files under the semi-trusted user threat model using per-file key encryption
US10873454B2 (en) 2014-04-04 2020-12-22 Zettaset, Inc. Cloud storage encryption with variable block sizes
US9363247B2 (en) * 2014-04-04 2016-06-07 Zettaset, Inc. Method of securing files under the semi-trusted user threat model using symmetric keys and per-block key encryption
US10608815B2 (en) 2014-07-28 2020-03-31 The Boeing Company Content encryption and decryption using a custom key
CN104579646B (zh) * 2015-01-30 2015-12-30 南京法威克信息科技有限公司 乱码本有限单向变换及其加解密应用的方法、装置和电路
CN104602209A (zh) * 2015-02-27 2015-05-06 中国科学院大学 一种基于rsa和流密码算法的联合信源短信加密解密方法
CN104901811B (zh) * 2015-06-12 2018-11-16 信和汇诚信用管理(北京)有限公司 一种对称密码表及对称加密法
US10122690B2 (en) * 2015-07-13 2018-11-06 The Boeing Company Data encryption and authentication using a mixing function in a communication system
GB201519612D0 (en) * 2015-11-06 2015-12-23 Nagravision Sa Key sequence generation for cryptographic operations
US9825931B2 (en) 2016-01-26 2017-11-21 Bank Of America Corporation System for tracking and validation of an entity in a process data network
US10116667B2 (en) 2016-01-26 2018-10-30 Bank Of America Corporation System for conversion of an instrument from a non-secured instrument to a secured instrument in a process data network
US10129238B2 (en) 2016-02-10 2018-11-13 Bank Of America Corporation System for control of secure access and communication with different process data networks with separate security features
US10438209B2 (en) 2016-02-10 2019-10-08 Bank Of America Corporation System for secure routing of data to various networks from a process data network
US10142347B2 (en) 2016-02-10 2018-11-27 Bank Of America Corporation System for centralized control of secure access to process data network
US11374935B2 (en) 2016-02-11 2022-06-28 Bank Of America Corporation Block chain alias person-to-person resource allocation
US10440101B2 (en) 2016-02-22 2019-10-08 Bank Of America Corporation System for external validation of private-to-public transition protocols
US10142312B2 (en) 2016-02-22 2018-11-27 Bank Of America Corporation System for establishing secure access for users in a process data network
US10318938B2 (en) 2016-02-22 2019-06-11 Bank Of America Corporation System for routing of process authorization and settlement to a user in process data network based on specified parameters
US10135870B2 (en) 2016-02-22 2018-11-20 Bank Of America Corporation System for external validation of secure process transactions
US10679215B2 (en) 2016-02-22 2020-06-09 Bank Of America Corporation System for control of device identity and usage in a process data network
US10607285B2 (en) 2016-02-22 2020-03-31 Bank Of America Corporation System for managing serializability of resource transfers in a process data network
US10026118B2 (en) 2016-02-22 2018-07-17 Bank Of America Corporation System for allowing external validation of data in a process data network
US10387878B2 (en) 2016-02-22 2019-08-20 Bank Of America Corporation System for tracking transfer of resources in a process data network
US10636033B2 (en) 2016-02-22 2020-04-28 Bank Of America Corporation System for routing of process authorizations and settlement to a user in a process data network
US10496989B2 (en) 2016-02-22 2019-12-03 Bank Of America Corporation System to enable contactless access to a transaction terminal using a process data network
US10475030B2 (en) 2016-02-22 2019-11-12 Bank Of America Corporation System for implementing a distributed ledger across multiple network nodes
US10178105B2 (en) 2016-02-22 2019-01-08 Bank Of America Corporation System for providing levels of security access to a process data network
US10140470B2 (en) 2016-02-22 2018-11-27 Bank Of America Corporation System for external validation of distributed resource status
US10762504B2 (en) 2016-02-22 2020-09-01 Bank Of America Corporation System for external secure access to process data network
US9853813B2 (en) 2016-03-17 2017-12-26 Crater Dog Technologies, LLC Method for securing a private key
US10157078B2 (en) 2016-04-10 2018-12-18 Bank Of America Corporation System for transforming large scale electronic processing using application block chain
US9979718B2 (en) 2016-05-11 2018-05-22 Bank Of America Corporation System for managing security and access to resource sub-components
KR101815175B1 (ko) * 2016-05-27 2018-01-04 삼성에스디에스 주식회사 데이터 암호화 장치 및 방법, 데이터 복호화 장치 및 방법
US10402796B2 (en) 2016-08-29 2019-09-03 Bank Of America Corporation Application life-cycle transition record recreation system
US10360820B2 (en) 2016-09-04 2019-07-23 Shahriar Pourazin Instrumentation privacy apparatus and method
US10067994B2 (en) 2016-10-07 2018-09-04 Bank Of America Corporation Real time event capture and transformation of transient data for an information network
US10158737B2 (en) 2016-10-07 2018-12-18 Bank Of America Corporation Real time event capture and analysis of transient data for an information network
US10069672B2 (en) 2016-10-07 2018-09-04 Bank Of America Corporation Real time event capture, analysis and reporting system
US11631077B2 (en) 2017-01-17 2023-04-18 HashLynx Inc. System for facilitating secure electronic communications between entities and processing resource transfers
CN107659397B (zh) * 2017-08-11 2020-09-25 深圳市钱海网络技术有限公司 一种敏感信息传输方法及***
US10860403B2 (en) 2017-09-25 2020-12-08 The Boeing Company Systems and methods for facilitating truly random bit generation
US10965456B2 (en) 2017-09-25 2021-03-30 The Boeing Company Systems and methods for facilitating data encryption and decryption and erasing of associated information
US10924263B2 (en) * 2017-09-25 2021-02-16 The Boeing Company Systems and methods for facilitating iterative key generation and data encryption and decryption
CN108616351B (zh) * 2018-03-26 2020-09-18 山东大学 一种全动态加密解密方法及加密解密装置
US11334676B2 (en) 2018-04-25 2022-05-17 The Regents Of The University Of California Compact key encoding of data for public exposure such as cloud storage
US10929545B2 (en) 2018-07-31 2021-02-23 Bank Of America Corporation System for providing access to data stored in a distributed trust computing network
US11218296B2 (en) 2019-02-09 2022-01-04 Druva Inc. Data de-duplication among untrusted entities
CN110061840B (zh) * 2019-03-12 2022-10-28 平安科技(深圳)有限公司 数据加密方法、装置、计算机设备及存储介质
CN110611568B (zh) * 2019-09-20 2022-10-28 天翼电子商务有限公司 基于多种加解密算法的动态加解密方法、装置、及设备
US11354285B2 (en) * 2020-04-15 2022-06-07 salesforee.com, inc. Bulk duplication detection supporting data encryption
CN111654511A (zh) * 2020-07-13 2020-09-11 中国银行股份有限公司 一种链式数据加密方法、链式数据解密方法及相应的***
US11695541B2 (en) 2020-12-07 2023-07-04 International Business Machines Corporation Implementing resilient deterministic encryption
CN112866288B (zh) * 2021-03-01 2022-09-06 上海海事大学 一种双明文传输的数据对称加密方法
CN113347001B (zh) * 2021-05-31 2023-04-28 广州众诺电子技术有限公司 一种数据保护方法、服务器、***、设备和介质
CN113378200B (zh) * 2021-06-28 2022-02-22 江苏翔晟信息技术股份有限公司 基于分离式存储的电子合同文件的分组加密***及方法
CN114301718A (zh) * 2022-03-10 2022-04-08 北京微芯感知科技有限公司 一种采用单密钥进行链式加密的文件传输方法
CN116193166A (zh) * 2022-12-27 2023-05-30 北京锐马视讯科技有限公司 一种视频加密方法及***
CN117879845B (zh) * 2023-04-26 2024-06-04 喜悦娱乐(杭州)股份有限公司 基于区块链的影视数据文件加密保护方法及***
CN117319041B (zh) * 2023-10-07 2024-05-24 南京邮电大学 一种网络通信数据加密传输方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801693A (zh) * 2005-06-28 2006-07-12 华为技术有限公司 分组加密算法中对短分组的处理方法
WO2007118829A1 (en) * 2006-04-18 2007-10-25 International Business Machines Corporation Encryption apparatus and method for providing an encrypted file system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7260215B2 (en) * 2001-09-04 2007-08-21 Portauthority Technologies Inc. Method for encryption in an un-trusted environment
JP2006279406A (ja) * 2005-03-29 2006-10-12 Hitachi Information Technology Co Ltd 暗号化および復号化方法並びにその装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801693A (zh) * 2005-06-28 2006-07-12 华为技术有限公司 分组加密算法中对短分组的处理方法
WO2007118829A1 (en) * 2006-04-18 2007-10-25 International Business Machines Corporation Encryption apparatus and method for providing an encrypted file system

Also Published As

Publication number Publication date
EP2197144A1 (en) 2010-06-16
US8259934B2 (en) 2012-09-04
JP2010140026A (ja) 2010-06-24
US20100150344A1 (en) 2010-06-17
EP2197145A3 (en) 2012-08-01
KR20100069610A (ko) 2010-06-24
CN101753292A (zh) 2010-06-23
EP2197145A2 (en) 2010-06-16

Similar Documents

Publication Publication Date Title
CN101753292B (zh) 用于链接式加密模式的方法和设备
US7945049B2 (en) Stream cipher using multiplication over a finite field of even characteristic
CN110313146B (zh) 模糊度增强
JP3901909B2 (ja) 暗号化装置およびプログラムを記録した記録媒体
US8170204B2 (en) Method and system for extending advanced encryption standard (AES) operations for enhanced security
US9189425B2 (en) Protecting look up tables by mixing code and operations
EP2829010B1 (en) Updating key information
Karthigaikumar et al. Simulation of image encryption using AES algorithm
US8718280B2 (en) Securing keys of a cipher using properties of the cipher process
CN102484581A (zh) 使用中间数据更改的具有可配置密钥的白盒密码***
CN102238430A (zh) 个性化白箱解扰器
CN103580851A (zh) 信息加密及解密方法
Reyad et al. Key-based enhancement of data encryption standard for text security
CN105184115A (zh) 用于将隐式完整性或可信性检查包括到白箱实现中的方法
CN116846542A (zh) 一种数据加密和解密方法、装置及电子设备
KR20190020988A (ko) 컴퓨터 실행 가능한 경량 화이트박스 암호화 방법 및 장치
US20100241872A1 (en) Partially Reversible Key Obfuscation
US20130308775A1 (en) Block encryption device, decryption device, encrypting method, decrypting method and program
US20170041133A1 (en) Encryption method, program, and system
Misra et al. A new encryption/decryption approach using AES
KR101240243B1 (ko) Aes의 ctr 모드에 따른 암호화 장치 및 방법
Kumar et al. Implementation of AES algorithm using VHDL
US20230403134A1 (en) Method for processing encrypted data
KR101583285B1 (ko) 확장 키를 이용한 블록 암호화 방법 및 그 방법에 따른 장치
JP2015022269A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140618

Termination date: 20161209

CF01 Termination of patent right due to non-payment of annual fee