CN106105089A - 与使用缩减回合编密的xts加密系统一起使用的动态加密密钥 - Google Patents

与使用缩减回合编密的xts加密系统一起使用的动态加密密钥 Download PDF

Info

Publication number
CN106105089A
CN106105089A CN201580011361.9A CN201580011361A CN106105089A CN 106105089 A CN106105089 A CN 106105089A CN 201580011361 A CN201580011361 A CN 201580011361A CN 106105089 A CN106105089 A CN 106105089A
Authority
CN
China
Prior art keywords
close
key
data
bout
compile
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580011361.9A
Other languages
English (en)
Other versions
CN106105089B (zh
Inventor
B·B·布伦利
V·K·代瓦西加马尼
S·N·阿南德
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN106105089A publication Critical patent/CN106105089A/zh
Application granted granted Critical
Publication of CN106105089B publication Critical patent/CN106105089B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • 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
    • 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
    • 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/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Abstract

一个特征涉及加密数据以改善数据机密性。在一个方面中,提供一种与缩减回合块编密一起使用的修改形式的XTS加密。借助秘密密钥来加密待应用于所述缩减回合编密的数据的数据单元索引以产生或以别的方式获得应用于所述缩减回合编密的经修改的秘密密钥。即,待通过所述缩减回合编密而加密的数据并非借助静态密钥来加密,而是借助根据所述数据的所述索引而变化的动态密钥来加密。如果攻击者想要通过分析通过所述缩减回合编密而加密的数据来导出应用于所述编密的密钥的值,那么攻击者将仅获得对应于一个特定数据单元索引的所述动态密钥,而非应用于整个地址空间的全域静态密钥。还描述了解密程序。

Description

与使用缩减回合编密的XTS加密系统一起使用的动态加密 密钥
相关申请案的交叉参考
本申请案主张2014年3月11日在美国专利商标局申请的美国非临时专利申请案第14/205,230号的优先权和权益,所述案的全部内容以引用的方式并入本文中。
技术领域
各种特征涉及加密,明确地说,涉及与移动计算装置一起使用的利用XTS块编密模式的加密。
背景技术
在密码编译术中使用块编密以改善存储于存储器系统或其它存储系统(明确地说,可被攻击者或其它恶意实体存取的存储器系统)内的数据的机密性。通常,块编密使用对固定长度的位群组(即,块)起作用的确定性程序或算法。可使用块编密以实施对大量数据(例如,存储于与智能型电话或其它移动计算装置的系统单芯片(SoC)处理器一起使用的芯片外存储器装置上的数据)的加密。块编密操作模式的一个实例由电机电子工程师学会(IEEE)标准1619-2007所指定的XTS-AES。还参看2010年6月的美国标准技术局(NIST)特殊出版物800-38E“对于块编密操作模式的推荐:用于存储装置上的机密性的XTS-AES模式(Recommendation for Block Cipher Modes of Operation:The XTS-AES Mode forConfidentiality on Storage Devices)”。应注意,XTS表示“具有密文窃用的XEX可调块编密”,且XEX表示“XOR加密XOR”。AES指先进加密系统。
简单地说,XTS-AES模式希望用于对在存储装置上的使用固定长度“数据单元”的数据的密码编译保护。标准XTS块编密模式使用应所述保密的固定密钥K1和K2,且其中一般来说,K1对数据起作用且K2对对应的数据单元索引起作用。对于例如检索存储于智能型电话的存储器装置上的数据的某些应用来说,可通过缩减由编密使用的回合的数目来“简化”利用K1的块编密功能以允许其更快速地操作以便减少整体读取潜时。这些块编密被称作缩减回合块编密。就此来说,块编密可使用被称为回合函数的可逆变换,其中每一迭代被称作回合。缩减回合编密可相对于完整块编密而使用数目被删减或缩减的这些回合,例如,十六回合或迭代而非三十二回合或迭代。然而,缩减回合编密可使至少一些密钥较不安全。
因此,需要改善存储于存储系统(例如,可由攻击者或其它恶意实体存取的存储器系统)内的数据(明确地说,使用缩减回合编密而加密的数据)的机密性。
发明内容
在一个方面中,一种与缩减回合加密编密一起使用的用于加密数据的方法包含:使用第一块编密基于第一密钥来加密数据单元索引以获得经修改的第一密钥,其中所述数据单元索引对应于待通过所述缩减回合加密编密而加密的数据;使用所述缩减回合加密编密基于所述经修改的第一密钥来加密所述数据;和将所述经加密数据存储于存储装置中。
在另一方面中,一种装置包含用于存储数据的存储装置和耦合到所述存储装置的处理电路,所述处理电路经配置以:使用第一块编密基于第一密钥来加密数据单元索引以获得经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合加密编密而加密的数据;使用所述缩减回合加密编密基于所述经修改的第一密钥来加密所述数据;和将所述经加密数据存储于所述存储装置中。
在又另一方面中,一种与缩减回合解密编密一起使用的用于解密数据的方法包含:使用第一块编密基于第一密钥来加密数据单元索引以获得经修改的第一密钥,其中所述数据单元索引对应于待通过所述缩减回合解密编密而解密的数据;使用所述缩减回合解密编密基于所述经修改的第一密钥来解密所述数据;和将所述经解密数据存储于存储装置中。
在再另一方面中,一种装置包含用于存储数据的存储装置和耦合到所述存储装置的处理电路,所述处理电路经配置以:使用第一块编密基于第一密钥来加密数据单元索引以获得经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合解密编密而解密的数据;使用所述缩减回合解密编密基于所述经修改的第一密钥来解密所述数据;和将所述经解密数据存储于存储装置中。
附图说明
图1说明根据说明性实例的移动通信装置的系统单芯片(SoC)处理器的框图。
图2说明使用完整回合块编密的示范性XTS块编密加密程序,其中使用了第一秘密密钥和第二秘密密钥。
图3说明示范性XTS块编密加密程序,其中使用了缩减回合块编密。
图4提供经修改的XTS加密程序的概述,其中动态地获得第一密钥以及第二(白化)密钥。
图5为说明用于SoC处理器系统的与图4的加密程序一起使用的示范性方法的框图,其中针对每一新写入操作而动态地获得第一密钥。
图6进一步说明图4的加密程序的方面。
图7为说明与图1到6的系统、方法和设备一起使用的存储装置的实例的框图。
图8为说明用于解密先前使用图4到7的程序而加密的数据的示范性解密方法的框图。
图9进一步说明图8的解密程序的方面。
图10为说明使用处理系统的设备的硬件实施方案的实例的框图,所述处理系统可利用图1到9的系统和方法。
图11为说明图10的处理器的装置组件的框图。
图12为说明图10的处理器可读媒体的指令组件的框图。
图13概述可由图10到12的组件执行的加密程序。
图14进一步概述图13的加密程序的方面。
图15概述可由图10到12的组件执行的解密程序。
图16进一步概述图15的解密程序的方面。
具体实施方式
在以下描述中,给出特定细节以提供对本发明的各种方面的透彻理解。然而,所属领域的技术人员应理解,可在无这些具体细节的情况下实践所述方面。举例来说,可以框图展示电路以便避免以不必要的细节混淆所述方面。在其它情况下,可不详细展示众所周知电路、结构和技术以便不混淆本发明的方面。
词语“示范性”在本文中用以意味着“充当实例、例子或说明”。在本文中描述为“示范性”的任何实施方案或方面未必应解释为比本发明的其它方面优选或有利。同样,术语“方面”不要求本发明的所有方面都包含所论述的特征、优点或操作模式。
概述
若干新颖特征涉及加密数据以存储于存储装置中从而保持数据的机密性。所述新颖特征可用于系统单芯片(SoC)装置中,但是可适用于广泛范围的系统、设备和装置中并达成多种目标。
在一个方面中,SoC处理器的加密/解密组件使用一种修改形式的XTS块编密来加密/解密数据,其中一个编密实例为“简化”缩减回合编密且其中两个密钥(K1和K2)被用于加密/解密例如页索引的数据单元索引或调校(tweak)。缩减回合编密相对于完整块编密而使用数目被删减或缩减的回合,其中对应的完整块编密的回合的数目由例如AES的给定加密标准来指定或界定或可由正使用的特定块编密的数学来隐含地或明确地确定。在一个实例中,完整回合编密可使用三十二个回合,而缩减回合版本那么仅使用八个回合。如所注明,一般来说,K1对数据起作用且K2对例如页的数据单元索引起作用。当使用例如简化编密函数时,K1可处于向恶意实体显露的风险中。举例来说,由于未使用完整编密,所以攻击者可分析使用缩减回合加密编密而被加密且随后存储于存储器中的数据以潜在地确定K1的值。如果K1被泄露,那么与存储装置相关联的地址空间内的所有数据同样被泄露。可由本文中所描述的程序来改善K1的机密性和因此改善使用K1而加密的数据的机密性,其中使用完整块编密借助K1来动态地加密数据单元索引(或页编号)以产生或以别的方式获得经修改的密钥(本文中指示为K1'),所述K1'随后被用于使用缩减回合加密编密来加密数据。即,本文中所描述的示范性程序将K1的经修改和动态地获得的版本(即,K1')应用于缩减回合加密编密,而非直接将K1应用于缩减回合加密编密以加密数据(其也可使用根据XTS利用K2的编密实例的输出而白化)。应注意,本文中,“获得”广泛地涵盖(例如)产生、获取、接收、检索或执行任何其它合适的对应动作。如果攻击者其后确定K1'的值,那么仅对应于用于产生K1'的特定数据单元索引的数据被泄露而非整个地址空间中的所有数据被泄露,这是因为其它数据单元是用基于不同数据单元索引或调校的K1'的不同版本而加密的。
就此来说,考虑将数据存储于数据单元(或页)中的系统。XTS模式可用以如下操作:
V=F1(K2,i)
W=F2(j;V)
Cj=F3(K1,Pj⊕W)⊕W
其中值W是输入和输出白化密钥,i是数据单元索引,j是待加密的数据P的块索引(即,数据单元内的偏移)且⊕表示互斥或(XOR)运算。应注意,V取决于i而非j,即,在此实例中,数据单元内的所有块共享同一V且可使用各种优化以针对单个数据单元内的连续操作而仅计算V一次。可通过将F1和F3设定到AES-128(E)且在F2 128中F2(j,a)=a·xj来获得标准AES-XTS,以使得以上简化为如下:
Cj=EK1(Pj⊕(EK2(i)·xj))⊕(EK2(i)·xj)。
此标准XTS模式可被视为借助固定密钥K1与额外输入/输出“白化密钥”对纯文本Pj的加密,其中额外输入/输出“白化密钥”是从借助密钥K2加密数据单元索引(i)而导出。XTS的一个特征是加密为依位置而定的。因而,攻击者无法以任何适用方式将数据复制并粘贴到不同位置且保持纯文本。数据可仅复制并粘贴到同一位置。关于机密性,应注意,XTS并非基于临时标志(其中临时标志意味着“使用一次的数”),但仍然按以下方式阻止类似传统电子码簿(ECB)的分析。在传统ECB中,借助同一密钥而被写入到地址A1和A2(其中A1≠A2)的纯文本P将产生同一密文C。在XTS情况下,白化密钥将不同,从而产生密文C1和C2(其中C1≠C2)。概述来说,对XTS的类ECB分析通常被限制到单个地址(具体地说,i和j组合)而非整个地址空间。(就此来说,P始终加密到A1处的C1,但加密到不同A2处的不同C2。)
在本文中所描述的至少一些示范性程序中,提供一种修改形式的XTS操作模式,其设定:
K1'=F4(K1,i)
Cj=F3(K1',Pj⊕W)⊕W
应注意,F4=F1为示范性和可能优选的变化或实施方案。此经修改的XTS模式可被视为借助动态密钥K1'与额外输入/输出“白化密钥”对纯文本Pj的加密,其中额外输入/输出“白化密钥”是从借助密钥K2来加密数据单元索引(i)而导出。每数据单元动态地导出K1'仅使彼特定数据单元中的数据处于潜在风险中。可随后通过大体上用相同密钥和索引反转所述过程来解密数据以再次获得纯文本。在例如存储器解密中的读取的许多应用中,硬件在获得Pj之前获得i,即,处理装置在提取待解密的数据之前获得地址。处理装置可由此使用其间的潜时用F1和F4对i操作以在正从存储器提取待解密的数据时计算V和K1'。
关于术语的注明:本文中使用K1'来指示第一块编密的输出(所述第一块编密加密数据单元索引以用作缩减回合加密和解密编密的密钥)且被称作第一密钥K1的修改版本。由于K1'代替静态密钥K1而被应用于缩减回合编密,所以使用此术语。所述术语是任意的且可改为使用其它术语来指此值。字母V在本文中主要用于指示第二块编密的输出,其被用于产生或以别的方式获得白化密钥。使用此术语以符合在其它方面标准的XTS加密术语。然而,同样地,所述术语是任意的且可改为使用其它术语来指此值。在一些状况下,另外或替代地,V在本文中被称作第二密钥K2的修改版本。
示范性系统单芯片硬件环境
图1说明根据一个实例的移动通信装置的系统单芯片(SoC)处理器装置100,其中可利用各种新颖特征。SoC处理器可为由高通公司(Qualcomm Incorporated)制造的SnapdragonTM处理器。SoC处理器100包含应用程序处理器110,所述应用程序处理器包含多核心CPU 112。应用程序处理器110通常控制移动通信装置的所有组件的操作。在一个方面中,应用程序处理器110包含加密/解密组件150,所述加密/解密组件经装备以使用动态产生的密钥(例如,前述动态产生的K1'密钥)来执行经修改的XTS加密/解密。应用程序处理器110可包含启动只读存储器(ROM)118,所述启动ROM存储用于SoC处理器100的各种组件的启动序列指令。SoC处理器100进一步包含由应用程序处理器110控制的一或多个外围子系统120。外围子系统120可包含(但不限于)存储子系统(例如,只读存储器(ROM)、随机存取存储器(RAM))、视频/图形子系统(例如,数字信号处理器(DSP)、图形处理器单元(GPU))、音频子系统(例如,DSP、模/数转换器(ADC)、数/模转换器(DAC))、功率管理子系统、安全子系统(例如,加密、数字版权管理(DRM))、输入/输出(I/O)子系统(例如,键盘、触摸屏)和有线与无线连接性子系统(例如,通用串行总线(USB)、全球定位系统(GPS)、Wi-Fi、全球移动系统(GSM)、码分多址(CDMA)、4G长期演进(LTE)调制解调器)。示范性外围子系统120(其为调制解调器子系统)包含DSP 122、各种硬件(HW)和软件(SW)组件124以及各种射频(RF)组件126。在一个方面中,每一外围子系统120也包含启动ROM 128,所述启动ROM存储关联的外围子系统120的主要启动映像(未图示)。
SoC处理器100进一步包含各种内部共享型HW资源130,例如内部共享型存储装置132(例如,静态RAM(SRAM)、双数据速率(DDR)和/或同步动态(SD)RAM、DRAM、快闪存储器等),所述内部共享型存储装置由应用处理电路110和各种外围子系统120共享以存储各种执行阶段数据。在一个方面中,SoC处理电路100的组件110、118、120、128和130被集成于单芯片衬底上。SoC处理电路100进一步包含各种外部共享型HW资源140,所述外部共享型HW资源可位于不同芯片衬底上且经由系统总线(未图示)来与SoC处理电路100通信。外部共享型HW资源140可包含(例如)外部共享型存储装置142(例如,DDR RAM、DRAM、快闪存储器)和/或永久性数据存储装置144(例如,安全数字(SD)卡或硬盘驱动器(HDD)等),所述外部共享型存储装置和所述永久性数据存储装置由应用处理电路110和各种外围子系统120共享以存储各种类型的数据,例如操作系统(OS)信息、系统文件、程序、应用程序、用户数据、音频/视频文件等。当激活并有SoC的移动通信装置时,安全SoC处理电路100开始系统启动过程。明确地说,应用处理电路110存取启动ROM 118以检索或获得用于SoC处理电路100的启动指令,包含用于各种外围子系统120的启动序列指令。外围子系统120也可具有额外外围启动ROM 128。
无动态K1密钥的示范性基于XTS的加密程序
图2说明可由图1的SoC处理电路或其它经合适装备的装置、系统或处理电路使用的示范性程序200,其结合静态K1密钥204和静态K2密钥206而使用完整回合加密块编密202来加密数据。此实施方案可(例如)用于在解密期间的读取潜时不成问题以使得既可在加密期间又可在后续解密期间使用完整回合编密的系统中。再次,参看IEEE标准1619-2007。在此模式中,完整回合块编密208用于借助K2密钥206来加密页索引210(其可为128位)(其中页索引也可被称作“调校”)。块编密208的输出(其被指示为V且可被视为K2的修改版本)在212处与αj 214相乘以提供输入/输出白化值,其中α为常数且j表示块索引(其可为待加密的数据的页内的偏移)。待加密的数据216随后在218处与白化值进行XOR运算并作为“白化”数据而输入到完整回合加密编密202。随后通过完整回合加密编密借助K1来加密白化数据。通过XOR函数212而产生的输入/输出白化值随后在220处与来自完整块编密的输出数据进行XOR运算以产生最终密文222,所述最终密文可存储(例如)于图1中所示的类型的芯片外存储装置或某一其它合适的存储位置中。可反转这些程序以使用完整回合解密编密将密文解密回到纯文本。
图3说明可由图1的SoC处理电路或其它经合适装备的装置、系统或处理电路使用的示范性程序300,其再次结合静态K1密钥304和静态K2密钥306而使用缩减回合加密编密302来加密数据。此实施方案可(例如)用于在解密期间的读取潜时是成问题的但显露K1的风险被认为不显著的系统中。图3的操作模式的许多特征与图2的操作模式的特征相同或类似且因此将仅仅予以简单描述。再次,将完整回合块编密308用于借助K2密钥306来加密页索引310。输出V在312处与αj 314相乘以提供输入/输出白化值。待加密的数据316随后在318处与白化值进行XOR运算并作为白化数据而输入到缩减回合加密编密302。随后通过缩减回合加密编密借助静态密钥K1来加密白化数据。白化值随后在320处与来自缩减回合加密编密的输出数据进行XOR运算以产生最终密文322。可反转所述程序以使用缩减回合解密编密将密文解密回到纯文本。由于使用了缩减回合编密而非完整块编密,所以密钥K1与潜在地所述数据的地址空间内的所有数据一起处于风险中。
具有动态K1密钥的示范性基于XTS的加密程序
图4提供可由图1的SoC处理电路或其它经合适装备的装置、系统或处理电路使用的程序400的概述,所述程序用于通过使用与XTS编密一起使用的动态产生(或以其它方式动态获得)的密钥K1'来改善数据机密性。在步骤402处,使用第一块编密借助(或“基于”或“使用”等)第一密钥(K1)来动态地加密数据单元索引以产生或以别的方式获得经修改的第一密钥K1'。在步骤404处,使用缩减回合加密编密借助经修改的第一密钥(K1')来加密数据,所述缩减回合加密编密具有少于完整块编密的回合。在步骤406处,将经加密数据(例如,密文)存储于例如芯片外存储器装置的存储装置中。通过将动态产生的密钥K1'而非静态密钥用于缩减回合加密编密,在K1'密钥显露或被攻击者获得的情况下,仅在与用于产生K1'密钥的索引相关联的数据单元内的数据处于风险中,而非与所述数据单元索引相关联的地址空间内(即,在地址空间的所有页内)的所有数据都处于风险中。如步骤408中所示,可随后通过大体上用相同密钥和索引反转所述过程来解密数据以展现或重新产生原始数据(例如,纯文本)。
图5更详细地说明图4的示范性加密程序,其中所述程序可再次由图1的SoC处理电路或其它经合适装备的装置、系统或处理电路来使用。图5的程序500在步骤502处以处理电路加密n位数据单元索引参数开始,其中所述索引对应于待加密的数据的页,其中n是编密的块大小(例如,数据单元索引识别含有待加密的数据的存储器存储位置)。即,本文中用于指示数据单元索引“对应于”数据单元的术语广泛地意味着数据单元索引识别数据单元或其一部分或在其它方面类似地与数据单元或其一部分相关联。在本文中的实例中,数据单元索引通常为页索引。数据单元索引是使用完整回合块编密借助第一密钥(K1)而被加密以产生或以别的方式获得经修改的第一密钥(K1')。在步骤504处,处理电路使用同一完整回合块编密的第二实例借助第二编密(K2)来加密n位数据单元索引以产生或以别的方式获得经修改的第二密钥(指示为V)。在步骤506处,处理电路通过使V与αj相乘而将块索引j应用于V以产生白化密钥,其中α为常数且j表示数据的页内的块索引偏移。在步骤508处,处理电路随后通过将白化密钥与待加密的数据进行XOR运算而将白化密钥应用于待加密的数据(在将数据输入到缩减回合加密编密中之前)。可(例如)从芯片上SRAM获得待加密的数据。在步骤510处,处理电路使用缩减回合加密编密借助经修改的第一密钥来加密白化数据,其中所述缩减回合加密编密是相对于完整块编密使用数目缩减的回合的“简化”编密。在步骤512处,处理电路通过将白化密钥与从缩减回合加密编密输出的数据进行XOR运算而将白化密钥再应用于缩减回合数据编密的输出以产生经加密的密文数据。其后,在步骤514处,随后将密文存储于芯片外存储装置(例如,DDR RAM或其它合适的存储装置)中。存储装置可为临时性或暂时性的,经加密数据随后被发射到例如另一移动计算装置的另一装置,或可采取其它适当的动作。再次,通过基于数据单元索引而动态产生的K1',在K1'被显露的情况下,仅彼特定数据单元内的数据处于风险中,而非地址空间内的所有数据都处于风险中。
图6说明可根据图5的方法所使用的示范性程序600,其结合K1密钥604和K2密钥606而使用缩减回合块加密编密602来加密数据。在此模式中,将完整回合块编密608用于借助K2密钥606来加密页索引610(例如,128位)。块编密608的输出V(其可被视为K2的修改版本)在612处与αj 614相乘以提供输入/输出白化值,其中α为常数且j表示块索引(其可为待加密的数据的页内的偏移)。待加密的数据616随后在618处与白化值进行XOR运算并作为“白化”数据而输入到缩减回合加密编密602。同时,也使用完整回合编密619借助密钥(K1)来加密同一页索引610,所述完整回合编密可为与完整回合编密608相同形式的编密。块编密619的输出(K1')(其可被视为K1的修改版本)被用作缩减回合加密编密602的密钥,如所示。即,随后通过缩减回合加密编密602借助K1的修改版本来加密白化数据。随后在620处将通过乘法函数612所产生的输入/输出白化值与来自缩减回合加密编密的输出数据进行XOR运算以产生最终密文622,所述最终密文可存储(例如)于图1中所示的类型的芯片外存储装置中或存储于某一其它合适的存储位置处。应注意,在图6的实例中,可并行执行至少两个过程:在用K2的编密实例引发(fire)的同时用K1的编密实例引发。
图7说明示范性存储装置700(例如,芯片外存储装置)。存储装置700存储数据单元M1…Mn的最新版本(个别地由参考数字7041…704n指示),其中每一数据单元可表示在芯片外存储装置的地址空间内的数据的页。存储装置针对数据单元而使用对应的页索引INDEX1…INDEXn(个别地由参考数字7061…706n指示)。如果基于INDEX3所产生的K1'密钥被泄露,那么对应的数据单元(M3)内的数据将处于风险中,如由阴影块7043所示,但整个地址空间中的剩余数据将不会由此处于风险中。
具有动态K1密钥的示范性基于XTS的解密程序
图8说明用于随后解密密文的示范性解密程序,其中同样,所述程序可由图1的SoC处理电路或其它经合适装备的装置、系统或处理电路使用。图8的程序800在步骤801处开始,其中从存储装置(例如,芯片外DDR RAM)提取待解密的数据。在步骤802处,当数据正被提取时,处理电路加密n位数据单元索引,其中所述索引对应于待解密的数据的页,其中n为编密的块大小。所述数据单元索引是使用完整回合块编密借助第一密钥(K1)而被加密以产生或以别的方式获得经修改的第一密钥(K1')。在步骤804处,当数据正被提取时,处理电路使用同一完整回合块编密的第二实例借助第二密钥(K2)来加密n位数据单元索引以产生或以别的方式获得经修改的第二密钥(指示为V)。在步骤806处,当仍在提取时,处理电路通过使V与αj相乘而将块索引j应用于V以产生白化密钥,其中α同样为常数值且j表示待解密的数据的页内的块索引偏移。在步骤808处,处理电路随后通过将白化密钥与待解密的数据进行XOR运算而将白化密钥应用于待解密的所提取数据(在将所述数据输入到缩减回合解密编密中之前)。在步骤810处,处理电路使用缩减回合解密编密借助经修改的第一密钥来解密白化数据,其中所述缩减回合解密编密同样为相对于完整块编密而使用数目缩减的回合的“简化”编密。在步骤812处,处理电路通过将白化密钥与从缩减回合解密编密输出的数据进行XOR运算而将白化密钥再应用于缩减回合解密编密的输出以产生经解密的纯文本数据从而获得纯文本并传递到请求者。就此来说,纯文本可存储于芯片上存储装置(例如,SRAM)中以供装置的组件使用。存储装置同样可为临时性或暂时性的。
图9说明可根据图8的方法所使用的示范性程序900,其结合K1密钥904和K2密钥906而使用缩减回合解密编密902来解密数据。在此模式中,完整回合块编密908用于借助K2密钥906来加密128位页索引910。块编密908的输出V(其同样可被视为K2的修改版本)在912处与αj 914相乘以提供输入/输出白化值,其中α为常数且j表示块索引(其可为待解密的数据的页内的偏移)。同时,也使用完整回合编密919借助密钥(K1)来加密同一页索引910,所述完整回合编密可为与完整回合编密908相同形式的编密。可在数据正被提取以供解密时执行这些程序。待解密的所提取数据916随后在918处与白化值进行XOR运算并作为白化数据而输入到缩减回合解密编密902。块编密919的输出(K1')(其同样可被视为K1的修改版本)被用作缩减回合解密编密902的密钥,如所示。即,随后通过缩减回合解密编密902借助K1的修改版本来解密白化数据。随后在920处将通过乘法函数912所产生的输入/输出白化值与来自缩减回合解密编密的输出数据进行XOR运算以产生最终纯文本922,所述最终纯文本可存储(例如)于芯片上SRAM中或以其它方式在装置内加以处理。应注意,在图9的实例中,可并行执行至少三个过程:用K1的编密实例引发;用K2的编密实例引发;和提取密文。此缩减读取潜时。
示范性系统或设备
图10说明其中可实施图1到9的组件和方法的整体系统或设备1000。根据本发明的各种方面,可通过处理系统1014来实施元件、或元件的任何部分或元件的任何组合,所述处理系统包含一或多个处理电路1004(例如,图1的SoC处理电路)。举例来说,设备1000可为移动通信系统的用户装备(UE)。设备1000可与无线电网络控制器(RNC)一起使用。除SoC之外,处理电路1004的实例还包含微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑装置(PLD)、状态机、门控逻辑、离散硬件电路和经配置以执行贯穿本发明所描述的各种功能性的其它合适的硬件。即,如设备1000中所利用的处理电路1004可用于实施上文所描述和图1到9中所说明的过程(和在下文论述的图13到16中概述的过程)中的任何一或多者。明确地说,处理电路1004可经配置以:使用第一块编密基于第一密钥来加密数据单元索引以产生或以别的方式获得经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合加密编密而加密的数据;使用缩减回合加密编密基于经修改的第一密钥来加密数据;和将经加密数据存储于存储装置中。处理电路1004可经配置以:使用第一块编密基于第一密钥来加密数据单元索引以产生或以别的方式获得经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合解密编密而解密的数据;使用缩减回合解密编密基于经修改的第一密钥来解密数据;和将经解密数据存储于存储装置中。
在此实例中,处理系统1014可实施有总线架构(大体上由总线1002表示)。总线1002可取决于处理系统1014的特定应用和整体设计约束而包含任何数目个互连总线和桥接器。总线1002将各种电路连结在一起,包含一或多个处理电路(大体上由处理电路1004表示)、存储装置1005和处理器可读媒体(大体上由非暂时性处理器或计算机可读可读媒体1006表示)。总线1002也可连结此项技术中所众所周知且因此将并不进一步描述的各种其它电路,例如计时源、外围设备、电压调节器和功率管理电路。总线接口1008提供总线1002与收发器1010之间的接口。收发器1010提供用于经由发射媒体与各种其它设备通信的装置。视设备的性质而定,也可提供用户接口1012(例如,小键盘、显示器、扬声器、麦克风、摇杆)。
处理器或处理电路1004负责管理总线1002和一般处理,包含执行存储于处理器可读媒体1006上的软件。软件在由处理电路1004执行时使处理系统1014执行本文中针对任何特定设备所描述的各种功能。处理器可读媒体1006也可用于存储在执行软件时由处理电路1004操纵的数据。明确地说,处理器可读存储媒体1006可具有一或多个指令,所述一或多个指令在由处理电路1004执行时使处理电路1004:使用第一块编密借助第一密钥来加密数据单元索引以产生或以别的方式获得经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合加密编密而加密的数据;使用缩减回合加密编密借助经修改的第一密钥来加密数据;和将经加密数据存储于存储装置中。处理器可读存储媒体1006也可具有一或多个指令,所述一或多个指令在由处理电路1004执行时使处理电路1004:使用第一块编密借助第一密钥来加密数据单元索引以产生或以别的方式获得经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合解密编密而解密的数据;使用缩减回合解密编密借助经修改的第一密钥来解密数据;和将经解密数据存储于存储装置中。
处理系统中的一或多个处理电路1004可执行软件。软件应广泛地解释为意指指令、指令集、代码、代码段、程序代码、程序(program)、子程序、软件模块、应用程序、软件应用程序、套装软件、例程、子例程、对象、可执行代码、执行线程、程序(procedure)、函数等,而不管其是被称作软件、固件、中间件、微码、硬件描述语言还是其它者。处理电路可执行必要任务。代码段可表示程序、函数、子程序、程序、例程、子例程、模块、套装软件、类别或指令、数据结构或程序陈述式的任一组合。可通过传递和/或接收信息、数据、引数、参数或存储器内容而将代码段耦合到另一代码段或硬件电路。可经由包含存储器共享、消息传递、符记传递、网络发射等的任何合适方式来传递、转递或发射信息、引数、参数、数据等。
软件可驻留于计算机可读或处理器可读媒体1006上。处理器可读媒体1006可为非暂时性处理器可读媒体。举例来说,非暂时性处理器可读媒体包含磁性存储装置(例如,硬盘、软盘、磁条)、光盘(例如,紧密光盘(CD)或数字多功能光盘(DVD))、智能卡、快闪存储器装置(例如,卡、棒或随身碟)、RAM、ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器、可装卸磁盘、硬盘、CD-ROM和用于存储可由计算机存取和读取的软件和/或指令的任何其它合适媒体。术语“机器可读媒体”、“计算机可读媒体”和/或“处理器可读媒体”可包含(但不限于)非暂时性媒体(例如,便携式或固定存储装置)、光学存储装置和能够存储、含有或携载指令和/或数据的各种其它媒体。因此,本文所描述的各种方法可完全或部分地由指令和/或数据来实施,所述指令和/或数据可存储于“机器可读媒体”、“计算机可读媒体”和/或“处理器可读媒体”中且由一或多个处理电路、机器和/或装置来执行。举例来说,处理器可读媒体也可包含载波、发射线和用于发射可通过计算机存取和读取的软件和/或指令的任何其它合适媒体。处理器可读媒体1006可驻留于处理系统1014中、处理系统1014外部或跨越包含处理系统1014的多个物理而分布。处理器可读媒体1006可体现于计算机程序产品中。举例来说,计算机程序产品可包含封装材料中的处理器可读媒体。所属领域的技术人员将认识到取决于特定应用和强加于整个系统的总设计约束而最好地实施贯穿本发明所呈现的所述功能性的方式。
诸图中所说明的组件、步骤、特征和/或功能中的一或多者可重新布置和/或组合成单个组件、步骤、特征或功能或体现于若干组件、步骤或功能中。在不背离所描述的方面和特征的情况下,也可添加额外元件、组件、步骤和/或功能。诸图中所说明的设备、装置和/或组件可经配置以执行诸图中所描述的方法、特征或步骤中的一或多者。本文中所描述的算法也可有效率地实施于软件中和/或嵌入于硬件中。
结合本文中所揭示的实例而描述的各种说明性逻辑块、模块、电路、元件和/或组件可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件或经设计以执行本文中所描述的功能的其任何组合来实施或执行。通用处理电路可为微处理器,但在替代例中,处理电路可为任何常规的处理器、控制器、微控制器或状态机。处理电路也可被实施为计算组件的组合,例如,DSP与微处理器的组合、若干微处理器、一或多个微处理器结合DSP核心或任何其它此类配置。
因此,在本发明的一个方面中,图1和10中所说明的处理电路100和/或1004可为专门的处理电路(例如,ASIC),其经特定地设计和/或硬连线以执行图2、3、5、6、8和/或9(和/或下文论述的图13、14、15和/或16)中所描述的算法、方法和/或步骤。因此,此类专门的处理电路(例如,ASIC)可为用于执行图2、3、5、6、8和/或9(和/或下文论述的图13、14、15和/或16)中所描述的算法、方法和/或步骤的装置的一个实例。处理器可读存储媒体可存储指令,所述指令在由专门的处理电路(例如,ASIC)执行时使所述专门的处理电路执行本文中所描述的算法、方法和/或步骤。
图11说明处理电路1004的所选和示范性组件。明确地说,图11的处理电路1004包含数据单元索引加密组件1100,所述数据单元索引加密组件操作以使用第一块编密(例如,XTS完整回合编密1110)基于第一密钥来加密数据单元索引以产生或以别的方式获得动态、经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合编密而加密或解密的数据。数据单元索引加密组件1100进一步操作以使用第二块编密基于第二密钥来加密数据单元索引以获得经修改的第二密钥。处理电路1004也包含数据单元加密组件1102,所述数据单元加密组件操作以使用缩减回合加密编密1112基于动态、经修改的第一密钥来加密数据。处理电路1004也包含数据单元解密组件1103,所述数据单元解密组件操作以使用缩减回合解密编密1113基于动态、经修改的第一密钥来解密先前加密的数据。处理电路1004进一步包含数据存储和检索控制器1104,所述数据存储和检索控制器操作以将已加密的数据存储于存储装置中和/或从存储装置(例如,存储装置1005)提取待解密的数据。处理电路1004可包含例如白化组件1114的额外组件,所述白化组件操作以在将待加密或解密的数据应用于相应缩减回合编密之前将白化密钥应用于所述数据,且随后将白化密钥再应用于缩减回合编密的输出。
图12说明处理器可读或计算机可读媒体1006的所选和示范性指令组件。明确地说,图12的处理器可读媒体1006包含数据单元索引加密指令1200,所述数据单元索引加密指令在由图8的处理电路执行时使处理电路使用第一块编密基于第一密钥来加密数据单元索引以产生或以别的方式获得动态、经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合加密编密而加密的数据。处理器可读媒体1006也包含数据单元加密指令1202,所述数据单元加密指令操作以使用缩减回合加密编密基于动态、经修改的第一密钥来加密数据。处理器可读媒体1006也包含数据单元解密指令1203,所述数据单元解密指令操作以使用缩减回合解密编密基于动态、经修改的第一密钥来解密先前加密的数据。处理器可读媒体1006进一步包含数据存储和检索指令1204,所述数据存储和检索指令操作以将已加密的数据存储于存储装置中和/或从存储装置(例如,存储装置1205)提取待解密的数据。处理器可读媒体1006可包含额外指令,例如,XTS完整回合编密指令1210、缩减回合加密编密指令1212和缩减回合解密编密指令1213以及白化指令1214,所述白化指令操作以在将待加密/解密的数据应用于相应缩减回合编密之前将白化密钥应用于所述数据,且随后将白化密钥再应用于缩减回合编密的输出。也可提供其它指令,且图12的说明决非为穷尽性的。
图13概述与缩减回合加密编密一起使用的加密方法1300,其可(例如)由图11的处理电路或其它经合适装备的装置来执行。简单地说,在步骤1302处,处理电路使用第一块编密基于第一密钥来加密数据单元索引以获得经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合加密编密而加密的数据(即,所述数据单元索引识别含有待加密的数据的存储器存储位置)。在步骤1304处,处理电路使用缩减回合加密编密基于经修改的第一密钥来加密数据。在步骤1306处,处理电路将经加密数据存储于存储装置中。
图14概述与缩减回合加密编密一起使用的另外的程序1400,其也可(例如)由图11的处理电路或其它经合适装备的装置来执行。简单地说,在步骤1402处,处理电路使用第二块编密基于第二密钥来加密数据单元索引以获得经修改的第二密钥。在步骤1404处,处理电路将块索引应用于经修改的第二密钥以获得白化密钥。在步骤1406处,处理电路在将待加密的数据应用于缩减回合加密编密之前将白化密钥应用于所述数据。在步骤1408处,处理电路将白化密钥再应用于缩减回合加密编密的输出以(例如)产生密文。
图15概述与缩减回合解密编密一起使用的解密方法1500,其也可(例如)由图11的处理电路或其它经合适装备的装置来执行。简单地说,在步骤1502处,处理电路使用第一块编密基于第一密钥来加密数据单元索引以获得经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合解密编密而解密的数据(即,所述数据单元索引识别含有待解密的数据的存储器存储位置)。在步骤1504处,处理电路使用缩减回合解密编密基于经修改的第一密钥来解密数据。在步骤1506处,处理电路将经解密数据存储于存储装置中。
图16概述与缩减回合解密编密一起使用的另外的程序1600,其也可(例如)由图11的处理电路或其它经合适装备的装置来执行。简单地说,在步骤1602处,处理电路使用第二块编密基于第二密钥来加密数据单元索引以获得经修改的第二密钥。在步骤1604处,处理电路将块索引应用于经修改的第二密钥以获得白化密钥。在步骤1606处,处理电路在将待解密的数据应用于缩减回合解密编密之前将白化密钥应用于所述数据。在步骤1608处,处理电路将白化密钥再应用于缩减回合解密编密的输出以(例如)产生纯文本。
又,应注意,本文中可将本发明的方面描述为过程,所述过程被描绘为流程框图、流程图、结构图或框图。虽然流程框图可将操作描述为顺序过程,但操作中的许多者可并行或同时执行。另外,可重排所述操作的次序。当过程的操作完成时,所述过程终止。过程可对应于方法、函数、程序、子例程、子程序等。当过程对应于函数时,其终止对应于所述函数返回到呼叫函数或主函数。
所属领域的技术人员将进一步了解,可将结合本文中所揭示的方面而描述的各种说明性逻辑块、模块、电路和算法步骤实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体上在功能性方面描述了各种说明性组件、块、模块、电路和步骤。此功能性经实施为硬件或是软件取决于特定应用和强加于整个系统的设计约束而定。
预期本文中所描述的各种特征可实施于不同系统中。应注意,本发明之前述方面仅为实例且不应解释为限制性的。本发明的方面的描述希望为说明性的,且将不限制权利要求书的范围。因而,本发明的教示可易于应用于其它类型的设备,且许多替代、修改和变化对于那些所属领域的技术人员来说将为显而易见的。

Claims (30)

1.一种与缩减回合加密编密一起使用的用于加密数据的方法,其包括:
使用第一块编密基于第一密钥来加密数据单元索引以获得经修改的第一密钥,其中所述数据单元索引对应于待通过所述缩减回合加密编密而加密的数据;
使用所述缩减回合加密编密基于所述经修改的第一密钥来加密所述数据;以及
将所述经加密数据存储于存储装置中。
2.根据权利要求1所述的方法,其进一步包括:
使用第二块编密基于第二密钥来加密所述数据单元索引以获得经修改的第二密钥;
将块索引应用于所述经修改的第二密钥以获得白化密钥;
在将待加密的所述数据应用于所述缩减回合加密编密之前将所述白化密钥应用于所述数据;以及
将所述白化密钥再应用于所述缩减回合加密编密的输出。
3.根据权利要求2所述的方法,其中所述第一块编密和所述第二块编密为完整块编密。
4.根据权利要求3所述的方法,其中所述第一块编密和所述第二块编密为同一编密的不同实例。
5.根据权利要求2所述的方法,其中所述数据单元索引是呈被应用于所述第一块编密和所述第二块编密的n位参数的形式,其中n为所述第一块编密和所述第二块编密的块大小。
6.根据权利要求2所述的方法,其中将所述块索引应用于所述经修改的第二密钥以获得所述白化密钥包括使所述经修改的第二密钥与αj相乘,其中α为常数且j为块索引。
7.根据权利要求6所述的方法,其中在将所述数据应用于所述缩减回合加密编密之前将所述白化密钥应用于所述数据包括将所述白化密钥与所述数据进行XOR运算。
8.根据权利要求7所述的方法,其中将所述白化密钥再应用于所述缩减回合加密编密的所述输出包括将所述白化密钥与从所述缩减回合加密编密输出的数据进行XOR运算。
9.根据权利要求1所述的方法,其中所述数据单元索引为页编号。
10.根据权利要求1所述的方法,其中所述缩减回合加密编密被实施于耦合到芯片外存储装置的系统单芯片装置内,且所述方法进一步包括将经加密数据存储于所述芯片外存储装置中。
11.一种装置,其包括:
用于存储数据的存储装置;
耦合到所述存储设备的处理电路,所述处理电路经配置以
使用第一块编密基于第一密钥来加密数据单元索引以获得经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合加密编密而加密的数据;
使用所述缩减回合加密编密基于所述经修改的第一密钥来加密所述数据;以及
将所述经加密数据存储于所述存储装置中。
12.根据权利要求11所述的装置,其中所述处理电路进一步经配置以:
使用第二块编密基于第二密钥来加密所述数据单元索引以获得经修改的第二密钥;
将块索引应用于所述经修改的第二密钥以获得白化密钥;
在将待加密的所述数据应用于所述缩减回合加密编密之前将所述白化密钥应用于所述数据;以及
将所述白化密钥再应用于所述缩减回合加密编密的输出。
13.根据权利要求12所述的装置,其中由所述处理电路所使用的所述第一块编密和所述第二块编密为完整块编密。
14.根据权利要求13所述的装置,其中由所述处理电路所使用的所述第一块编密和所述第二块编密为同一编密的不同实例。
15.根据权利要求12所述的装置,其中由所述处理电路所使用的所述数据单元索引是呈被应用于所述第一块编密和所述第二块编密的n位参数的形式,其中n为所述第一块编密和所述第二块编密的块大小。
16.根据权利要求12所述的装置,其中所述处理电路进一步经配置以通过使所述经修改的第二密钥与αj相乘而将所述块索引应用于所述经修改的第二密钥以获得所述白化密钥,其中α为常数且j为块索引。
17.根据权利要求16所述的装置,其中所述处理电路进一步经配置以在将所述数据应用于所述缩减回合加密编密之前通过将所述白化密钥与所述数据进行XOR运算而将所述白化密钥应用于所述数据。
18.根据权利要求17所述的装置,其中所述处理电路进一步经配置以通过将所述白化密钥与从所述缩减回合加密编密输出的数据进行XOR运算而将所述白化密钥再应用于所述缩减回合加密编密的所述输出。
19.根据权利要求11所述的装置,其中由所述处理电路所使用的所述数据单元索引为页编号。
20.根据权利要求11所述的装置,其中所述处理电路为耦合到芯片外存储装置的系统单芯片装置的组件,且所述处理电路进一步经配置以将经加密数据存储于所述芯片外存储装置中。
21.一种与缩减回合解密编密一起使用的用于解密数据的方法,其包括:
使用第一块编密基于第一密钥来加密数据单元索引以获得经修改的第一密钥,其中所述数据单元索引对应于待通过所述缩减回合解密编密而解密的数据;
使用所述缩减回合解密编密基于所述经修改的第一密钥来解密所述数据;以及
将所述经解密数据存储于存储装置中。
22.根据权利要求21所述的方法,其进一步包括:
使用第二块编密基于第二密钥来加密所述数据单元索引以获得经修改的第二密钥;
将块索引应用于所述经修改的第二密钥以获得白化密钥;
在将待解密的所述数据应用于所述缩减回合解密编密之前将所述白化密钥应用于所述数据;以及
将所述白化密钥再应用于所述缩减回合解密编密的输出。
23.根据权利要求22所述的方法,其中所述第一块编密和所述第二块编密为完整块编密。
24.根据权利要求21所述的方法,其中所述数据单元索引为页编号。
25.根据权利要求21所述的方法,其进一步包括从存储装置获得待解密的数据,且其中使用所述第一块编密基于所述第一密钥来加密所述数据单元索引以获得所述经修改第一密钥是与用于获得待通过所述缩减回合解密编密而解密的所述数据的操作并行执行的。
26.一种装置,其包括:
用于存储数据的存储装置;
耦合到所述存储装置的处理电路,所述处理电路经配置以:
使用第一块编密基于第一密钥来加密数据单元索引以获得经修改的第一密钥,其中所述数据单元索引对应于待通过缩减回合解密编密而解密的数据;
使用所述缩减回合解密编密基于所述经修改的第一密钥来解密所述数据;以及
将所述经解密数据存储于存储装置中。
27.根据权利要求26所述的装置,其中所述处理电路进一步经配置以:
使用第二块编密基于第二密钥来加密所述数据单元索引以获得经修改的第二密钥;
将块索引应用于所述经修改的第二密钥以获得白化密钥;
在将待解密的所述数据应用于所述缩减回合解密编密之前将所述白化密钥应用于所述数据;以及
将所述白化密钥再应用于所述缩减回合解密编密的输出。
28.根据权利要求27所述的装置,其中由所述处理电路所使用的所述第一块编密和所述第二块编密为完整块编密。
29.根据权利要求26所述的装置,其中由所述处理电路所使用的所述数据单元索引为页编号。
30.根据权利要求26所述的装置,其中所述处理电路进一步经配置以从存储装置获得待解密的数据,且其中使用所述第一块编密基于所述第一密钥来加密所述数据单元索引以获得所述经修改的第一密钥是与用于获得待通过所述缩减回合解密编密而解密的所述数据的操作并行执行的。
CN201580011361.9A 2014-03-11 2015-03-02 与使用缩减回合编密的xts加密系统一起使用的动态加密密钥 Expired - Fee Related CN106105089B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/205,230 US9405919B2 (en) 2014-03-11 2014-03-11 Dynamic encryption keys for use with XTS encryption systems employing reduced-round ciphers
US14/205,230 2014-03-11
PCT/US2015/018357 WO2015138179A1 (en) 2014-03-11 2015-03-02 Dynamic encryption keys for use with xts encryption systems employing reduced-round ciphers

Publications (2)

Publication Number Publication Date
CN106105089A true CN106105089A (zh) 2016-11-09
CN106105089B CN106105089B (zh) 2019-04-26

Family

ID=52684702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580011361.9A Expired - Fee Related CN106105089B (zh) 2014-03-11 2015-03-02 与使用缩减回合编密的xts加密系统一起使用的动态加密密钥

Country Status (7)

Country Link
US (1) US9405919B2 (zh)
EP (1) EP3117558A1 (zh)
JP (1) JP6109441B1 (zh)
KR (1) KR101767655B1 (zh)
CN (1) CN106105089B (zh)
TW (1) TWI570590B (zh)
WO (1) WO2015138179A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190042799A1 (en) * 2018-06-29 2019-02-07 Intel Corporation Memory tagging for side-channel defense, memory safety, and sandboxing

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102376506B1 (ko) * 2014-10-20 2022-03-18 삼성전자주식회사 암복호화기, 암복호화기를 포함하는 전자 장치 및 암복호화기의 동작 방법
US10346318B2 (en) 2016-09-13 2019-07-09 Intel Corporation Multi-stage memory integrity method and apparatus
JP6386198B1 (ja) * 2017-02-21 2018-09-05 三菱電機株式会社 暗号化装置及び復号装置
US10298553B2 (en) 2017-03-31 2019-05-21 Sprint Communications Company L.P. Hardware trusted data communications over system-on-chip (SOC) architectures
EP3602633A4 (en) * 2017-03-31 2020-11-11 INTEL Corporation GATE FOR A TRANSISTOR
US10608822B2 (en) * 2017-04-26 2020-03-31 Nxp B.V. Efficient calculation of message authentication codes for related data
US11349639B2 (en) 2018-12-28 2022-05-31 ePIC Blockchain Technologies Inc. Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms
US11574079B2 (en) * 2021-05-27 2023-02-07 Nuvoton Technology Corporation Multi-stage provisioning of secret data
US20230094171A1 (en) * 2021-09-25 2023-03-30 Intel Corporation Memory assisted incline encryption/decryption

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1836220A (zh) * 2003-06-25 2006-09-20 英特尔公司 具有降低的解密延迟的存储器加密的装置和方法
CN1890914A (zh) * 2003-12-11 2007-01-03 皇家飞利浦电子股份有限公司 块加密系统、利用置换隐藏各加密轮的核心加密函数
CN101073220A (zh) * 2004-12-09 2007-11-14 英特尔公司 用于提高密码处理的速度的方法和装置
US20120179919A1 (en) * 2011-01-10 2012-07-12 Apple Inc. Securing implementation of a cryptographic process having fixed or dynamic keys

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3658004B2 (ja) * 1993-07-20 2005-06-08 キヤノン株式会社 通信システム
US6052466A (en) * 1997-08-28 2000-04-18 Telefonaktiebolaget L M Ericsson (Publ) Encryption of data packets using a sequence of private keys generated from a public key exchange
TW375721B (en) * 1998-06-17 1999-12-01 Ind Tech Res Inst DES chip processor capable of executing data encryption standard (DES) operation
EP1440535B1 (en) * 2001-10-03 2011-01-05 Nxp B.V. Memory encrytion system and method
US20060195402A1 (en) * 2002-02-27 2006-08-31 Imagineer Software, Inc. Secure data transmission using undiscoverable or black data
JP2005527853A (ja) * 2002-05-23 2005-09-15 アトメル・コーポレイション 高度暗号化規格(aes)のハードウェア暗号法エンジン
US7321659B2 (en) * 2003-10-01 2008-01-22 International Business Machines Corporation Simple universal hash for plaintext aware encryption
US7697681B2 (en) * 2004-02-06 2010-04-13 Nortel Networks Limited Parallelizable integrity-aware encryption technique
FR2893796B1 (fr) * 2005-11-21 2008-01-04 Atmel Corp Procede de protection par chiffrement
WO2008018303A1 (fr) * 2006-08-10 2008-02-14 Nec Corporation Dispositif de chiffrage de bloc équipé d'une fonction d'ajustement, procédé et programme
US8036377B1 (en) * 2006-12-12 2011-10-11 Marvell International Ltd. Method and apparatus of high speed encryption and decryption
US7890565B2 (en) * 2007-04-30 2011-02-15 Lsi Corporation Efficient hardware implementation of tweakable block cipher
EP2186250B1 (en) 2007-08-31 2019-03-27 IP Reservoir, LLC Method and apparatus for hardware-accelerated encryption/decryption
US8121294B2 (en) * 2008-10-21 2012-02-21 Apple Inc. System and method for a derivation function for key per page
US9336160B2 (en) * 2008-10-30 2016-05-10 Qualcomm Incorporated Low latency block cipher
JP5272751B2 (ja) 2009-01-26 2013-08-28 富士通セミコンダクター株式会社 プロセッサ
JP5704159B2 (ja) 2010-02-24 2015-04-22 日本電気株式会社 ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
JP2012009928A (ja) 2010-06-22 2012-01-12 Toshiba Corp 暗号演算装置、記憶装置および暗号演算方法
US8966279B2 (en) 2010-12-21 2015-02-24 Apple Inc. Securing the implementation of a cryptographic process using key expansion
JP5167374B2 (ja) * 2011-01-21 2013-03-21 シャープ株式会社 データ暗号化装置、及び、メモリカード
TWI475879B (zh) * 2011-12-06 2015-03-01 Ind Tech Res Inst 數位版權管理物件之加密/解密方法、數位版權管理物件加密/解密裝置
CN102779251B (zh) * 2012-06-29 2016-04-13 鸿富锦精密工业(深圳)有限公司 电子设备及其加密/解密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1836220A (zh) * 2003-06-25 2006-09-20 英特尔公司 具有降低的解密延迟的存储器加密的装置和方法
CN1890914A (zh) * 2003-12-11 2007-01-03 皇家飞利浦电子股份有限公司 块加密系统、利用置换隐藏各加密轮的核心加密函数
CN101073220A (zh) * 2004-12-09 2007-11-14 英特尔公司 用于提高密码处理的速度的方法和装置
US20120179919A1 (en) * 2011-01-10 2012-07-12 Apple Inc. Securing implementation of a cryptographic process having fixed or dynamic keys

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190042799A1 (en) * 2018-06-29 2019-02-07 Intel Corporation Memory tagging for side-channel defense, memory safety, and sandboxing
US11630920B2 (en) * 2018-06-29 2023-04-18 Intel Corporation Memory tagging for side-channel defense, memory safety, and sandboxing

Also Published As

Publication number Publication date
US9405919B2 (en) 2016-08-02
US20150261965A1 (en) 2015-09-17
EP3117558A1 (en) 2017-01-18
JP2017511900A (ja) 2017-04-27
KR20160122180A (ko) 2016-10-21
CN106105089B (zh) 2019-04-26
KR101767655B1 (ko) 2017-08-11
JP6109441B1 (ja) 2017-04-05
TW201546648A (zh) 2015-12-16
WO2015138179A1 (en) 2015-09-17
TWI570590B (zh) 2017-02-11

Similar Documents

Publication Publication Date Title
CN106105089A (zh) 与使用缩减回合编密的xts加密系统一起使用的动态加密密钥
CN109564553B (zh) 多阶段存储器完整性方法和装置
US10091000B2 (en) Techniques for distributing secret shares
US10341091B2 (en) Secure memory storage
US8543838B1 (en) Cryptographic module with secure processor
EP2706520B1 (en) Security chip, information processing apparatus, and information processing system
CN108712412B (zh) 一种数据库的加密、解密方法、装置、存储介质及终端
US8681976B2 (en) System and method for device dependent and rate limited key generation
US20120260106A1 (en) System and method for binary layout randomization
US20190312718A1 (en) Using secure key storage to bind a white-box implementation to one platform
US10469265B2 (en) Technologies for secure inter-enclave communications
US11308241B2 (en) Security data generation based upon software unreadable registers
CN105450620A (zh) 一种信息处理方法及装置
WO2016154496A1 (en) Challenge response authentication for self encrypting drives
US20170085540A1 (en) Secure data re-encryption
KR101820366B1 (ko) 메시지 인증 코드 태그들을 활용하는 시스템들에 사용하기 위한 롤백 공격들로부터의 데이터 무결성 보호
US10536264B2 (en) Efficient cryptographically secure control flow integrity protection
US20190278912A1 (en) Method and apparatus for performing firmware programming on microcontroller chip, and associated microcontroller chip
US20130132736A1 (en) System And Method For Establishing A Shared Secret For Communication Between Different Security Domains
CN109598105A (zh) 一种微控制器安全加载固件的方法、装置、计算机设备及存储介质
US8774402B2 (en) Encryption/decryption apparatus and method using AES rijndael algorithm
CN103491384A (zh) 一种视频的加密方法和装置及解密方法和装置
US8539238B2 (en) Authenticated nonvolatile memory signing operations
EP4020287A1 (en) Time-based multi-dimensional key recreation mechanism using puf technologies
EP3679508A1 (en) Data protection in a pre-operating system environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190426

Termination date: 20210302

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