CN101682502A - 用于数据块加密的方法和系统 - Google Patents

用于数据块加密的方法和系统 Download PDF

Info

Publication number
CN101682502A
CN101682502A CN200880015855A CN200880015855A CN101682502A CN 101682502 A CN101682502 A CN 101682502A CN 200880015855 A CN200880015855 A CN 200880015855A CN 200880015855 A CN200880015855 A CN 200880015855A CN 101682502 A CN101682502 A CN 101682502A
Authority
CN
China
Prior art keywords
random number
data block
parts
data
current
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.)
Pending
Application number
CN200880015855A
Other languages
English (en)
Inventor
P·G·威洛比
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101682502A publication Critical patent/CN101682502A/zh
Pending legal-status Critical Current

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
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • 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
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供了一种用于数据块(201-206)加密的方法,包括:使用针对数据块(201-206)产生的当前随机数(211-216)来加密(301)数据块;使用之前随机数集合中的一个或多个来编码(303)所述当前随机数,所述之前随机数集合中的每一个已用于加密之前发送的数据块;传输加密的数据块(241-246)与一个或多个版本的编码的当前随机数(272-276),每个版本已使用之前随机数中的不同随机数进行编码。提供了一种用于数据块解密的方法,包括:接收(401)加密的数据块(241-246)与一个或多个版本的编码的当前随机数,每个版本针对之前随机数(272-276)中的不同随机数;选择(402)随机数可用的(291-296)之前接收到的数据块集合中的一个;使用选择的之前接收到的数据块的随机数来解码(403)当前随机数;以及使用解码的当前随机数来解密(404)接收到的加密的数据块(241-246)。

Description

用于数据块加密的方法和系统
技术领域
本发明涉及数据块加密领域。更具体而言,本发明涉及在不保证接收到所有在前块的环境中使用的块密码。
背景技术
在密码学中,块密码对固定长度的块,通常是64或128位的块进行运算。由于消息可以是任意长度的,并且用同样的密钥加密同样的明文总是产生同样的输出,因此开发出了若干种操作模式,其允许块密码为任意长度的消息提供机密性。
在密码块链接(CBC)模式中,明文的每个块在被加密之前与之前的密文块进行XOR运算(施加异或运算)。每个密文块依赖于在这个点之前处理的所有明文块。为了使得每个消息唯一,在第一块中必须使用初始化向量(IV)。
IV是一个虚块,用以起动对第一真实块的处理过程。在CBC模式,IV是在加密时随机产生的。在多数情况下,IV不需要是秘密的,但重要的是,它不能与同一密钥重复使用。
图1A和1B示出使用CBC的加密和解密过程。在图1A中,提供有待加密的明文块p1,p2,...101-106。产生IV 110,并与明文的第一块p1 101异或运算120。通过密钥131利用块密码加密130将该结果加密。结果为密文的第一块c1 141,其被传输到接收器。密文的第一块c1 141与明文的第二块p2 101进行异或运算120,并通过密钥131使用块密码加密130对结果进行加密。结果为密文的第二块c2 142,其被传输到接收器。这个链持续进行,从剩余的明文块p3,p4,p5,p6 103-106产生后续的密文块c3,c4,c5,c6 143-146。
图1B示出解密过程。接收密文块c1,c2,...,c6 141-146。使用施加于接收器的密钥131利用块密码解密150对密文的第一块c1 141进行解密。将结果与施加于接收器的IV 110进行异或运算120,这产生明文的第一块p1101。通过密钥131利用块密码解密150对密文的第二块c2进行解密。将结果与密文的第一块c1进行异或运算120,这产生明文的第二块p2 101。这个链持续进行,从剩余的密文块c3,c4,c5,c6 143-146产生后续的明文块p3,p4,p5,p6 103-106。
密码块链接具有这样的局限,即,它需要接收到密文的在前块来解密下一块。在有些环境中,不能保证递送,这会导致链的断裂。
组播协议必然是不可靠的。没有方式能够保证所有接收器都将接收到它们应该接收的任何东西。在CBC模式下使用块密码要求接收器能够访问上一个密文元素,而这在组播的情况下是不能保证的,因此不可能在CBC模式中使用块密码,由此会导致安全问题。
现有的使用块密码对组播流的加密局限于电子码本(ECB)模式和计数器(CTR)模式。
ECB对于隐藏数据并不是一种很好的方式。消息被划分为块,每个块被独立地加密。该方法的不利在于,同样的明文块被加密为同样的密文块,因此,它不能很好地隐藏数据模式。
CTR模式对于隐藏数据是一种很好的方式。消息的每个块在传输之前与伪随机数进行异或运算。伪随机数在一个序列中产生,该序列可以由消息块的接收器预测,因为他们是通过用ECB模式中的私钥加密公知的计数器值而获得的。CTR模式中固有的风险在于,用于从公知的计数器产生伪随机数的算法可能容易受到“已知明文”的攻击,甚至在给出足够数据的情况下是可逆的。如果是这样的情况,CTR模式就变得没有用处。
如果组播数据流进行发送所通过的网络已经得到保护来抵御未授权的侵入,那就不必来尝试加密组播数据流了。不过这极度不可能成为现实情况。
发明内容
根据本发明第一方面,提供一种用于数据块加密的方法,包括:使用针对数据块产生的当前随机数来加密数据块;使用之前随机数集合中的一个或多个来编码所述当前随机数,所述之前随机数集合中的每一个已用于加密之前发送的数据块;传输加密的数据块与一个或多个版本的编码的当前随机数,每个版本已使用之前随机数中的不同随机数进行编码。
根据本发明第二方面,提供一种用于数据块解密的方法,包括:接收加密的数据块与一个或多个版本的编码的当前随机数,每个版本已使用之前使用的随机数中的不同随机数进行编码;选择随机数可用的之前接收到的数据块集合中的一个;使用选择的之前接收到的数据块的随机数来解码当前随机数;以及使用解码的当前随机数来解密接收到的加密的数据块。
根据本发明第三方面,提供一种存储在计算机可读存储介质上的计算机程序产品,包括用于执行以下步骤的计算机可读程序代码部件:使用针对数据块产生的当前随机数来加密数据块;使用之前随机数集合中的一个或多个来编码所述当前随机数,所述之前随机数集合中的每一个已用于加密之前发送的数据块;传输加密的数据块与一个或多个版本的编码的当前随机数传输,每个版本已使用之前随机数中的不同随机数进行编码。
根据本发明第四方面,提供一种存储在计算机可读存储介质上的计算机程序产品,包括用于执行以下步骤的计算机可读程序代码部件:接收加密的数据块与一个或多个版本的编码的当前随机数,每个版本已使用之前使用的随机数中的不同随机数进行编码;选择随机数可用的之前接收到的数据块集合中的一个;使用选择的之前接收到的数据块的随机数来解码当前随机数;以及使用解码的当前随机数来解密接收到的加密的数据块。
根据本发明第五方面,提供一种用于数据块传输的系统,包括:使用针对数据块产生的当前随机数来加密数据块的部件;使用之前随机数集合中的一个或多个来编码当前随机数的部件,所述之前随机数集合中的每一个已用于加密之前发送的数据块;传输加密的数据块与一个或多个版本的编码的当前随机数的部件,每个版本已使用之前随机数中的不同随机数进行编码;接收加密的数据块与一个或多个版本的编码的当前随机数的部件;选择随机数可用的之前接收到的数据块集合中的一个的部件;使用所选择的之前接收到的数据块的随机数来解码当前随机数的部件;以及使用解码的当前随机数来解密接收到的加密的数据块的部件。
附图说明
现在将参照附图,仅以示例的方式描述本发明的实施例。
图1A和1B是现有技术中公知的加密和解密的CBC模式的图;
图2A是根据本发明的加密方法的示意图;
图2B是根据本发明的传输数据的示意图;
图2C是根据本发明的解密方法的示意图;
图3是根据本发明的加密方法的流程图;
图4是根据本发明的解密方法的流程图。
具体实施方式
提供了一种块密码加密和解密的方法,该方法使接收器具有恢复力,从而在没有接收到上一块时对块进行破译。该恢复力是通过允许从之前接收到的块集合中的一个破译块来提供的。
在所描述的方法的一个实施例中,产生随机值,并在每个块处与输入明文进行异或运算。该随机输入值以这样的方式编码,其中只要接收器接收到之前密文集合中的一个,就能够进行解码。这个随机选择的值与CBC操作模式的第一阶段中的初始化向量(IV)具有同样的功能。
参照图2A,示出了所描述的加密方法的一个实施例。提供了有待加密的明文块p1,p2,...201-206。产生随机数,并将其用作输入向量I1 211,该向量与明文p1 201的第一块进行异或运算220。通过密钥231,利用块密码加密230对结果进行加密。结果为密文的第一块c1 241,其被传输到接收器。本领域中公知许多伪随机数产生器,用来为加密应用提供足够随机的数,这里使用的术语“随机数”旨在涵盖所有这样的伪随机数。
产生新的随机数作为输入向量I2 212,该向量与明文的第二块p2 202进行异或运算220。通过密钥231,利用块密码加密230对结果进行加密。结果为密文的第二块c2 242,其被传输到接收器。
这个过程持续进行,产生随机数作为输入向量I3,I4,I5,I6 213-216,用以从剩余的明文块p3,p4,p5,p6 203-206产生后续的密文块c3,c4,c5,c6 243-246。
输入向量I1,I2,I3,I4,I5,I6 211-216在功能上与CBC操作模式的初始化向量110相似,但是,为有待加密的每一个明文块产生随机输入向量。
参照图2B,示意图示出传输的数据。在所描述的方法中,使用安全可靠的连接来传输包含会话密钥在内的初始参数280。初始参数280还包括第一输入向量I1,用于编码输入向量的之前块的定义集合,以及用于产生块头部中传输的编码的输入向量的功能中所使用的输入值。
如图2B所示,密文块c1,c2,c3,c4,c5,c6 241-246与头部251-256一起传输,头部251-256包含计数261-266,以及用于从之前输入向量集合中的一个产生当前输入向量的部件271-276。在一个实施例中,部件271-276是用于每个之前块集合的函数对(q(i,i-j),s(i,i-j))。该函数对(q(i,i-j),s(i,i-j))连同之前输入向量Ii-j可以用来确定当前输入向量Ii
之前输入向量在被接收器解码时被存储291-296,用于解码随后的输入向量。
之前块集合是当前块之前的预定数目的块的集合。例如,它可以是之前的四个块,之前的间隔的三个块,或者,如给出的示例中一样,是具有i-j的块的集合,其中j是集合J={1,2,4,6}中的一个,等等。之前块集合中只有一个是必需接收到的,以获得当前输入向量。
后续的密文块ci具有头部,该头部包含计数i和用于从之前输入向量集合Ii-j中的一个产生当前第i个输入向量Ii的部件。该集合可以是集合Ii-j,其中j是诸如J={1,2,4,6}的整数集合,如图2B所示。为集合J添加更多的数会增加恢复力,因为有更多的选择来使用不同的之前接收到的块,使得更多块可被丢失。然而,这必需与头部中用于集合J所要求的数据相平衡,其减少每个块中有效载荷数据量。
如果没有接收到上一块,可以通过从用于之前块集合中的任一个的当前块头部中提供的功能确定当前输入向量以及确定之前块的输入向量来解密当前块。
参照图2C,示出描述的解密方法的实施例。接收到密文块c1,c2,...,c6 241-246,其每一个具有如图2B所示的对应的头部251-256。
通过提供给接收器的密钥231,利用块密码解密250来解密密文的第一块c1 241。将结果与提供给接收器的第一输入向量I1 211进行异或运算,这产生明文的第一块p1 201。
密文的第二块c2 242与头部252一起接收,头部252具有数值为2的计数262以及用于从第一输入向量I1 211产生当前第二输入向量I2 212的部件272。
通过密钥231利用块密码解密250来解密密文的第二块c2。将结果与第二输入向量I2 212进行异或运算,这产生明文的第二块p2 202。
如图2B所示接收密文的后续块ci以及头部,头部具有数值为i的计数,以及用于从之前输入向量Ii-j的预定义集合产生当前第i个输入向量Ii的部件。预定义集合被示为集合Ii-j,其中J是诸如J={1,2,4,6}之类的整数集合。
通过密钥231利用块密码解密250来解密密文的后续块ci。将结果与第i输入向量Ii 212进行异或运算,这产生明文的第i块pi
密文的第六块c6 246与头部256一起接收,头部256具有数值为6的计数266以及用于从第二、第四或第五输入向量I2 212,I4 214和I5 215之一产生当前第六输入向量I6 216的部件276。作为示例,没有接收到密文的第五块c5 245,因此可以使用之前存储的第四或第二输入向量I2 212,I4214中任一个,以获得第六输入向量I6 216。
通过密钥231利用块密码解密250来解密密文的第六块c6。将结果与第六输入向量I6 216进行异或运算,这产生明文的第六块p6 206。
参照图3,示出所描述的加密方法的流程图300。
在进行会话之前,在发射机和一个或多个接收机之间进行安全可靠连接上的传达所需密钥的初步步骤。在这样的传达中,传输下面的信息:
加密会话密钥;
定义的之前块的集合,例如,由一系列较早块数目给出的集合;
解码输入向量所需的参数;
用作第一输入向量I1的初始随机数。
在会话的每个步骤,执行图3的流程。使用针对数据块所产生的随机数(Icurrent)加密该数据块301。随机数也被称为输入向量。
在一个实施例中,通过对数据块和随机数(Icurrent)逐比特执行与异或运算,然后使用会话密钥利用加密函数加密该结果来执行加密301。可以替代地使用利用随机数(Icurrent)进行的其他形式的加密。
然后,确定302之前发送的哪些数据块在定义的集合中。之前发送的数据块的每一个具有在那个块的加密中使用的不同随机数(Icurrent)。
对于集合中每个可用的之前发送的数据块,使用之前发送的数据块的随机数(Iprevious)编码303当前处理的数据块的随机数(Icurrent)。
这样的编码可以针对集合的所有可用的随机数(Iprevious)并行执行。加密步骤301也可以与编码303并行执行。该算法的并行特征使得它理想地适于在硬件中执行,或作为用于面向流的协处理器的软件,诸如Cell微处理器的协处理器单元(SPE)。
当会话中数据的第一块被加密时,集合中将没有之前发送的数据块可以使用。这就是为什么第一随机数I1要通过安全连接进行发送的原因。
当会话早期中数据块正被加密时,集合中仅有一个或两个之前发送的数据块可用。随着会话继续进行,集合中可用的之前发送的块数目增加,为本方法给出更大的恢复力。
将加密的数据块连同用集合的一个或多个随机数(Iprevious)编码的随机数(Icurrent)一起进行传输304。
参照图4,示出所描述的解密方法的流程图400。
如参照图3所描述的,在进行会话之前,在发射机和一个或多个接收机之间进行安全连接上的传达所需密钥的初步步骤。
加密的数据块连同用集合中之前接收到的数据块的一个或多个随机数(Iprevious)进行编码的随机数(Icurrent)一起得到接收401。
选择402已存储的随机数(Iprevious)所针对的之前接收到的数据块集合中的一个。
使用选择的之前数据块的随机数(Iprevious)解码随机数(Icurrent)403。
使用随机数(Icurrent)解密所述加密的数据块,并保存随机数(Icurrent)用于解码后续数据块404。
所描述的方法使得在接收到之前发送的数据块集合中的任意一个并对其自身进行解密时能够对数据块进行解密。这提供了这样一种方法,该方法可以在不能保证每个数据块的递送时使用。
图4示出方法的稳态操作。在参与到解密之前,新的连接者(connectee)需要被赋予至少一个Ij
提供所描述的加密和解密方法的算法的一个示例性实施例。该算法使用下面的定义:
A xor B-用操作数A和B执行逐比特的异或运算。
A升至B次幂模C-计算A的B次幂;最终结果是中间结果除以C所得的余数。
素数-一个大于1的整数,除了自身之外,不能被任何大于1的整数整除而没有余数。
A增量-为A增加一。
随机数-基于从同一源获得之前的数字无法预测的数字。
初始化向量-当使用密码块链接加密方案时,用于隐藏第一块的数据向量。
发送应用执行下面的步骤:
选择一个数字,称为g。例如,g=2。
选择一个素数,称为φ。
选择一个数字列表,J,例如J={1,2,4,8}。
例如通过还用于传输加密密钥的安全连接将g,φ,J的选择通知接收器。
将整数消息计数器C设为零。
对于有待发送的每个消息,执行下面的步骤,对于C=i:
取出随机数,Ii
当加密用户数据时,用Ii作为输入向量。
对于列表J的每个元素j,重复下面的步骤:
将Ii-j设定为序列数为i-j时使用的I的值。
取出随机数,rij
计算:
Figure G2008800158554D00091
该值被存储用于稍后使用。
计算:
Figure G2008800158554D00092
该值被存储用于稍后使用。
将C,处于正确次序的所有qij和sij对,以及加密的用户数据放入消息中。
发送消息。
接收应用执行以下步骤:
用安全可靠的连接与发送者连接,并取出下列信息:
g,φ,J,和C的最近值,I的近值j’。
开始通过不可靠链路接收消息。
对于接收到的每个消息,执行下面的步骤:
从消息中获得C,所有qij和sij对,以及加密的用户数据。
找出来自消息C-j的Ii-j已知的qij和sij对。
利用该信息,计算
Figure G2008800158554D00093
丢弃来自比C-j更旧的消息的Ii-j的旧数值。
使用Ii作为输入向量来解码用户数据。
将解密的用户数据送到任何需要者。
不知道{qij,sij}已知的Ii-j的信息的情况下,确定Ii需要计算离散对数,对此没有已知有效的算法。
迄今为止,只考虑了有待加密的数据块的大小严格符合加密算法要求的情况。在实际中,该大小有可能会更大。在这种情况下,以上描述的方法用于编码消息的第一“加密算法大小”的块,公知技术的CBC用于加密消息的剩余部分。
所描述的方法与CBC模式具有相似性,但是,它具有这样的优势,即,可以在接收器没有接收到前一密文时使用。产生随机值,针对每一数据块与输入明文进行异或运算。这个被称为输入向量的随机输入值接下来以下面的方式进行编码,该方式使得只要接收器接收到之前密文集合中的一个,就能够进行解码。该随机选择的值与CBC操作模式的第一阶段中的初始化向量(IV)具有相同的功能。输入向量可以无障碍地进行发送,但这会使得密码分析更为容易。
本发明可以采取完全硬件的实施方式,完全软件的实施方式,或者同时包含硬件和软件两者的实施方式。在优选的实施方式中,本发明在软件中执行,该软件包括但不限于固件、常驻软件、微码,等等。
本发明可以采取可以从计算机可用或计算机可读介质存取的计算机程序产品的形式,所述计算机可用或可读介质提供计算机或任何指令执行系统使用的或者与之相关的程序代码。出于说明的目的,计算机可用或计算机可读介质可以是能够包含、存储、传达、传播或传送指令执行系统、装置或设备所使用的,或与之相关的程序的任何装置。
所述介质可以是电子的,磁的,光学的,电磁的,红外的,或半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器,磁带,可移动计算机磁盘,随机存取存储器(RAM),只读存储器(ROM),硬磁盘以及光盘。目前光盘的例子包括压缩光盘只读存储器(CD-ROM),压缩光盘读/写(CD-R/W),以及DVD。
以上详细描述的方法作用为限制对数据的存取,并且在不可能保证接收到数据的所有部分时使得数据的预期接收器能够进行解密。这样的系统包括因特网上的广播和组播网络传输,电视广播,来自通信卫星的广播,无线电广播,还包括通过邮件发送的物理介质。该方法尤其良好地适用于这样的情况,其中将数据的遗失部分重新传输到没有接收到整个数据流的那些接收器是不切实际或者没有用处的。重新传输毫无价值的一个例子是广播电视,因为打乱顺序地显示节目中之前错过的部分是毫无意义的。另一个例子是发布/订阅消息经纪人,其使用不可靠网络链路上的组播向订户发送消息。
可以对前述内容进行改进和修改,而不偏离本发明的范围。

Claims (27)

1.一种用于数据块加密的方法,包括:
使用针对数据块(201-206)产生的当前随机数(211-216)来加密(301)所述数据块(201-206);
使用之前随机数集合中的一个或多个来编码(303)所述当前随机数(211-216),所述之前随机数集合中的每一个已用于加密之前发送的数据块(201-206);
传输(304)加密的数据块(241-246)与一个或多个版本的编码的当前随机数(272-276),每个版本已使用之前随机数中的不同随机数进行编码。
2.根据权利要求1的方法,其中,之前随机数集合是用于之前发送的数据块的预定义集合的之前随机数,其中之前发送的数据块的预定义集合是当前块之前的模式下的给定块的集合。
3.根据权利要求1或2的方法,其中,使用当前随机数(211-216)来加密(301)数据块(201-206)包括:对所述数据块(201-206)和所述当前随机数(211-216)执行逐比特的异或运算,并使用会话密钥通过加密函数对结果进行加密。
4.根据权利要求1-3中任一项的方法,其中,执行发射机和一个或多个接收机之间的安全通信(280),包括:
加密会话密钥;
定义的之前块的集合;
用于解码随机数所需的参数;
用于第一数据块(201)的初始随机数(211)。
5.根据前述权利要求中任一项的方法,其中使用之前随机数集合中的一个或多个来编码(303)所述当前随机数(211-216)的步骤针对所述集合中的所有可用的之前随机数并行执行。
6.根据前述权利要求中任一项的方法,其中加密(301)数据块(201-206)的步骤与使用之前随机数集合中的一个或多个来编码所述当前随机数(211-216)的步骤并行执行。
7.根据前述权利要求中任一项的方法,其中该方法用于加密第一加密算法大小的数据块(201-206),任意剩余数据利用密码块链接方法来加密。
8.一种用于数据块解密的方法,包括:
接收(401)加密的数据块(241-246)与一个或多个版本的编码的当前随机数(272-276),每个版本已使用之前使用的随机数中的不同随机数进行编码;
选择(402)随机数可用的(291-296)之前接收到的数据块集合中的一个;
使用选择的之前接收到的数据块(201-206)的随机数来解码(403)当前随机数(211-216);以及
使用解码的当前随机数来解密(404)接收到的加密的数据块(241-246)。
9.根据权利要求8的方法,其中解码的当前随机数被存储(291-296)用于解码后续的随机数。
10.根据权利要求8或9的方法,其中解密(404)数据块包括使用会话密钥来解密所述加密的数据块(241-246),以及对所述解密的结果和所述当前随机数执行逐比特的异或运算。
11.根据权利要求8-10中任一项的方法,其中从发射机接收安全通信(280),包括:
加密会话密钥;
定义的之前块的集合;
用于解码随机数所需的参数;
用于第一数据块(201)的初始随机数(211)。
12.根据权利要求8-11中任一项的方法,其中该方法用于解密第一加密算法大小的数据块(201-206),任意剩余数据利用密码块链接方法来解密。
13.一种用于数据块加密的装置,包括:
使用针对数据块(201-206)产生的当前随机数(211-216)来加密(301)所述数据块(201-206)的部件;
使用之前随机数集合中的一个或多个来编码(303)所述当前随机数(211-216)的部件,所述之前随机数集合中的每一个已用于加密之前发送的数据块(201-206);
传输(304)加密的数据块(241-246)与一个或多个版本的编码的当前随机数(272-276)的部件,每个版本已使用之前随机数中的不同随机数进行编码。
14.根据权利要求13的装置,其中,之前随机数集合是用于之前发送的数据块的预定义集合的之前随机数,其中之前发送的数据块的预定义集合是当前块之前的模式下的给定块的集合。
15.根据权利要求13或14的装置,其中,使用当前随机数(211-216)来加密(301)数据块(201-206)的部件包括:
对所述数据块(201-206)和所述当前随机数(211-216)执行逐比特异或运算的部件,以及
使用会话密钥通过加密函数对结果进行加密的部件。
16.根据权利要求13-15中任一项的装置,其中,可操作执行发射机和一个或多个接收机之间的安全通信(280),包括:
加密会话密钥;
定义的之前块的集合;
用于解码随机数所需的参数;
用于第一数据块(201)的初始随机数(211)。
17.根据权利要求13-16中任一项的方法,其中使用之前随机数集合中的一个或多个来编码(303)所述当前随机数(211-216)的部件可操作为针对所述集合中的所有可用的之前随机数并行执行。
18.根据权利要求13-17中任一项的方法,其中加密(301)数据块(201-206)的部件可操作为与使用之前随机数集合中的一个或多个来编码所述当前随机数(211-216)的部件并行执行。
19.一种用于数据块解密的装置,包括:
接收(401)加密的数据块(241-246)与一个或多个版本的编码的当前随机数(272-276)的部件,每个版本已使用之前使用的随机数中的不同随机数进行编码;
选择(402)随机数可用的(291-296)之前接收到的数据块集合中的一个的部件;
使用选择的之前接收到的数据块(201-206)的随机数来解码(403)当前随机数(211-216)的部件;以及
使用解码的当前随机数来解密(404)接收到的加密的数据块(241-246)的部件。
20.根据权利要求19的装置,其中解码的当前随机数可操作为被存储(291-296)用于解码后续的随机数。
21.根据权利要求19或20的装置,其中解密(404)数据块的部件包括:
使用会话密钥来解密所述加密的数据块(241-246)的部件,以及
对所述解密的结果和所述当前随机数执行逐比特异或运算的部件。
22.根据权利要求19-21中任一项的装置,其中可操作地从发射机接收安全通信(280),包括:
加密会话密钥;
定义的之前块的集合;
用于解码随机数所需的参数;
用于第一数据块(201)的初始随机数(211)。
23.一种用于数据块传输的系统,包括:
使用针对数据块(201-206)产生的当前随机数(211-216)来加密所述数据块(201-206)的部件;
使用之前随机数集合中的一个或多个来编码所述当前随机数(211-216)的部件,所述之前随机数集合中的每一个已用于加密之前发送的数据块(201-206);
传输加密的数据块(241-246)与一个或多个版本的编码的当前随机数(272-276)的部件,每个版本已使用之前随机数中的不同随机数进行编码;
接收加密的数据块(241-246)与一个或多个版本的编码的当前随机数(272-276)的部件;
选择随机数可用的(291-296)之前接收到的数据块集合中的一个的部件;
使用选择的之前接收到的数据块(201-206)的随机数来解码当前随机数(211-216)的部件;以及
使用解码的当前随机数来解密接收到的加密的数据块(241-246)的部件。
24.根据权利要求23的系统,包括发射机与一个或多个接收机之间用于传输会话参数的安全通信(280)。
25.根据权利要求23或24的系统,其中使用之前随机数集合中的一个或多个来编码当前随机数(211-216)的部件包括用于处理所述集合中的所有可用的之前随机数的并行处理部件。
26.根据权利要求23-25中任一项的系统,包括加密(301)数据块且并行地使用之前随机数集合中的一个或多个来编码所述当前随机数(211-216)的并行处理部件。
27.一种计算机程序,包括程序代码,所述程序代码在所述程序在计算机上运行时适于执行权利要求1-12中任一项的所有步骤。
CN200880015855A 2007-06-15 2008-05-28 用于数据块加密的方法和系统 Pending CN101682502A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0711711A GB0711711D0 (en) 2007-06-15 2007-06-15 Method and system for encryption of blocks of data
GB0711711.2 2007-06-15
PCT/EP2008/056539 WO2008151935A1 (en) 2007-06-15 2008-05-28 Method and system for encryption of blocks of data

Publications (1)

Publication Number Publication Date
CN101682502A true CN101682502A (zh) 2010-03-24

Family

ID=38332259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880015855A Pending CN101682502A (zh) 2007-06-15 2008-05-28 用于数据块加密的方法和系统

Country Status (6)

Country Link
US (2) US9124418B2 (zh)
EP (1) EP2168300B1 (zh)
KR (1) KR20090133109A (zh)
CN (1) CN101682502A (zh)
GB (1) GB0711711D0 (zh)
WO (1) WO2008151935A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103366132A (zh) * 2012-03-29 2013-10-23 国际商业机器公司 用于加密数据的设备和方法
CN104683093A (zh) * 2013-11-27 2015-06-03 财团法人资讯工业策进会 兼具完整性验证的区块加密装置、区块加密方法、区块解密装置及区块解密方法
CN105791434A (zh) * 2016-04-27 2016-07-20 深圳市永兴元科技有限公司 分布式数据处理方法及数据中心
CN106104542A (zh) * 2013-12-24 2016-11-09 英特尔公司 对于数据即服务(DaaS)的内容保护

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8687809B2 (en) * 2011-05-27 2014-04-01 Adobe Systems Incorporated System and method for decryption of content including disconnected encryption chains
US8725788B2 (en) 2011-05-27 2014-05-13 Adobe Systems Incorporated System and method for decryption of content including partial-block discard
DE102015201430A1 (de) * 2015-01-28 2016-07-28 Ihp Gmbh - Innovations For High Performance Microelectronics / Leibniz-Institut Für Innovative Mikroelektronik Intrinsische Authentifizierung von Programcode
EP3089398B1 (en) * 2015-04-30 2017-10-11 Nxp B.V. Securing a cryptographic device
WO2017164882A1 (en) * 2016-03-24 2017-09-28 Hewlett Packard Enterprise Development Lp Text encryption
KR101809018B1 (ko) 2016-04-20 2017-12-14 주식회사 이디엄 열 지향 레이아웃 파일의 생성 방법
KR101899130B1 (ko) * 2016-07-15 2018-10-29 (주) 구름네트웍스 데이터의 암호화, 복호화 방법 및 이를 이용하는 장치
US10725743B2 (en) 2018-01-22 2020-07-28 John Rankin System and method for generating random numbers
US10574439B2 (en) 2018-01-31 2020-02-25 John Rankin System and method for secure communication using random blocks or random numbers
WO2019168978A1 (en) 2018-02-28 2019-09-06 John Rankin System and method for expanding a set of random values
WO2020132173A1 (en) * 2018-12-19 2020-06-25 John Rankin Hidden electronic file systems
US11989320B2 (en) * 2018-12-19 2024-05-21 Rankin Labs, Llc Hidden electronic file system within non-hidden electronic file system
CN109981251B (zh) * 2019-03-05 2022-06-07 湖南国科微电子股份有限公司 随机数序列压缩方法、装置及电子设备
US11151265B2 (en) 2019-04-29 2021-10-19 International Business Machines Corporation Secure data storage based on obfuscation by distribution
CN111199047B (zh) * 2019-12-31 2022-08-05 中移(杭州)信息技术有限公司 数据加密方法、解密方法、装置、设备及存储介质
GB2619071A (en) * 2022-05-26 2023-11-29 Pqshield Ltd Secure processing system and method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE403992T1 (de) * 1999-06-22 2008-08-15 Hitachi Ltd Kryptografisches gerät und verfahren
EP2770455B1 (en) * 2000-06-16 2017-01-25 MIH Technology Holdings BV Method and system to exercise geographic restrictions over the distribution of content via a network
US20020048364A1 (en) * 2000-08-24 2002-04-25 Vdg, Inc. Parallel block encryption method and modes for data confidentiality and integrity protection
US6963976B1 (en) * 2000-11-03 2005-11-08 International Business Machines Corporation Symmetric key authenticated encryption schemes
US7200227B2 (en) * 2001-07-30 2007-04-03 Phillip Rogaway Method and apparatus for facilitating efficient authenticated encryption
US7734042B2 (en) * 2003-12-22 2010-06-08 Aol Inc. System and method for using a streaming protocol

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103366132A (zh) * 2012-03-29 2013-10-23 国际商业机器公司 用于加密数据的设备和方法
US9143326B2 (en) 2012-03-29 2015-09-22 International Business Machines Corporation Method and system for encrypting data
US9344274B2 (en) 2012-03-29 2016-05-17 International Business Machines Corporation Method and system for encrypting data
CN103366132B (zh) * 2012-03-29 2016-08-24 国际商业机器公司 用于加密数据的设备和方法
US9634827B2 (en) 2012-03-29 2017-04-25 International Business Machines Corporation Encrypting data
US10396977B2 (en) 2012-03-29 2019-08-27 International Business Machines Corporation Encrypting data
US11539505B2 (en) 2012-03-29 2022-12-27 Kyndryl, Inc. Encrypting data
CN104683093A (zh) * 2013-11-27 2015-06-03 财团法人资讯工业策进会 兼具完整性验证的区块加密装置、区块加密方法、区块解密装置及区块解密方法
CN104683093B (zh) * 2013-11-27 2018-01-26 财团法人资讯工业策进会 兼具完整性验证的区块加密装置、区块加密方法、区块解密装置及区块解密方法
CN106104542A (zh) * 2013-12-24 2016-11-09 英特尔公司 对于数据即服务(DaaS)的内容保护
CN106104542B (zh) * 2013-12-24 2020-01-07 英特尔公司 对于数据即服务(DaaS)的内容保护
CN105791434A (zh) * 2016-04-27 2016-07-20 深圳市永兴元科技有限公司 分布式数据处理方法及数据中心

Also Published As

Publication number Publication date
US9673976B2 (en) 2017-06-06
US20100002868A1 (en) 2010-01-07
US20150333907A1 (en) 2015-11-19
WO2008151935A1 (en) 2008-12-18
EP2168300B1 (en) 2015-11-18
EP2168300A1 (en) 2010-03-31
US9124418B2 (en) 2015-09-01
GB0711711D0 (en) 2007-07-25
KR20090133109A (ko) 2009-12-31

Similar Documents

Publication Publication Date Title
CN101682502A (zh) 用于数据块加密的方法和系统
KR101387799B1 (ko) 메시지 인증 방법
CN101753292B (zh) 用于链接式加密模式的方法和设备
JP2011509433A (ja) 確率的対称暗号化のための方法およびエンティティ
JPH06266670A (ja) 暗号化仮想端末初期化装置
JP2014017556A5 (zh)
US20020159588A1 (en) Cryptography with unconditional security for the internet, commercial intranets, and data storage
KR20180113688A (ko) 장치 인증키를 이용한 데이터 암호화 방법 및 시스템
Sahu et al. Securing messages from brute force attack by combined approach of honey encryption and blowfish
Erondu et al. An encryption and decryption model for data security using vigenere with advanced encryption standard
CN101800878B (zh) 基于位置文件的mpeg视频加密与解密系统以及方法
US8935527B2 (en) Secure transmission with error correcting code
CN113556381B (zh) Http请求的优化方法、终端以及存储介质
JP2005114870A (ja) 暗号通信システム
JP2001285278A (ja) 暗号通信方法及び暗号通信システム
CN113923029B (zh) 基于ecc混合算法的物联网信息加密方法
KR102626974B1 (ko) 화이트박스 암호의 비밀키 보호를 위한 방법 및 시스템
Geetha et al. Survey on security mechanisms for public cloud data
WO2023115603A1 (zh) 一种基于半可信硬件的多方隐私计算方法及装置
Al-Halboosi Agile Encryption Scheme for Multimedia Files Using Random Data
Kushwah et al. Web Application Based Text Encryption
Haria et al. Enhanced image encryption using AES algorithm with CBC mode: a secure and efficient approach
Asoro et al. Development of A Honeyed Advanced Encryption Standard Algorithm (HAESA)
Ramasamy et al. A new algorithm for encryption/decryption for field applications
KR101616717B1 (ko) 버냄 사이퍼 암호 알고리즘을 이용한 암복호화 서비스 제공 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100324