CN102377563B - 加密数据流的方法及设备 - Google Patents

加密数据流的方法及设备 Download PDF

Info

Publication number
CN102377563B
CN102377563B CN201110222304.9A CN201110222304A CN102377563B CN 102377563 B CN102377563 B CN 102377563B CN 201110222304 A CN201110222304 A CN 201110222304A CN 102377563 B CN102377563 B CN 102377563B
Authority
CN
China
Prior art keywords
bit
block
circuit
stream
binary system
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
CN201110222304.9A
Other languages
English (en)
Other versions
CN102377563A (zh
Inventor
G.伯托尼
F.佐扎尼
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.)
STMicroelectronics Grenoble 2 SAS
STMicroelectronics SRL
Original Assignee
STMicroelectronics Grenoble 2 SAS
STMicroelectronics SRL
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 STMicroelectronics Grenoble 2 SAS, STMicroelectronics SRL filed Critical STMicroelectronics Grenoble 2 SAS
Publication of CN102377563A publication Critical patent/CN102377563A/zh
Application granted granted Critical
Publication of CN102377563B publication Critical patent/CN102377563B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

加密数据流的方法。本发明涉及一种加密或解密二进制数据流的方法,包括如下步骤:生成二进制加密流(BS),由可逆逻辑运算将该二进制数据流的每个比特与二进制加密流的比特进行组合,二进制加密流的生成包括如下步骤:通过对数据块(RN,CB1,CB2)应用使用了私密密钥(SK)的密码函数(ENC1,ENC2,ENC3)来生成输入块(CB1,CB2,CB3),以及通过由逻辑运算将输入块的比特彼此组合来从输入块生成二进制加密流,以这样的方式来防止仅根据二进制加密流确定输入块。

Description

加密数据流的方法及设备
技术领域
本发明涉及以二进制流形式或通过总线传输的数据的保护。具体地,本发明适用于(但非排他地)移动电话、数字电视信号的传输,以及集成电路内数据的传输。更为一般地,本发明适用于所有的敏感数字数据传输,即需要保护以免被未经授权的第三方访问的数据。因此,本发明可以应用于支付业务,如按次付费电视、电子商务、或需要传输保密数据的行政服务。
背景技术
数字数据的保护通常通过在传输这些数据之前对其加密来完成,使得只有拥有正确私密密钥的数据接收方才能够解密该加密的数据以便访问该被发送的数据。
目前,可以观察到所需要的数据传输速率和安全级别(即,具体是可以使用的密码算法的鲁棒性)的提升,其结果是执行这样的加密和解密操作所必要的计算能力趋于指数式增加。
存在块加密方法(“分组密码”),其通常提供高的鲁棒性,但是需要效果显著的计算装置或长的计算时间,这与本发明期望的传输速率不兼容。
还存在流加密方法(“流密码”),其中由可逆的逻辑运算(如“异或”逻辑)将比特流的每个比特与连续地产生作为要传输/到达的数据的伪随机加密比特流进行组合。这些方法适于具有高速率的二进制流的处理,并且不需要效果显著的计算装置。然而,这些方法具有比块加密方法低的鲁棒性。Flavio D. Garcia, Peter van Rossum, Roel Verdult,Ronny Wichers Schreur的文献“Dismantling SecureMemory, CryptoMemory andCryptoRF”; Institute for Computing and Information Sciences; RadboudUniversity; Nijmegen, The Netherlands; dated 30-03-2010, 描述了流加密方法以及攻击该加密方法的方法。
发明内容
因此,可能期望有这样一种加密方法:它既具鲁棒性又与高传输数率兼容(如在数字电视领域所遇到的那些),同时实现具有适合普通大众的成本的计算装置。
本发明的实施例涉及加密或解密二进制数据流的方法,该方法包括如下步骤:生成二进制加密流,由可逆逻辑运算将该二进制数据流的每个比特与二进制加密流的比特进行组合;其中生成二进制加密流包括如下步骤:通过对数据块应用使用了私密密钥的密码函数来生成输入块,以及通过由逻辑运算将输入块的比特彼此组合来从输入块生成二进制加密流,以这样的方式来防止仅根据二进制加密流确定输入块。
按照一个实施例,所述方法包括如下步骤:通过对先前获得的输入块应用密码函数来连续地生成输入块。
按照一个实施例,二进制加密流的生成通过循环来完成,在每次循环期间生成二进制加密流的几个比特,输入块的生成具有等于二进制加密流的几十个生成循环的持续时间。
按照一个实施例,初始数据块随机地生成(用于通过应用密码函数生成第一数据块),并由数据流发射器发送给数据流接收器。
按照一个实施例,二进制加密流的生成以循环方式完成,每个循环包括如下步骤:将输入块的几个比特彼此组合以生成加密流的几个比特,通过将输入块的几个比特彼此组合来更新输入块的一部分,以这种方式使得在一定次数的循环之后,输入块的每个比特依赖于初始输入块的所有比特。
按照一个实施例,密码函数是如下类型:AES, DES, 三重DES, Twofish,或Serpent, 或者散列函数,其应用于要加密的数据以及应用于私密密钥。
本发明的各实施例还涉及一种流加密设备,其包括:二进制加密流的生成电路,以及利用二进制加密流来加密或解密的数据流的每个比特的可逆组合逻辑电路,其中所述生成电路包括:生成输入块的块加密电路,以及根据输入块来供给二进制加密流的、输入块的比特的组合逻辑电路,该电路实施按照上面公开的实施例之一的方法。
按照一个实施例,组合逻辑电路包括:供给逻辑电路,其生成作为输入块的比特的函数的二进制加密流的比特;以及更新逻辑电路,其组合输入块的比特并用从所述组合得到的比特来替换输入块的比特。
按照一个实施例,更新逻辑电路被配置使得在更新逻辑电路的一定次数的处理循环之后,更新的输入块的每个比特依赖于块加密电路供给的输入块的所有比特。
按照一个实施例,组合逻辑电路包括:块移位寄存器,其接收加密的块,该块在组合逻辑电路的每个处理循环被移位一定数目的比特,所述数目等于在组合逻辑电路的每个处理循环供给的二进制加密流的比特数目;以及逻辑门,其通过组合该移位寄存器的几个比特来供给二进制加密流的比特。
按照一个实施例,组合逻辑电路包括:块移位寄存器,其接收加密的块,该块在组合逻辑电路的每个处理循环被移位一定数目的比特,所述数目等于在组合逻辑电路的每个处理循环供给的二进制加密流的比特数目;以及非线性逻辑电路,其组合移位寄存器的比特并将通过非线性逻辑电路获取的比特引入到移位寄存器中。
按照一个实施例,非线性逻辑电路均包括:几个字输入,每个字输入接收块移位寄存器的字;几个字移位寄存器,其按照字输入在其自身上将字输入的比特旋转一定数目的比特;几个组合逻辑函数,用于在彼此之间组合字移位寄存器中包含的几个字的比特,并且每个供给一个字;以及逻辑门,其将从组合逻辑函数输出的字的比特彼此组合,并且供给被引入到块移位寄存器中的输出字。
按照一个实施例,组合逻辑电路被配置成在对组合逻辑电路进行节奏控制(cadencing)的时钟信号的每个循环供给二进制加密流的比特。
按照一个实施例,组合逻辑电路包括块移位寄存器,其接收加密块,所述加密块在对组合逻辑电路进行节奏控制的时钟信号的每个循环被移位,组合逻辑电路被配置成在时钟信号的每个循环通过在不会使时钟循环持续时间恶化的情况下使用块移位寄存器的尽可能大的部分来更新块移位寄存器的至少一部分。
附图说明
下面将以非限制的方式结合附图来描述本发明的实施例示例,附图中:
图1示意性示出了实现加密设备的通信中的两个设备,
图2示意性示出了按照实施例的加密设备,
图3示意性示出了生成用于图1的两个设备的二进制加密流的步骤序列,
图4示意性示出了加密设备的功能模式;
图5示意性示出了按照实施例的加密设备的电路,
图6是按照实施例的加密设备的电气图示例,以及
图7是按照实施例的加密设备的电路的电气图示例。
具体实施方式
图1示出了通过数据链路媒介CDB彼此通信的两个设备DEV1,DEV2。为了确保传输的数据的安全,两个设备中的每个设备都通过逻辑电路媒介LGS1,LGS2链接到链路CDB。每个逻辑电路LGS1,LGS2还接收加密流生成电路SCG1,SCG2的一个或几个二进制加密流SC。每个逻辑电路LGS1,LGS2将由设备DEV1,DEV2之一发出的、且由设备DEV1,DEV2中的另一个接收的二进制数据流与二进制加密流BS进行组合。
通信链路CDB可以包括一个或n个导线的数据总线和/或无线传输链路,如WiFi链路或等同物。按照在设备DEV1,DEV2的输出上并行处理的二进制流的数目,每个逻辑电路LGS1,LGS2可以包括一个或多个逻辑门。因此,当设备DEV1发出数据比特Di时,电路LGS1发送加密的数据比特CDi给链路CDB,使得CDi=LO(Di, BSi),LO是由电路LGS1应用于数据比特Di以及应用于由电路SCG1,SCG2生成的二进制加密流BS的对应比特BSi上的逻辑运算。运算LO是可逆的,即,存在求反运算LO’,其允许加密的比特CDi被解密以便从比特CDi和从用于获得比特CDi的比特BSi获得对应的数据比特Di:Di=LO’(CDi, BSi)。求反运算LO’由电路LGS2实现以解密所接收的二进制流。加密数据的每个比特CDi由链路CDB传输并由电路LGS2接收,电路LGS2通过以与电路LGS1相同的方式使用由电路LGS2生成的二进制加密流的相同比特BSi,对加密数据的每个比特应用运算LO’。因此,逻辑运算LO例如是“异或”运算。在该情况下,运算LO和LO’是相同的,因为是异或运算符。
为了解密从设备DEV1接收到的数据,电路LGS2因而生成与用于加密这些数据相同的二进制解密流。
图2示出了每个加密流生成电路SCG1,SCG2的实施例。在图2中,电路SCG包括块加密电路BCIP和组合逻辑电路SCIP。电路BCIP包括用于加密的数据的块输入端、私密密钥SK输入端、以及连接到电路BCIP的块加密输入端和电路SCIP的输入端的加密数据CB块输出端。电路BCIP将密码函数应用于在输入端上供给的数据块,并在输出端上供给加密数据块CB。电路SCIP通过组合由电路BCIP供给的加密块比特CB生成二进制加密流BS。电路SCIP和电路BCIP交换控制和同步信号CTL,具体用于管理对电路BCIP和SCIP之间的通信接口的访问。在第一迭代期间,电路BCIP在块加密输入端接收可以随机产生的数目RN。在几个后续的迭代期间,电路BCIP的块加密输入端接收先前生成的加密块。电路BCIP执行例如对称块加密函数,如AES(先进的加密标准)、DES(数据加密标准)、三重DES、Twofish,Serpent等。电路BCIP可以平等地执行应用于要加密的数据以及私密密钥SK的散列函数,如MD5(消息摘要5),SHA-1,或SHA-2(安全散列算法)。
因此,电路SCG2可以生成用于加密从电路LGS1接收的数据的二进制加密流BS,电路SCG2知道随机数RN,并且与电路SCG1共享私密密钥SK。随机数RN可以通过任何方式从电路LGS1传输到电路LGS2,且该传输不必是安全的。
图1和2所示的架构的优点是每个加密数据发射或接收设备仅仅需要一个块加密计算电路。可以注意到,电路SCG1,SCG2不包括执行电路BCIP的逆处理的块解密电路。
图3示出了当与电路SCG1关联的设备DEV1向与电路SCG2关联的设备DEV2发送数据时,由加密流生成电路SCG1,SCG2执行的步骤序列。电路SCG1执行步骤S1至S4,而电路SCG2执行步骤S2’至S4’。在步骤S1,电路SCG1生成随机数RN。在步骤S2,电路SCG1向设备DEV2发送数目RN。在步骤S2’,电路SCG2接收数目RN。在步骤S3,电路SCG1的电路BCIP对数目RN加密以获得加密的块CB,并且从最后获得的加密块开始重复该操作一定次数以获得新的加密块。电路SCG1将所获得的每个加密块CB传送给电路SCG1的电路SCIP。在步骤S4中,电路SCG1的电路SCIP根据电路BCIP传送的最后加密块CB生成二进制流BS的比特。步骤S4被执行了生成对应于要加密的二进制数据流的大小的二进制加密流所必需的次数。并行地,在步骤S2’之后,根据所接收的数目RN,电路SCG2对步骤S3’和S4’(类似步骤S3和S4) 执行需要的次数以生成与电路SCG1所生成的二进制流BS相同的二进制流。
图4示出了每个电路SCG1,SCG2生成流BS的功能。在第一加密计算ENC1期间,电路BCIP根据例如随机产生的数目RN以及根据在输入端供给的私密密钥SK生成第一加密块CB1。块CB1在由电路BCIP进行的第二加密计算ENC2的输入端(在数目RN位置)上供给。并行地,块CB1被提供给电路SCIP,其在t0时刻启动二进制加密流BS的比特的一系列生成循环C1, C2, C3,…Cn。在每个循环C1..Cn,电路SCIP进行二进制流CIP1, CIP2, CIP3,…CIPn的比特生成操作以生成二进制流BS的一个或多个比特BS1, BS2, BS3,…BSn。在n个循环C1..Cn之后,在tn时刻,块加密计算ENC2完成并向电路SCIP供给第二加密块CB2,对于第三块加密计算ENC3在电路BCIP的输入端上供给。因此,在这n个循环期间,电路SCIP以自治方式工作。在计算ENC3期间,电路SCIP从tn时刻起针对随后的n个循环Cn+1, …, C2n中的每个循环执行二进制流CIPn+1,…CIP2n的比特生成操作,从而根据加密块CB2来供给比特BSn+1,…BS2n。在时刻t2n启动的随后的循环C2n+1中,计算ENC3供给加密的块CB3,其在始自循环C2n+1的n个循环期间使用以生成比特加密流BS2n+1…。在每个计算ENC1, ENC2,ENC3,…,相同密钥SK被使用。而且,在由电路BCIP从数目RN进行一定次数的连续加密计算之后,可产生新的数目RN,并将其传送给电路BCIP和电路SCG2。
两个电路BCIP和SCIP可以以不同的时钟频率工作。因此,由于下面的公式,可以计算电路BCIP的时钟频率FB,供给加密块CB所必需的电路BCIP的时钟循环的数目LB,电路SCIP的时钟频率FC,以及电路BCIP生成加密块CB所必需的、或者期间电路SCIP以自治方式工作的电路SCIP的时钟周期的最小数目TR,
TR=LB×FC/FB (1)
作为示例,如果频率FB和FC是100MHz和400MHz,并且如果块CB的供给需要电路BCIP的15个时钟循环,则循环的最小数目TR等于60个循环。如果块CB的大小为128比特并且电路SCIP在电路SCIP的每个时钟循环中供给二进制加密流BS的32个比特,则电路BCIP近似供给853Mbits/s,而电路SCIP供给12.8Gbits/s。典型地,电路SCIP的处理循环的持续时间是使得在加密块CB的生成处理期间可以发生几十次的处理循环Ci。其结果是基于块加密和应用于由块加密供给的加密块的二进制加密流的生成的组合,所描述的过程很适于供给高频的二进制加密流。
应注意,在第一迭代之后的迭代启动时,在电路BCIP的输入端上供给的加密块不必是由电路BCIP加密的最后的块,而更通常地可以是由BCIP先前生成的块。
图5示出了按照实施例的电路SCIP。电路SCIP包括输入寄存器IREG,输出寄存器OREG,在电路SCIP的每个工作循环中实现寄存器IREG的更新功能的逻辑电路LGF1,以及在电路SCIP的每个处理循环中生成作为寄存器IREG的内容的函数的、寄存器OREG中的一部分二进制加密流BS的逻辑电路LGF2。
电路SCIP被配置成防止二进制加密流根据其它数据来确定。为此,电路LGF2被配置成防止输入寄存器IREG的内容根据输出寄存器OREG的内容来确定,甚至通过分析经过几个循环的寄存器OREG的内容来确定。电路SCIP可以平等地被配置成满足以下条件:
输入寄存器IREG尽可能地小,
电路LGF2被配置成向电路SCIP的每个时钟循环供给二进制加密流BS的比特,
电路LGF1被配置成通过在不使电路SCIP的时钟循环持续时间恶化的情况下、使用寄存器IREG的尽可能大的部分在电路SCIP的每个时钟循环中更新寄存器IREG的至少一部分。实际上,寄存器IREG被更新的部分越大,电路SCIP就越大,因此电路的不同部分之间的互连就越长,导致长的传输时间。二进制加密流BS的速率应与用于加密(或解密)的传输速率兼容,二进制流BS的速率等于电路SCIP的处理循环的持续时间乘以在输出寄存器OREG中的比特数。
图6示出了电路SCIP的实现示例。电路BCIP包括输入寄存器IREG,移位寄存器RSR,四个复用器M1,M2,M3,M4,四个执行非线性逻辑函数的逻辑电路NLF1,NLF2,NLF3,NLF4,四个基本逻辑门LG1,LG2,LG3,LG4和输出寄存器OREG。寄存器IREG的尺寸被定为接收来自电路BCIP的至少大部分的加密块CB。移位寄存器RSR与寄存器IREG的尺寸相同。
在图6的示例中,寄存器IREG包括每个为n比特的16个存储器单元,其被分成4个区组(block),每区组4个单元,每个区组i组装单元ai, bi, ci和di(i从1到4)。寄存器RSR具有类似于寄存器IREG的结构,其具有4个区组,每个区组4个存储器单元,每个单元n个比特。寄存器IREG和RSR均还可以接收16×n比特的块。寄存器IREG的区组1至3的每个存储器单元连接到寄存器RSR的相应的单元。区组4的单元a4,b4,c4,d4通过复用器媒介M1,M2,M3,M4链接到寄存器RSR的相应的单元。寄存器RSR的区组1的每个单元a1,b1,c1,d1连接到电路LG1,LG2,LG3,LG4之一的输入端。寄存器RSR的区组4的每个单元a4,b4,c4,d4连接到电路LG1,LG2,LG3,LG4之一的另一输入端。电路NLF1,NLF2,NLF3,NLF4中的每个分别连接在到寄存器RSR的区组1,2和3之中分离的三个存储器单元的输入端上。因此,在图6的示例中,电路NLF1连接在到单元a1,b2和c3的输入端上。电路NLF2连接在到单元b1, a2和b3的输入端上。NLF3连接在到c1, d2和a3的输入端上。电路NLF4连接在到单元d1, c2和d3的输入端上。每个电路NLFi(i可以具有1至4中的任何值)的输出端连接到复用器Mi的输入端。寄存器OREG包括n比特的4个存储器单元O1,O2,O3,O4。每个电路LG1,LG2,LG3,LG4的输出端连接到输出寄存器OREG的单元O1,O2,O3,O4。电路LG1至LG4对寄存器RSR中的字例如逐比特地应用异或逻辑运算。
在每个时钟循环,电路SCIP因而供给二进制加密流BS的4×n个比特。如果n等于8,则寄存器IREG和RSR均可以接收128比特且寄存器OREG 32比特。在电路SCIP的第一处理循环,寄存器IREG从电路BCIP接收加密块CB。复用器M1至M4被控制以完整地传递寄存器RSR中的块CB。寄存器RSR的内容被传递给电路NLF1至NLF4以及LG1至LG4,并且电路LG1至LG4将寄存器RSR的第一和第四块a1,b1,c1,d1以及a4,b4,c4,d4进行组合,并传递寄存器OREG中的结果。在第一循环结束时,寄存器OREG的单元O1包含组合的单元a1和d4的字,单元O2包含组合的单元b1和c4的字,单元O3包含组合的单元c1和b4的字,单元O4包含组合的单元d1和a4的字。在第二循环,寄存器RSR通过n比特的4个单元向右位移。因而在寄存器RSR中,单元a1至d1中的字由单元a2至d2的字代替。单元a2至d2的字由单元a3至d3的字代替,以及单元a3至d3的字由单元a4至d4的字代替。而且,单元a4至d4接收电路NLF1至NLF4的输出端上的字。因此,输出寄存器OREG接收单元a1至d1的字,所述字初始在单元a2至d2中已知,每个字与从电路NLF1至NLF4发出的包含在单元a4至d4中的字组合。
重新组合输入寄存器IREG的字的比特的电路LG1至LG4的存在防止了输入寄存器IREG的内容仅仅根据输出寄存器OREG的内容(甚至经过几个循环)来确定。实际上,在运算中,其中表示异或逻辑运算符,针对给定的运算结果,每个运算对象x,y为0和1的概率相同。因此,不可能根据唯一的结果来确定运算对象的相应值。该运算结果仅允许确定运算对象是否相同。然而,仅在电路SCIP的第一处理循环期间,寄存器OREG的输出端上的二进制加密流BS的比特由寄存器IREG通过逻辑运算(如异或)逐比特组合产生。知悉电路SCIP的架构和二进制流BS的4×n第一比特仅允许确定寄存器IREG的四个第一字a1...d1的每个比特是否与输入寄存器IREG的四个最后的字a4..d4的比特相同或不同。
应注意,寄存器IREG是可选的并且可以被省略,因为寄存器RSR还接收由电路BCIP供给的每个块CB,并且在电路BCIP进行计算以供给新块期间不必保存块CB。
在一实施例中,电路NLF1至NLF4全都与电路NLF相同。图7示出了电路NLF的实现示例。电路NLF包括三个字输入端X,Y,Z,九个移位寄存器ROT1至ROT9,三个逻辑函数LF1,LF2,LF3以及组合电路XOG。字X被提供给寄存器ROT1,ROT6和ROT8。字Y被提供给寄存器ROT2,ROT4和ROT9。字Z被提供给寄存器ROT3,ROT5,ROT7。移位寄存器ROT1至ROT9被配置成对电路NLF的输入端上的字X,Y或Z应用一定数目比特的二进制旋转。寄存器ROT1,ROT2,ROT3中已知的字被提供给函数LF1。寄存器ROT4,ROT5,ROT6中已知的字被提供给函数LF2。寄存器ROT7,ROT8,ROT9中已知的字被提供给函数LF3。组合电路XOG接收函数LF1,LF2和LF3的输出端上的字,并组合它们以在电路NLF的输出端上供给字。
电路NLF因此执行非线性逻辑运算:
(1)
其中F是由函数LF1,LF2,LF3执行的逻辑函数,“<<”是字的比特的旋转运算符,是由电路XOG执行的组合逻辑运算,其例如是逐比特应用于输入字的比特的异或逻辑运算。由连接到相同函数LF1,LF2,LF3的寄存器ROT1至ROT9进行的比特旋转可以不同。类似地,由接收相同输入字X,Y,Z的寄存器ROT1至ROT9进行的旋转也可以不同。函数LF1,LF2,LF3可以不同或相同。已知逻辑运算符AND,OR或异或运算的组合执行二阶非线性函数,逻辑函数F可以是大于或等于二阶的非线性函数。逻辑函数F例如是下列函数之一:
其中“.”表示逻辑运算符AND,“+”表示逻辑运算符OR,表示逻辑运算符异或,表示逻辑运算符NOT(x)。更为一般地,函数F可以以如下方式选择:使得该函数的非线性不被补偿,因为它在电路SCIP的每个处理循环被应用于寄存器RSR的字。实际上,对于特定函数F,寄存器RSR的某些字在电路SCIP的几个处理循环之后可以仅仅依赖于初始从寄存器IREG引入到寄存器RSR中的有限数目的字。因此,非线性由此被限制而不是被扩展。
更为一般地,由电路NLF1至NLF4执行的函数可以按如下方式选择:使得在电路SCIP的给定处理循环中寄存器RSR的比特所依赖的寄存器IREG的比特数目最大;以及使得在给定处理循环中寄存器IREG的每个比特所依赖的寄存器RSR的比特数目最大,假定在每个处理循环中这些数目以指数方式增加。
因此,在以上描述的电路SCIP的示例中,由电路NLF1至NLF4发出的每个字依赖于寄存器RSR的三个字,在电路NLF的示例中,该电路的输出字的每个比特依赖于输入字的九个比特,如果先前描述的用于旋转ROT1至ROT9的条件满足的话。还可以示出在图6和7的示例中,在电路SCIP的仅15个处理循环之后,寄存器RSR的每个比特依赖于寄存器IREG的所有比特,并且在仅16次迭代之后,寄存器IREG的每个比特被用在寄存器RSR的所有比特中。
对于普通技术人员将清楚地看到,本发明允许各种不同的实现实施例和应用。具体地,本发明不限于先前描述的示例,而是可以由将供给加密块CB的块加密电路和逻辑电路进行组合的任何电路来进行,其中该逻辑电路将加密块CB的比特进行组合,以这种方式使得当所供给的二进制流BS本身不允许块加密电路的输出端上的块被确定时,生成二进制流BS。逻辑电路的实现是在普通技术人员了解的范围之内,因为它仅由基本逻辑函数(如逻辑门和移位寄存器)的组合产生。
而且,使用先前生成的加密块加密的几个块的生成可以不是必需的。实际上,如先前所描述的,加密流生成逻辑电路可以根据经过多次循环加密的块以自治方式来工作。新加密的块的生成仅仅影响由所得到的流进行的加密方法的鲁棒性。

Claims (13)

1.一种加密或解密二进制数据流的方法,包括如下步骤:生成二进制加密流(BS),由可逆逻辑运算将所述二进制数据流的每个比特与二进制加密流的比特进行组合,
其特征在于二进制加密流的生成包括如下步骤:
通过对数据块(RN,CB1,CB2)应用使用了私密密钥(SK)的密码函数(ENC1,ENC2,ENC3)来生成输入块(CB1,CB2,CB3),以及
通过由逻辑运算将输入块的比特彼此组合来从输入块生成二进制加密流(BS),以这样的方式来防止仅根据二进制加密流确定输入块,
其中所述二进制加密流(BS)的生成以循环方式(C1,C2,Cn)完成,每个循环包括如下步骤:将输入块(CB1)的几个比特彼此组合以生成加密流的几个比特,通过将输入块的几个比特彼此组合来更新输入块的一部分,以这种方式使得在一定次数的循环之后,输入块的每个比特依赖于初始输入块的所有比特。
2.按照权利要求1的方法,包括步骤:通过对先前获得的输入块(CB1,CB2)应用密码函数来连续地生成输入块(CB2,CB3)。
3.按照权利要求2的方法,其中输入块(CB1,CB2,CB3)的生成具有等于二进制加密流的几十个生成循环的持续时间。
4.按照权利要求1至3中的一项的方法,其中初始数据块(RN)随机地生成,用于通过应用密码函数生成第一数据块,并由数据流发射器(DEV1)发送给数据流接收器(DEV2)。
5.按照权利要求1的方法,其中密码函数是如下类型:AES,DES,三重DES,Twofish,或Serpent,或者散列函数,其应用于要加密的数据(RN,CB1,CB2,CB3)以及应用于私密密钥(SK)。
6.一种流加密设备,包括:二进制加密流(BS)的生成电路(SCG),以及利用二进制加密流的比特来加密或解密的数据流的每个比特的可逆组合逻辑电路(LGS1,LGS2),
其特征在于,所述生成电路(SCG)包括:生成输入块(CB)的块加密电路(BCIP),以及根据输入块来供给二进制加密流的、输入块的比特的组合逻辑电路(SCIP),所述生成电路(SCG)实施按照权利要求1-5中的一项的方法。
7.按照权利要求6的设备,其中组合逻辑电路(SCIP)包括:供给逻辑电路(LGF2),其生成作为输入块(CB)的比特的函数的二进制加密流(BS)的比特;以及更新逻辑电路(LGF1),其组合输入块的比特并用从所述组合得到的比特来替换输入块(CB)的比特。
8.按照权利要求7的设备,其中更新逻辑电路(LGF1)被配置使得在更新逻辑电路的一定次数的处理循环之后,更新的输入块的每个比特依赖于块加密电路(BCIP)供给的输入块的所有比特。
9.按照权利要求6或8的设备,其中组合逻辑电路(SCIP)包括:块移位寄存器(RSR),其接收加密的块(CB),所述加密的块在组合逻辑电路的每个处理循环被移位一定数目的比特,所述数目等于在组合逻辑电路的每个处理循环供给的二进制加密流(BS)的比特数目;以及逻辑门(LG1-LG4),其通过组合所述移位寄存器的几个比特来供给二进制加密流的比特。
10.按照权利要求6的设备,其中组合逻辑电路(SCIP)包括:块移位寄存器(RSR),其接收加密的块(CB),所述加密的块在组合逻辑电路的每个处理循环被移位一定数目的比特,所述数目等于在组合逻辑电路的每个处理循环供给的二进制加密流(BS)的比特数目;以及非线性逻辑电路(NLF1-NLF4),其组合移位寄存器的比特并将通过非线性逻辑电路获取的比特引入到移位寄存器中。
11.按照权利要求10的设备,其中非线性逻辑电路(NLF1-NLF4)均包括:几个字输入(X,Y,Z),每个字输入接收块移位寄存器(RSR)的字;几个字移位寄存器(ROT1-ROT9),其按照字输入在其自身上将字输入的比特旋转一定数目的比特;几个组合逻辑函数(LF1,LF2,LF3),用于在彼此之间组合字移位寄存器中包含的几个字的比特,并且每个供给一个字;以及逻辑门(XOG),其将从组合逻辑函数输出的字的比特彼此组合,并且供给被引入到块移位寄存器中的输出字。
12.按照权利要求6的设备,其中组合逻辑电路(SCIP)被配置成在对组合逻辑电路进行节奏控制的时钟信号的每个循环供给二进制加密流(BS)的比特。
13.按照权利要求6的设备,其中组合逻辑电路(SCIP)包括块移位寄存器(RSR),其接收加密块(CB),所述加密块在对组合逻辑电路进行节奏控制的时钟信号的每个循环被移位,组合逻辑电路被配置成在时钟信号的每个循环通过在不会使时钟循环持续时间恶化的情况下使用块移位寄存器的尽可能大的部分来更新块移位寄存器的至少一部分。
CN201110222304.9A 2010-08-04 2011-08-04 加密数据流的方法及设备 Expired - Fee Related CN102377563B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1003269A FR2963713A1 (fr) 2010-08-04 2010-08-04 Procede de chiffrement d'un flux de donnees
FR10/03269 2010-08-04

Publications (2)

Publication Number Publication Date
CN102377563A CN102377563A (zh) 2012-03-14
CN102377563B true CN102377563B (zh) 2016-08-17

Family

ID=43759728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110222304.9A Expired - Fee Related CN102377563B (zh) 2010-08-04 2011-08-04 加密数据流的方法及设备

Country Status (4)

Country Link
US (1) US20120033806A1 (zh)
EP (1) EP2416523A1 (zh)
CN (1) CN102377563B (zh)
FR (1) FR2963713A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014091559A1 (ja) * 2012-12-11 2014-06-19 三菱電機株式会社 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法
KR102287946B1 (ko) * 2014-09-05 2021-08-09 삼성전자주식회사 데이터 암호화 방법 및 장치
CN104660589B (zh) * 2015-01-20 2021-09-10 中兴通讯股份有限公司 一种对信息进行加密控制、解析信息的方法、***和终端
FR3046711B1 (fr) * 2016-01-08 2018-02-16 Stmicroelectronics (Grenoble 2) Sas Compression et decompression de donnees video
CN106973061B (zh) * 2017-04-26 2020-01-17 南通大学 一种基于可逆逻辑电路的aes的外发文件加密方法
US11032067B2 (en) 2017-07-03 2021-06-08 Stmicroelectronics S.R.L. Hardware secure module, related processing system, integrated circuit, device and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0635956A2 (en) * 1993-07-20 1995-01-25 Canon Kabushiki Kaisha Encryption apparatus, communication system using the same and method therefor
CN1812581A (zh) * 2006-01-24 2006-08-02 上海广电(集团)有限公司中央研究院 一种基于内容的节目流加密算法
WO2008049046A2 (en) * 2006-10-18 2008-04-24 Qualcomm Incorporated Method for securely extending key stream to encrypt high-entropy data
CN101313509A (zh) * 2005-11-23 2008-11-26 皇家飞利浦电子股份有限公司 多通道高速加密和解密

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060023875A1 (en) * 2004-07-30 2006-02-02 Graunke Gary L Enhanced stream cipher combining function
JP4774509B2 (ja) * 2005-05-13 2011-09-14 国立大学法人お茶の水女子大学 擬似乱数発生システム
JP4954622B2 (ja) * 2006-06-29 2012-06-20 京セラ株式会社 受信装置および復号方法
US8000467B2 (en) * 2007-03-19 2011-08-16 Stmicroelectronics Sa Data parallelized encryption and integrity checking method and device
CN101242265A (zh) * 2008-03-07 2008-08-13 四川虹微技术有限公司 安全***中流密码、伪随机数产生方法
US8638929B2 (en) * 2009-11-30 2014-01-28 Motorola Mobility Llc System and method for encrypting and decrypting data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0635956A2 (en) * 1993-07-20 1995-01-25 Canon Kabushiki Kaisha Encryption apparatus, communication system using the same and method therefor
CN101313509A (zh) * 2005-11-23 2008-11-26 皇家飞利浦电子股份有限公司 多通道高速加密和解密
CN1812581A (zh) * 2006-01-24 2006-08-02 上海广电(集团)有限公司中央研究院 一种基于内容的节目流加密算法
WO2008049046A2 (en) * 2006-10-18 2008-04-24 Qualcomm Incorporated Method for securely extending key stream to encrypt high-entropy data

Also Published As

Publication number Publication date
CN102377563A (zh) 2012-03-14
US20120033806A1 (en) 2012-02-09
FR2963713A1 (fr) 2012-02-10
EP2416523A1 (fr) 2012-02-08

Similar Documents

Publication Publication Date Title
CN102377563B (zh) 加密数据流的方法及设备
TWI399663B (zh) 密碼系統及密碼方法
CN101779412B (zh) 用于数据加密的伪随机生成的密码学方法和设备、及消息的密码学散列
EP3468147B1 (en) Method for constructing secure hash functions from bit-mixers
US10176121B2 (en) Apparatus and method for memory address encryption
EP3461056B1 (en) Systems and methods for facilitating iterative key generation and data encryption and decryption
JPH1075240A (ja) データ送信を保護する方法およびデータを暗号化または解読化する装置
CN104639314A (zh) 基于aes加密/解密算法的装置和流水控制方法
CN101162557A (zh) 密码处理装置和密码处理方法、以及计算机程序
US10122690B2 (en) Data encryption and authentication using a mixing function in a communication system
CN105324956A (zh) 加密明文数据的方法及设备
CN103414549A (zh) 一种qr二维码二值图像分区变密钥混沌加密方法
CN101840485B (zh) 文件混序分割存储与合成互验的方法
CN102801519A (zh) 一种实现aes加解密的方法及装置
KR20150142623A (ko) 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템
CN105306194A (zh) 供加密档案和/或通讯协定的多重加密方法与***
CN112906070A (zh) 用于安全设备的块密码侧信道攻击减轻
Mousavi et al. Security of Internet of Things using RC4 and ECC algorithms (case study: smart irrigation systems)
CN105916141B (zh) 一种自同步的祖冲之加解密算法的实现***及其方法
CN107534558A (zh) 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线***
CN101867471A (zh) 基于无理数的des认证加密算法
CN1826753B (zh) 保密密钥控制的可逆电路和相应的数据处理方法
Zhong et al. Chosen-Plaintext Attack on Energy-Efficient Hardware Implementation of GIFT-COFB
US20080219448A1 (en) Multiple-layers encryption/decryption and distribution of copyrighted contents
US20120321079A1 (en) System and method for generating round keys

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: Grenoble

Applicant after: Stmicroelectronics (Grenoble 2) Sas

Applicant after: ST Microelectronics SRL

Address before: Grenoble

Applicant before: STMicroelectronics (Grenoble 2) Ltd

Applicant before: ST Microelectronics SRL

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: ST MICROELECTRONICS (GRENOBLE 2) SAS TO: STMICROELECTRONICS (GRENOBLE) CORPORATION

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: 20160817

Termination date: 20190804

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