CN102411694A - 加密装置及存储器系统 - Google Patents
加密装置及存储器系统 Download PDFInfo
- Publication number
- CN102411694A CN102411694A CN2011102549414A CN201110254941A CN102411694A CN 102411694 A CN102411694 A CN 102411694A CN 2011102549414 A CN2011102549414 A CN 2011102549414A CN 201110254941 A CN201110254941 A CN 201110254941A CN 102411694 A CN102411694 A CN 102411694A
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- nuclear
- cts
- input
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization 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)
- Storage Device Security (AREA)
Abstract
本发明涉及加密装置及存储器系统。根据一个实施例,一种加密装置包括:加密核(“核”)、分配单元、连接单元和输出控制单元。如果其CTS标志是开启的,每个核在使用对称密钥的同时使用利用CTS的对称密钥密码算法进行加密。当接收到CTS信号的输入时,分配单元将第一输入数据分配给预定的核,并且开启其CTS标志。连接单元通过连接在对第一输入数据加密期间生成的运算数据和紧接在第一输入数据之后输入的第二输入数据而生成连接的数据。输出控制单元控制将连接的数据输出到预定的核,输出通过对连接的数据加密而获得的第一加密数据,且控制输出通过对第一输入数据加密而获得的第二加密数据,此外关闭预定核的CTS标志。
Description
相关申请的交叉引用
本申请基于并且要求2010年9月22日提交的日本专利申请2010-211727的优先权;通过引用的方式将其全部内容并入本文中。
技术领域
本文中描述的实施例概括而言涉及加密装置和存储器系统。
背景技术
对称块密码(symmetric block cipher)被设计用于保护电子数据的目的。块密码允许密码的块长度的单个数据块的加密。当数据长度大于块长度时,必须将数据分割成独立的密码块。由此,发展出可以通过使用对称块密码加密算法隐藏其长度大于块长度的数据的加密方法、以及用于生成可以用于检测原始数据的篡改的认证代码的加密方法。可用于各种应用的且基于对称块密码的这种加密方法被称为“块密码模式的运算”。
在电气和电子工程师协会(IEEE)P1619-Std-2007的出版物中公开了被应用到存储设备中存储的数据的块密码模式的运算“XTS”。此外,IEEEP1619-Std-2007中公开的块密码模式的运算被采用作为定义块密码模式的运算的美国联邦政府信息处理标准(FIPS)PUB SP800-38系列中的SP-800-38E(基于异或-加密-异或[=XEX]的利用CTS调整的码本模式(称为XTS模式))。
对称密钥密码被设计为通过对具有块长度的数据执行运算来对其加密。因此,对通过将加密目标数据分割成各自具有块长度的区段(section)而获得的每个输入数据块执行加密。当目标数据的长度不等于块长度的整数倍时,分割后的最后一个数据块的长度小于块长度。在XTS模式中,使用由请求注解(RFC)2040提出的被称为密文窃取(CipherText Stealing,CTS)的运算方法,以对小于块长度的最后数据进行加密。
然而,根据CTS的运算,在较短数据的运算与紧接在小于块长度的最后数据之前执行的运算之间存在依赖关系。因此,除非完成了对具有块长度的数据的加密,否则对小于块长度的数据的下一运算不会开始。
结果,当使用多个加密核(cryptographic core)并行地对输入数据块进行加密时,为小于块长度的数据分配的加密核将处于等待状态,直到为块数据分配的加密核的处理结束CTS中的预定阶段为止。在该情况下,加密没有并行地执行,并且性能下降。
发明内容
各实施例的目的是提供一种加密装置和存储器系统,利用所述加密装置和存储器系统可以提高加密处理的速度。
概括而言,根据一个实施例,一种加密装置包括:多个加密核、分配单元、连接单元(concatenating unit)以及输出控制单元。所述多个加密核的每一个包括标志存储单元,用于在其中存储密文窃取(CTS)标志,所述CTS标志指示要执行CTS。当其CTS标志开启时,每个加密核在使用对称密钥的同时使用利用CTS的对称密钥密码算法而加密。当接收到指示紧接在具有块长度的第一输入数据之后输入的第二输入数据小于所述块长度的CTS信号的输入时,所述分配单元将所述第一输入数据分配给所述多个加密核中的一个加密核,并且开启所述多个加密核中的所述第一输入数据被分配给的所述一个加密核的CTS标志。所述连接单元通过连接所述第二输入数据与在所述多个加密核中的所述一个加密核处对所述第一输入数据进行加密期间生成的运算数据而生成连接的数据。所述输出控制单元控制将所述连接的数据输出到多个加密核中的所述一个加密核,控制输出通过在所述多个加密核中的所述一个加密核处对所述连接的数据进行加密而获得的第一加密数据,并控制输出通过在所述多个加密核中的所述一个加密核处对所述第一输入数据进行加密而获得的第二加密数据,并且关闭所述多个加密核中的所述一个加密核的CTS标志。
根据上述加密装置,可以提高加密处理的速度。
附图说明
图1是根据实施例的存储器系统的示例性配置的框图;
图2是根据该实施例的加密装置的示例性配置的框图;
图3是根据该实施例的分配处理的实例的流程图;
图4是根据该实施例的使用常规对称密钥密码算法的运算实例的流程图;
图5是根据该实施例的使用利用CTS的对称密钥密码算法的前阶段运算的实例的流程图;
图6是根据该实施例的输出控制处理和连接处理的实例的流程图;
图7是根据该实施例的使用利用CTS的对称密钥密码算法的后阶段运算的实例的流程图;
图8是根据该实施例的其中输入数据块被分配给加密核和寄存器的实例的图;
图9是根据该实施例的其中从加密核和寄存器输出加密数据块的实例的图;
图10是其中输入数据块被分配给加密核的比较例的图;以及
图11是其中从加密核输出加密数据块的比较例的图。
具体实施方式
将解释根据实施例的包括加密装置的存储器系统的配置。
图1是根据本实施例的存储器系统1的示例性配置的框图。存储器系统1被构造为响应于来自主机装置2的写请求而对写目标数据加密并存储加密的写目标数据,并响应于来自主机装置2的读请求而对被加密和存储的读目标数据进行加密和读取。存储器系统1可以被实现为,例如,NAND半导体存储器设备。如图1所示,存储器系统1包括加密装置10、存储器50和接口单元60。主机装置2是计算机,其使存储器系统1构造于其中,或者在其外部使存储器系统1与其连接。由在主机装置2中设置的操作系统(OS)发出对存储器系统1的写请求和读请求。
加密装置10是这样的电路,其被配置为对由主机装置2提供的写目标数据进行加密,并对在存储器50中的被加密和存储的读目标数据进行解密。根据本实施例,写目标数据和读目标数据各自被以块为单位输入到加密装置10。加密装置10被配置为以块为单位对写目标数据加密和对读目标数据解密。本实施例将基于块大小为128比特的假设来进行解释;然而,块的大小并不限于该实例。稍后将解释加密装置10的细节。
存储器50为非易失性存储器,在其中存储由加密装置10加密的数据。例如,可以在NAND闪速存储器中实现存储器50。
接口电路60是这样的电路,其响应于来自主机装置2的请求而控制在存储器系统1中包括的功能单元。具体地,当接口单元60接收到来自主机装置2的请求写入写目标数据的写请求时,接口单元60分割写目标数据并且将在分割处理中分开的块数据依次发送到加密装置10,以对输入数据块进行加密。之后,接口单元60依次接收通过对来自加密装置10的输入数据块进行加密而获得的加密数据,并且将接收到的加密数据块输出到存储器50,以使存储器50在其中存储加密数据。此外,当接口单元60已从主机装置2接收到读请求时,接口单元60从存储器50读出读目标数据块,并且将读目标数据块依次发送到加密装置10,以使加密装置10对读目标数据块进行解密。之后,接口单元60从加密装置10依次接收解密的读目标数据块的输入,并且将解密的读目标数据块返回给主机装置2。
图2是根据本实施例的加密装置10的示例性构成的框图。如图2所示,加密装置10包括加密核20-1到20-4以及加密控制单元30。将通过使用其中加密核的数目为4的实例来解释本实施例;然而,加密核的数目可以是等于或大于2的任意数。此外,在下面的部分中,在加密核20-1到20-4不需要彼此进行区分的情况下,加密核20-1到20-4可以简称为加密核20。同样,在图2示出的实例中,连接到加密装置10的功能单元的线表示传输数据信号的数据线。从图中省略了传输控制信号的控制线。
加密核20-1到20-4中的每一个被实现为:在使用通过密钥数据信号线41向其输入的密钥数据时,执行由加密控制单元30输入的输入数据和对称密钥密码算法。此外,加密核20-1到20-4中的每一个被设计为输出密文。在该情况下,加密核20-1到20-4并行地对通过加密控制单元30向其依次输入的多个输入数据块进行加密。将通过使用其中加密核20所使用的加密算法是XTS模式的实例来解释本实施例,然而加密核20在进行加密时使用的对称密钥密码算法是高级加密标准(AES);然而,本实施例并不限于此。密钥数据信号线41被连接到接口单元60。换句话说,从接口单元60通过密钥数据信号线41而将密钥数据输入到加密核20-1到20-4中的每一个。
加密核20-1到20-4分别包括标志存储单元22-1到22-4,每个标志存储单元在其中存储CTS标志,该CTS标志指示是否要执行密文窃取(CTS)运算。如果自身的CTS标志被关闭,加密核20-1到20-4中的每一个使用常规对称密钥密码算法进行计算。相反地,如果自身的CTS标志被开启,加密核20-1到20-4中的每一个使用利用CTS的对称密钥密码算法进行计算。
加密控制单元30是这样的电路,其被配置为控制加密核20-1到20-4并控制通过20-1到20-4计算的输出结果。加密控制单元30包括选择器31、寄存器32、连接单元33、另一选择器34、再一选择器35、分配单元36以及输出控制单元37。
通过分配单元36和输出控制单元37来控制选择器31。选择器31被配置为从下面各项中为通过输入数据信号线42输入的输入数据以及从加密核20-1到20-4中的任一者输入的计算结果选择输出目的地:寄存器32、连接单元33和选择器35。此外,选择器31将输入的数据以及输入的计算结果输出到所选择的输出目的地。输入数据信号线42被连接到接口单元60。换句话说,从接口单元60通过输入数据信号线42而将输入的数据输入到选择器31。通过输入数据信号线42输入的输入数据是这样的数据,其长度等于块长度或小于块长度。
寄存器32被实现为在其中存储输入的数据和通过选择器31输入的计算结果。
连接单元33是受到分配单元36和输出控制单元37控制的电路。连接单元33被设计为通过将由选择器31输入的计算结果与在寄存器32中存储的输入数据相连接而生成连接的数据(concatenated data)。
选择器34受到分配单元36或输出控制单元37的控制。选择器34被设计为,为通过输入数据信号线42输入的输入数据以及通过连接单元33从加密核20-1到20-4输入的连接的数据选择输出目的地。之后,选择器34将输入的连接数据和输入数据输出到所选择的输出目的地。
选择器35受到输出控制单元37的控制。选择器35被配置为通过输出数据信号线43输出从选择器31输入的计算结果以及加密的数据,该加密的数据是从寄存器32输入的计算结果。输出信号数据线43被连接到接口单元60。换句话说,从选择器35通过输出数据信号线43而将加密的数据输出到接口单元60。
分配单元36是这样的电路,其被设计为将通过输入数据信号线42输入的输入数据分配给加密核20-1到20-4中的一个。此外,分配单元36控制选择器34,以便将输入数据输出到加密核20-1至20-4中的该输入数据被分配到的一个加密核。在这种情况下,分配单元36以循环的方式将输入数据块依次分配给加密核20-1到20-4。
此外,当分配单元36通过CTS信号线44接收CTS信号的输入时(该CTS信号指示出紧接在具有块长度的输入数据块(即,第一输入数据的实例)之后通过输入数据信号线42输入的下一输入数据块(即,第二输入数据的实例)小于块长度),分配单元36将这样的输入数据分配给加密核20-1到20-4中的一个,该输入数据具有块长度且在下一输入数据块之前通过输入数据信号线42输入。之后,分配单元36开启加密核中的输入数据块被分配给的一个加密核的CTS标志。此外,分配单元36将通过输入数据信号线42输入的下一输入数据块存储到寄存器32中,将通过数据长度信号线45输入的下一输入数据块的数据长度输出到连接单元33,并且控制选择器34,以便将下一输入数据块的数据长度输出到加密核中的所述一个。CTS信号线44以及数据长度信号线45被连接到接口单元60。换句话说,从接口单元60通过CTS信号线44而将CTS信号输入到分配单元36。从接口单元60通过数据长度信号线45而将下一输入数据块的数据长度输入到分配单元36。
输出控制单元37是这样的电路,其被设计为,例如,控制输出从加密核20中的任何加密核输入的计算结果。当作为计算结果的加密数据块从其CTS标志被关闭的任何加密核20输入到加密控制单元30时,输出控制单元37控制选择器31,以便将加密数据的输入块输出到选择器35并且通过输出数据信号线43而输出。当通过任何加密核20进行的处理结束时,从加密核20向输出控制单元37输出结束信号。由此,通过检查输出结束信号的加密核20的CTS标志,输出控制单元37检查其是否是来自CTS标志被关闭的加密核20的输入。
此外,当在对输入数据进行加密期间生成的运算数据是加密控制单元中来自其CTS标志被开启的上述加密核之一的输入时,输出控制单元37控制选择器31,以便将输入的运算数据输出到连接单元33,并且还使在寄存器32中存储的下一输入数据块被输出到连接单元33。之后,输出控制单元37使已由连接单元33生成的连接数据被输出到加密核中的所述一个。
此外,当通过计算输入数据而获得的加密数据(即,第二加密数据的实例)被从加密核20中的所述一个输入到加密控制单元30时,输出控制单元37控制选择器31,以便将输入的加密数据输出到寄存器32并存储于其中。
此外,当通过计算连接的数据而获得的加密数据(即,第一加密数据的实例)被从加密核中的所述一个输入到加密控制单元30时,输出控制单元37控制选择器31,以便将输入的加密数据输出到选择器35并通过输出数据信号线43而输出。之后,输出控制单元37使在寄存器32中存储的加密数据被输出到选择器35且通过输出数据信号线43而输出。输出控制单元37关闭加密核中的所述一个的CTS标志。
接下来,将解释根据本实施例的加密装置的操作。
在下面的部分中,假设用于由主机装置2发出的写请求的写目标数据被接口单元60分割成输入数据块Pj(0≤j≤m),Pj的数量等于m+1,并且每个Pj具有块长度,以便通过输入数据信号线42将输入数据块Pj依次输入到加密装置10。还假设最后一个输入数据块Pm小于块长度。
图3是根据本实施例的通过分配单元36执行的分配处理中的过程的实例的流程图。
首先,当没有CTS信号通过CTS信号线44输入时,分配单元36确定作为要通过输入数据信号线42输入的下一数据的表示为Pj+1(0≤j≤m-2)的下一输入数据块具有块长度(步骤S100:否)。在这种情况下,分配单元36将在下一输入数据块Pj+1之前被输入的表示为Pj的输入数据块以循环的方式分配给加密核20-1到20-4中的一个(步骤S102)。之后,处理返回步骤S100。
相反地,当通过CTS信号线44输入了CTS信号时,分配单元36确定作为要通过输入数据信号线42输入的下一数据的表示为Pm的下一输入数据块小于块长度(步骤S100:是)。在这种情况下,分配单元36将在下一输入数据块Pm之前被输入的表示为Pm-1的输入数据块以循环的方法分配给加密核20-1到20-4中的一个,并且开启该输入数据块Pm-1被分配给的加密核中的所述一个的CTS标志(步骤S104)。在本实例中,假设分配单元36将输入数据块Pm-1分配给加密核20-2。换句话说,假设所述“加密核的一个”是加密核20-2。
随后,分配单元36将通过输入数据信号线42输入的下一输入数据块Pm存储到寄存器32中,并且还将通过数据长度信号线45输入的下一输入数据块Pm的数据长度输出到连接单元33(步骤S106)。此外,分配单元36控制选择器34,以便还将下一输入数据块Pm的数据长度输出到加密核20-2。之后,分配单元36结束处理。
当接口单元60已经从主机装置2接收到新的写请求时,新输入数据块通过输入数据信号线42而被输入。因此,分配单元36从步骤S100重新开始处理。
图4是根据本实施例的使用由加密核20中任何一个所执行的常规对称密钥密码算法的运算(即,使用不利用CTS的对称密钥密码算法的运算)中的过程的实例的流程图。由加密核20中的通过分配单元36在图3所示的步骤S102处将输入数据分配给的任意加密核来对执行图4中所示的处理。
首先,加密核20计算第j块(0≤j≤m-2)中的表示为Pj的输入数据块与掩码值Tj之间的异或(exclusive logical sum)PP(步骤S200)。在这种情况下,当满足“j=0”时,通过将对称密钥Key2和区段(sector)号i(调整值(Tweak Value))分配给下面示出的表达式(1)来计算掩码值Tj。当满足“1≤j≤m-2”时,通过使用下面示出的表达式(2)来计算掩码值Tj。在下面的表达式中,αj代表伽罗瓦域(Galois field)中的原始元(primitiveelement)。
T0=AESenc(Key2,i)×α0 (1)
Tj=Tj-1×αj-1 (2)
之后,加密核20将计算出的异或PP和对称密钥Key1分配给下面的表达式(3),以计算加密值CC(步骤S202)
CC=AESenc(Key1,PP) (3)
之后,加密核20计算加密数据Cj,其是计算出的加密值CC与掩码值Tj之间的异或,并且将加密数据Cj输出到加密控制单元30(步骤S204)。
在加密核20-1到20-4中并行地执行图4中示出的处理。
图5是根据本实施例的使用由加密核20-2执行的且利用CTS的对称密钥密码算法的前阶段运算的实例的流程图。由通过分配单元36在图3中示出的步骤S104处将输入数据分配给的加密核20-2来执行图5中示出的处理。
首先,加密核20-2计算在第m-1块中表示为Pm-1的输入数据块与掩码值Tm-1之间的异或PP(步骤S210)。在这种情况下,通过使用下面示出的表达式(4)来计算掩码值Tm-1:
Tm-1=Tm-2×αm-2 (4)
之后,加密核20-2将计算出的异或PP和对称密钥Key1分配给上面的表达式(3)以计算加密值CC,并且将加密值CC输出到加密控制单元30(步骤S212)。
之后,为了获得加密数据Cm,加密核20-2计算与下一输入数据块Pm的数据长度一样多的在计算出的加密值CC与掩码值Tm-1之间的异或的高位比特(upper bit),并且将加密数据Cm输出到加密控制单元30(步骤S214)。
稍后将解释在随后的后阶段中的处理。
图6是根据本实施例的由输出控制单元37执行的输出控制处理以及由连接单元33执行的连接处理中的过程的实例的流程图。
首先,当将从对输入数据Pj(0≤j≤m-2)执行的运算得到的加密数据Cj从其CTS标志被关闭的加密核20中的一个输入到加密控制单元30时(步骤S300:否),输出控制单元37控制选择器31,以便将输入的加密数据Cj输出到选择器35并且通过输出数据信号线43而输出。处理然后返回到步骤S300。
相反地,当将作为在对输入数据Pm-1执行的运算处理期间生成的运算数据的加密数据CC从其CTS标志被开启的加密核20-2输入到加密控制器单元30时(步骤S300:是),输出控制单元37控制选择器31,以便将输入的加密值CC输出到连接单元33,并且同样,输出控制单元37使在寄存器32中存储的下一输入数据块Pm输出到连接单元33。之后,连接单元33将下一输入数据块Pm与加密值CC和掩码值Tm-1之间的异或的这样的部分相连接,该部分具有通过从块长度减去下一输入数据块Pm的数据长度而获得的数据长度。此外,连接单元33计算从连接处理获得的数据与掩码值Tm-1之间的异或PP(步骤S304)。在这种情况下,通过使用下面示出的表达式(5)来计算掩码值Tm,
Tm=Tm×αm (5)
随后,输出控制单元37将由连接单元33计算出的异或PP输出到其CTS标志被开启的加密核20-2。同样,当将从对输入数据Pm-1执行的运算得到的加密数据Cm从加密核20-2输入到加密控制单元30时,输出控制单元37控制选择器31,以便将输入的加密数据Cm输出到寄存器32并且被存储在其中(步骤S306)。
之后,当将从对异或PP执行的运算获得的加密数据Cm-1(下一输入数据块Pm)从其CTS标志被开启的加密核20-2输入到加密控制器单元30时,输出控制单元37控制选择器31,以便将输入的加密数据Cm-1输出到选择器35且通过输出数据信号线43而输出(步骤S308)。
接下来,输出控制单元37将在寄存器32中存储的加密数据Cm输出到选择器35,并且使加密数据Cm通过输出数据信号线43而输出。之后,输出控制单元37关闭加密核20-2的CTS标志(步骤S310)。
图7是根据本实施例的使用利用CTS且由加密核20-2执行的对称密钥密码算法的后阶段运算的过程的实例的流程图。图7中示出的处理在图6示出的步骤S306的处理之后且在步骤S308的处理之前执行。
首先,加密核20-2将从加密控制单元30输入的异或PP和对称密钥Key1分配给上面的表达式(3),以计算加密值CC(步骤S220)。
随后,加密核20-2计算加密值Cm-1,其是计算出的加密值CC与掩码值Tm之间的异或,并且将计算出的加密数据Cm-1输出到加密控制单元30(步骤S222)。之后,输出控制单元37结束处理。
当接口单元60已经从主机装置2接收到新的写请求时,新的输入数据块通过输入数据信号线42而被输入,并且作为结果,重新开始通过分配单元36的分配处理。因此,输出控制单元37同样重新开始从步骤S300开始的处理。
图8是作为由分配单元36执行的分配处理的结果而被分配给加密核20-1到20-4和寄存器32的输入数据块Pj的实例的图。图9是作为由输出控制单元37所实现的输出控制的结果而从加密核20-1到20-4和寄存器32输出的加密数据块Cj的实例的图。
在图8示出的实例中,作为由分配单元36执行的图3中示出的分配处理的结果,将输入数据Pm-2、输入数据Pm-1、输入数据Pm、输入数据Q0、和输入数据Q1以所陈述的顺序分别分配给加密核20-1、加密核20-2、寄存器32、加密核20-3以及加密核20-4。
此外,作为由输出控制单元37执行的图7中示出的输出控制的结果,如图9所示,将从输入数据Pm-2获得的加密数据Cm-2、从输入数据Pm获得的加密数据Cm-1、从输入数据Pm-1获得的加密数据Cm、从输入数据Q0获得的加密数据CQ0、和从输入数据Q1获得的加密数据CQ1以所陈述的顺序分别从加密核20-1、加密核20-2、寄存器32、加密核20-3和加密核20-4输出。
如上所述,根据本实施例的加密装置10的特征在于,通过采用加密核20-2、寄存器32和连接单元33来执行对输入数据Pm-1和输入数据Pm执行的运算,在输入数据Pm-1和输入数据Pm中由于CTS而出现依赖关系。换句话说,根据本实施例的加密装置10被配置为通过单个加密核且使用寄存器32和连接单元33来执行对存在依赖关系的输入数据Pm-1和输入数据Pm执行的运算,而不使用多个加密核。结果,当使用根据本实施例的加密装置10时,即使当执行使用CTS的运算时,也可以并行地执行加密处理,而不导致任何加密核处于等待状态。结果,可以提高加密处理的速度。
此外,根据本实施例的加密装置10能够按照相应的输入数据块Pj被输入的顺序来输出加密数据块Cj。结果,可以简化对加密数据块Cj实施的输出控制。
接下来,作为比较例,在图10和11中示出了这样的例子,其中,不使用根据本实施例的加密装置10,将输入数据块Pj分配给加密核20-1’到20-4’,以便输出加密数据块Cj。
在图10中示出的例子中,将输入数据Pm-2、输入数据Pm-1、输入数据Pm和输入数据Q0以所陈述的顺序分别分配给加密核20-1’、加密核20-2’、加密核20-3’和加密核20-4’。在这种情况下,加密核20-3’通过使用在由加密核20-2’执行的运算处理期间生成的加密数据CC对输入数据Pm执行加密处理。因此,直到由加密核20-2’生成加密数据CC为止,加密核20-3’处于等待状态,因此不可能使处理并行执行。
此外,如图11中所示,从输入数据Pm-2获得的加密数据Cm-2、从输入数据Pm-1获得的加密数据Cm、从输入数据Pm获得的加密数据Cm-1、和从输入数据Q0获得的加密数据CQ0以所陈述的顺序分别从加密核20-1’、加密核20-2’、加密核20-3’和加密核20-4’输出。在这种情况下,加密数据Cm和Cm-1并非按照相应的输入数据块(即,输入数据Pm-1和输入数据Pm)被输入的顺序而输出。结果,对加密数据块Cj实施的输出控制是复杂的。
如上所述,根据本实施例,可以提高加密的性能。
在上述示例性实施例中,解释了这样的实例,其中将加密装置应用于存储器系统,该存储器系统被配置为具有例如NAND半导体存储器设备;然而,将加密装置应用于磁盘装置等是可以接受的。换句话说,在示例性实施例中描述的加密装置被应用于的存储设备所使用的存储方法并不限于任何特定的存储方法。
此外,使用加密作为实例来解释了上述示例性实施例;然而,还可以将相同的方法应用于解密处理。
根据上述至少一个实施例的加密装置,多个加密核的每一个包括标志存储单元,所述标志存储单元用于在其中存储指示密文窃取(CTS)标志,所述CTS标志指示要执行CTS。当其CTS标志开启时,加密核的每一个在使用对称密钥的同时使用利用CTS的对称密钥密码算法来进行加密。当已经接收到CTS信号(其指示紧接在具有块长度的第一输入数据之后输入的第二输入数据小于块长度)的输入时,分配单元将第一输入数据分配给多个加密核中的一个,并且开启第一输入数据被分配给的加密核中的所述一个的CTS标志。连接单元通过连接第二输入数据和在加密核中的所述一个处对第一输入数据的加密期间生成的运算数据而生成连接的数据。输出控制单元控制将连接的数据输出到加密核中的所述一个,控制输出通过在加密核的所述一个处对连接的数据加密而获得的第一加密数据,并控制输出通过在加密核的所述一个处对第一输入数据加密而获得的第二加密数据,并且关闭加密核的所述一个的CTS标志。因此,可以提高加密处理的速度。
尽管描述了特定的实施例,但是这些实施例仅通过实例给出,并不旨在限制本发明的范围。实际上,这里所描述的新颖实施例可通过各种其他形式实现;此外,在不脱离本发明的精神的情况下,可在这里所描述的实施例的形式上进行各种省略、替换和修改。所附权利要求及其等同物旨在涵盖落入本发明的范围和精神内的这样的形式或修改。
Claims (5)
1.一种加密装置,包括:
多个加密核,每一个所述加密核包括标志存储单元,所述标志存储单元在其中存储密文窃取(CTS)标志,所述CTS标志指示是否要执行利用CTS的加密,并且每一个所述加密核在其CTS标志开启时执行这样的加密,该加密在使用对称密钥的同时使用利用CTS的对称密钥密码算法;
分配单元,当已接收到指示紧接在具有块长度的第一输入数据之后输入的第二输入数据小于所述块长度的CTS信号的输入时,所述分配单元将所述第一输入数据分配给所述多个加密核中的一个加密核,并且开启所述多个加密核中的所述第一输入数据被分配给的所述一个加密核的CTS标志;
连接单元,其通过连接所述第二输入数据与在所述多个加密核中的所述一个加密核处对所述第一输入数据进行加密期间生成的运算数据而生成连接的数据;以及
输出控制单元,其控制将所述连接的数据输出到多个加密核中的所述一个加密核,控制输出通过在所述多个加密核中的所述一个加密核处对所述连接的数据进行加密而获得的第一加密数据,并控制输出通过在所述多个加密核中的所述一个加密核处对所述第一输入数据进行加密而获得的第二加密数据,并且关闭所述多个加密核中的所述一个加密核的CTS标志。
2.根据权利要求1的装置,还包括寄存器,其中
所述分配单元将所述第二输入数据存储到所述寄存器中;
所述多个加密核中的所述一个加密核使用利用CTS的对称密钥密码算法对所述第一输入数据加密,从而生成所述运算数据和所述第二加密数据,
所述输出控制单元控制将所述运算数据和在所述寄存器中存储的所述第二输入数据输出到所述连接单元,且
所述多个加密核中的所述一个加密核使用利用CTS的对称密钥密码算法对所述连接的数据加密,从而生成所述第一加密数据。
3.根据权利要求2的装置,其中所述输出控制单元将所述第二加密数据存储到输出所述第二输入数据的寄存器中,并且在控制输出所述第一加密数据之后,所述输出控制单元控制输出在所述寄存器中存储的所述第二加密数据。
4.根据权利要求1的装置,其中,
所述分配单元将所述第二输入数据的数据长度输出到所述连接单元,且
所述连接单元根据所述数据长度而将所述运算数据与所述第二输入数据相连接。
5.一种存储器系统,包括:
加密装置,包括:
多个加密核,每一个所述加密核包括标志存储单元,所述标志存储单元在其中存储密文窃取(CTS)标志,所述CTS标志指示是否要执行利用CTS的加密,并且每一个所述加密核在其CTS标志开启时执行这样的加密,该加密在使用对称密钥的同时使用利用CTS的对称密钥密码算法;
分配单元,当已接收到指示紧接在具有块长度的第一输入数据之后输入的第二输入数据小于所述块长度的CTS信号的输入时,所述分配单元将所述第一输入数据分配给所述多个加密核中的一个加密核,并且开启所述多个加密核中的所述第一输入数据被分配给的所述一个加密核的CTS标志;
连接单元,其通过连接所述第二输入数据与在所述多个加密核中的所述一个加密核处对所述第一输入数据进行加密期间生成的运算数据而生成连接的数据;以及
输出控制单元,其控制将所述连接的数据输出到多个加密核中的所述一个加密核,控制输出通过在所述多个加密核中的所述一个加密核处对所述连接的数据进行加密而获得的第一加密数据,并控制输出通过在所述多个加密核中的所述一个加密核处对所述第一输入数据进行加密而获得的第二加密数据,并且关闭所述多个加密核中的所述一个加密核的CTS标志;以及
存储器,在其中存储从所述加密装置输出的加密数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010211727A JP5017439B2 (ja) | 2010-09-22 | 2010-09-22 | 暗号演算装置及びメモリシステム |
JP211727/2010 | 2010-09-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102411694A true CN102411694A (zh) | 2012-04-11 |
CN102411694B CN102411694B (zh) | 2015-09-16 |
Family
ID=44582352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110254941.4A Expired - Fee Related CN102411694B (zh) | 2010-09-22 | 2011-08-31 | 加密装置及存储器系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8908859B2 (zh) |
EP (1) | EP2434682A1 (zh) |
JP (1) | JP5017439B2 (zh) |
KR (1) | KR101305627B1 (zh) |
CN (1) | CN102411694B (zh) |
TW (1) | TWI424384B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888373A (zh) * | 2016-09-29 | 2018-04-06 | 北京忆芯科技有限公司 | Xts‑aes加密电路、解密电路及其方法 |
CN110650008A (zh) * | 2019-08-30 | 2020-01-03 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 多端口fc加密方法及装置 |
CN114025347A (zh) * | 2021-11-03 | 2022-02-08 | 苏州欧清电子有限公司 | 一种蓝牙设备的加密方法、装置、设备及存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101612518B1 (ko) * | 2009-11-26 | 2016-04-15 | 삼성전자주식회사 | 병렬 처리 가능한 암복호화기 및 그것의 암복호 방법 |
JP2014178871A (ja) * | 2013-03-14 | 2014-09-25 | Toshiba Corp | 情報処理装置及びそのコンテンツファイル変換処理方法 |
JP6552184B2 (ja) * | 2014-01-14 | 2019-07-31 | キヤノン株式会社 | 情報処理装置およびその方法 |
KR102376506B1 (ko) * | 2014-10-20 | 2022-03-18 | 삼성전자주식회사 | 암복호화기, 암복호화기를 포함하는 전자 장치 및 암복호화기의 동작 방법 |
US10009169B2 (en) * | 2014-12-02 | 2018-06-26 | Zettaset, Inc. | Format-preserving cipher |
KR102447476B1 (ko) | 2015-08-20 | 2022-09-27 | 삼성전자주식회사 | 암복호 장치, 그것을 포함하는 저장 장치 및 그것의 암복호 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1323476A (zh) * | 1998-10-16 | 2001-11-21 | 格姆普拉斯公司 | 在电子组件中使用密钥加密算法的对抗方法 |
US20050060483A1 (en) * | 2003-09-02 | 2005-03-17 | Kabushiki Kaisha Toshiba | Microprocessor and video/sound processing system |
WO2006054380A1 (ja) * | 2004-11-19 | 2006-05-26 | Takashi Oshikiri | メモリ情報保護システム、半導体メモリおよびメモリ情報の保護方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4731843A (en) * | 1985-12-30 | 1988-03-15 | Paradyne Corporation | Method and device of increasing the execution speed of cipher feedback mode of the DES by an arbitrary multiplier |
US6125182A (en) * | 1994-11-09 | 2000-09-26 | Channel One Communications, Inc. | Cryptographic engine using logic and base conversions |
JPH11161162A (ja) * | 1997-11-27 | 1999-06-18 | Hitachi Ltd | 暗号化方法または復号化方法およびそれを用いた装置 |
US7809138B2 (en) * | 1999-03-16 | 2010-10-05 | Intertrust Technologies Corporation | Methods and apparatus for persistent control and protection of content |
WO2000057290A1 (fr) * | 1999-03-19 | 2000-09-28 | Hitachi, Ltd. | Processeur d'informations |
WO2000065767A1 (en) * | 1999-04-27 | 2000-11-02 | Mischenko Valentin Alexandrovi | Method for encrypting information and device for realization of the method |
TW545023B (en) * | 1999-12-10 | 2003-08-01 | Koninkl Philips Electronics Nv | Synchronization of session keys |
US7392398B1 (en) * | 2000-06-05 | 2008-06-24 | Ati International Srl | Method and apparatus for protection of computer assets from unauthorized access |
US20020114451A1 (en) * | 2000-07-06 | 2002-08-22 | Richard Satterfield | Variable width block cipher |
ES2523136T3 (es) * | 2001-04-03 | 2014-11-21 | Mitsubishi Denki Kabushiki Kaisha | Dispositivo de encriptación |
US8068610B2 (en) * | 2001-11-21 | 2011-11-29 | General Instrument Corporation | Method and system for providing security within multiple set-top boxes assigned for a single customer |
JP2003263106A (ja) * | 2002-03-11 | 2003-09-19 | Toyo Commun Equip Co Ltd | パディング方式 |
US20030223581A1 (en) * | 2002-05-30 | 2003-12-04 | Bedros Hanounik | Cipher block chaining unit for use with multiple encryption cores |
KR100583635B1 (ko) * | 2003-01-24 | 2006-05-26 | 삼성전자주식회사 | 다수의 동작 모드들을 지원하는 암호화 장치 |
US20060078107A1 (en) * | 2004-10-12 | 2006-04-13 | Chiou-Haun Lee | Diffused data encryption/decryption processing method |
JP2008524754A (ja) * | 2004-12-21 | 2008-07-10 | サンディスク コーポレーション | イン−ストリームデータの暗号化/復号およびエラー訂正の機能を有するメモリシステム |
US20070180539A1 (en) * | 2004-12-21 | 2007-08-02 | Michael Holtzman | Memory system with in stream data encryption / decryption |
JP2006292921A (ja) * | 2005-04-08 | 2006-10-26 | Canon Inc | 暗号処理装置 |
US7702099B2 (en) * | 2005-06-30 | 2010-04-20 | Chiou-Haun Lee | Multipoint synchronous diffused encryption/decryption method |
US8155308B1 (en) * | 2006-10-10 | 2012-04-10 | Marvell International Ltd. | Advanced encryption system hardware architecture |
US20080107275A1 (en) * | 2006-11-08 | 2008-05-08 | Mehdi Asnaashari | Method and system for encryption of information stored in an external nonvolatile memory |
US8300805B1 (en) * | 2007-01-04 | 2012-10-30 | Altera Corporation | AES core with independent inputs and outputs |
KR101612518B1 (ko) * | 2009-11-26 | 2016-04-15 | 삼성전자주식회사 | 병렬 처리 가능한 암복호화기 및 그것의 암복호 방법 |
US20110255689A1 (en) * | 2010-04-15 | 2011-10-20 | Lsi Corporation | Multiple-mode cryptographic module usable with memory controllers |
-
2010
- 2010-09-22 JP JP2010211727A patent/JP5017439B2/ja not_active Expired - Fee Related
-
2011
- 2011-03-01 US US13/037,710 patent/US8908859B2/en not_active Expired - Fee Related
- 2011-08-09 EP EP11176922A patent/EP2434682A1/en not_active Withdrawn
- 2011-08-10 TW TW100128623A patent/TWI424384B/zh not_active IP Right Cessation
- 2011-08-30 KR KR1020110087178A patent/KR101305627B1/ko active IP Right Grant
- 2011-08-31 CN CN201110254941.4A patent/CN102411694B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1323476A (zh) * | 1998-10-16 | 2001-11-21 | 格姆普拉斯公司 | 在电子组件中使用密钥加密算法的对抗方法 |
US20050060483A1 (en) * | 2003-09-02 | 2005-03-17 | Kabushiki Kaisha Toshiba | Microprocessor and video/sound processing system |
WO2006054380A1 (ja) * | 2004-11-19 | 2006-05-26 | Takashi Oshikiri | メモリ情報保護システム、半導体メモリおよびメモリ情報の保護方法 |
Non-Patent Citations (2)
Title |
---|
HELION TECHNOLOGY LIMITED: "FULL DATASHEET-FAST AES XTS/CBC CORE FOR XILINX FPGA", 《HELION TECHNOLOGY》 * |
MOHAMMAD AHMED ALOMARI: "A Parallel XTS Encryption Mode of Operation", 《PROCEEDINGS OF 2009 IEEE STUDENT CONFERENCE ON RESEARCH AND DEVELOPMENT (SCORED 2009),》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888373A (zh) * | 2016-09-29 | 2018-04-06 | 北京忆芯科技有限公司 | Xts‑aes加密电路、解密电路及其方法 |
CN110650008A (zh) * | 2019-08-30 | 2020-01-03 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 多端口fc加密方法及装置 |
CN110650008B (zh) * | 2019-08-30 | 2023-05-19 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 多端口fc加密方法及装置 |
CN114025347A (zh) * | 2021-11-03 | 2022-02-08 | 苏州欧清电子有限公司 | 一种蓝牙设备的加密方法、装置、设备及存储介质 |
CN114025347B (zh) * | 2021-11-03 | 2023-12-01 | 苏州欧清电子有限公司 | 一种蓝牙设备的加密方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20120069993A1 (en) | 2012-03-22 |
KR101305627B1 (ko) | 2013-09-09 |
EP2434682A1 (en) | 2012-03-28 |
TW201229811A (en) | 2012-07-16 |
JP5017439B2 (ja) | 2012-09-05 |
KR20120031123A (ko) | 2012-03-30 |
US8908859B2 (en) | 2014-12-09 |
JP2012068351A (ja) | 2012-04-05 |
TWI424384B (zh) | 2014-01-21 |
CN102411694B (zh) | 2015-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102411694A (zh) | 加密装置及存储器系统 | |
CN109040090B (zh) | 一种数据加密方法及装置 | |
CN101779412B (zh) | 用于数据加密的伪随机生成的密码学方法和设备、及消息的密码学散列 | |
US8379841B2 (en) | Method and system for high throughput blockwise independent encryption/decryption | |
CN101149709B (zh) | 存储卡的加密处理器和使用其进行数据读写的方法 | |
CN101120349A (zh) | 带有流中数据加密/解密的存储器系统 | |
JPH1075240A (ja) | データ送信を保護する方法およびデータを暗号化または解読化する装置 | |
CN103067170B (zh) | 一种基于ext2文件系统的加密方法 | |
US9003202B2 (en) | Memory control device, semiconductor memory device, memory system, and memory control method | |
US20110311048A1 (en) | Cryptographic operation apparatus, storage apparatus, and cryptographic operation method | |
CN108959978A (zh) | 设备中密钥的生成与获取方法及装置 | |
US20140189367A1 (en) | Digital-encryption hardware accelerator | |
CN101401105A (zh) | 用于提供加密文件系统的加密装置和方法 | |
TW201320655A (zh) | 利用隨機排序和隨機區塊大小的用於安全資料傳輸的裝置和方法 | |
CN103003824A (zh) | 向主机设备提供部分加密的内容文件的存储设备和方法 | |
CN110289946A (zh) | 一种区块链钱包本地化文件的生成方法及区块链节点设备 | |
CN111310222A (zh) | 文件加密方法 | |
CN101431407B (zh) | 支持线程级加解密的密码处理器及其密码运算操作方法 | |
US9571273B2 (en) | Method and system for the accelerated decryption of cryptographically protected user data units | |
JP2004240427A (ja) | 移動通信システムにおける最適の暗号化関数を設計する方法及び最適の暗号化装置 | |
US7657034B2 (en) | Data encryption in a symmetric multiprocessor electronic apparatus | |
CN111832051B (zh) | 一种基于fpga的对称加解密方法及系统 | |
JP2013182148A (ja) | 情報処理装置、および情報処理方法、並びにプログラム | |
CN104718718A (zh) | 用于执行密码方法的装置和方法 | |
US11061996B2 (en) | Intrinsic authentication of program code |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170731 Address after: Tokyo, Japan Patentee after: TOSHIBA MEMORY Corp. Address before: Tokyo, Japan Patentee before: Toshiba Corp. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150916 |
|
CF01 | Termination of patent right due to non-payment of annual fee |