CN117997797A - 数据加密的错误侦测装置 - Google Patents

数据加密的错误侦测装置 Download PDF

Info

Publication number
CN117997797A
CN117997797A CN202211367026.0A CN202211367026A CN117997797A CN 117997797 A CN117997797 A CN 117997797A CN 202211367026 A CN202211367026 A CN 202211367026A CN 117997797 A CN117997797 A CN 117997797A
Authority
CN
China
Prior art keywords
key
circuit
parity
bit
bits
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
CN202211367026.0A
Other languages
English (en)
Inventor
吴温哲
陈柏宏
郑巧雯
余俊宏
刘志尉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion 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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to CN202211367026.0A priority Critical patent/CN117997797A/zh
Priority to US18/203,305 priority patent/US20240143791A1/en
Publication of CN117997797A publication Critical patent/CN117997797A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6575Implementations based on combinatorial logic, e.g. Boolean circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种数据加密的错误侦测装置。该装置包含:搜索电路;和替代校验电路。搜索电路设置以依据8转K比特查找表,将输入的相应于明文、中间加密結果或者回合密钥的1个字节的第一值转换为K比特的第二值。替代校电验电路设置以使用相应于8转K比特查找表的公式,判断第一值转换为第二值的过程中是否发生错误,以及当发现错误时,发出错误信号。通过以上所述搜索电路和替代校验电路的设置,可利用比编码电路较少面积的电路来完成错误侦测。

Description

数据加密的错误侦测装置
技术领域
本发明涉及数据加密,特别是,本发明涉及一种数据加密的错误侦测装置。
背景技术
由于现在的存储装置(例如,NAND闪存)常用于存储系统程序代码、应用程序代码、驱动程序和用户的隐私数据等,因此数据安全性是重要议题。高级加密标准(AdvancedEncryption Standard,AES)是目前由美国联邦政府采用的一种区块加密标准,并且已经被多方验证且广为采用。然而,AES运行的过程中可能遭到恶意的攻击,而让AES编码器错误的产生运算结果。或者是,芯片制作过程中有些瑕疵,使得AES编码器在运行一段时间后会产生不预期的运算结果。或者是,存储装置处在恶劣的环境下,让AES编码器中的部分元件失效而产生不预期的运算结果。错误的加密过程将使原始的用户数据无法恢复,造成巨大的损失。因此,本发明提出一种数据加密的错误侦测装置及方法,避免写入错误的加密后数据到存储装置。
发明内容
有鉴于此,如何减轻或消除上述相关领域的缺失,实为有待解决的问题。
本发明涉及一种数据加密的错误侦测装置,包含:搜索电路;和替代校验电路。搜索电路设置以依据8转K比特查找表,将输入的相应于明文、中间加密结果或者回合密钥的1个字节的第一值转换为K比特的第二值。替代校验电路设置以使用相应于8转K比特查找表的公式,判断第一值转换为第二值的过程中是否发生错误,以及当发現错误时,发出错误信号。
K为10到15之间的正整数,第二值包含K-8个比特的汉明奇偶校验码,以及公式的数目为K-8。
上述实施例的优点之一,通过以上所述搜索电路和替代校验电路的设置,可利用比编码电路较少面积的电路来完成错误侦测。
本发明的其他优点将配合以下的说明和说明书附图进行更详细的解说。
附图说明
此处所说明的说明书附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为依据本发明实施例的电子装置的系统架构图。
图2为依据本发明实施例的闪存模块的示意图。
图3为以128比特密钥使用10个回合的算法的高阶示意图。
图4为依据一些实施方式的高级加密标准(Advanced Encryption Standard,AES)编码器的框图。
图5为依据本发明实施例的AES编码器的框图。
图6为依据本发明实施例的体、体内奇偶校验比特和跨体奇偶校验9比特的示意图。
图7为依据本发明实施例的小钥、小钥内奇偶校验比特和跨小钥奇偶校验9比特的示意图。
图8为依据本发明实施例的AES编码器的框图。
图9为依据本发明实施例的AES数据处理电路的框图。
图10为依据本发明实施例的奇偶校验预测电路的框图。
图11为依据本发明实施例的体内奇偶校验比特预测电路的框图。
图12为依据本发明实施例的体内奇偶校验比特产生电路的框图。
图13为依据本发明实施例的跨体奇偶校验9比特预测电路的框图。
图14为依据本发明实施例的增强型替代字节电路的框图。
图15为依据本发明实施例的增强型查表电路的框图。
图16为依据本发明实施例的替代校验电路的框图。
图17为依据本发明实施例的AES密钥调度电路的框图。
图18为依据本发明实施例的钥字处理电路的框图。
图19为依据本发明实施例的替代钥字电路的框图。
图20为依据本发明实施例的舍去常数电路的示意图。
图21为依据本发明实施例的钥字处理电路的框图。
图22为依据本发明实施例的增強型查表电路的框图。
图23和图24为依据本发明实施例的8转14比特查找表的示意图。
附图标记说明:
10 电子装置
110 主机端
130 闪存控制器
131 主机接口
132 总线
134 处理单元
136 随机存取存储器
137 高级加密标准编码器
138 直接存储器存取控制器
139 闪存接口
150 闪存模块
151 接口
153#0~153#15 NAND闪存单元
CH#0~CH#3 通道
CE#0~CE#3 启动信号
R#0 初始回合
R#1~R#9 中间回合
R#10 最终回合
S310#1~S310#10 替代字节步骤
S320#1~S320#10 位移行步骤
S330#1~S330#9 混合列步骤
S340#1~S340#10 加上回合密钥步骤
S350 扩展密钥步骤
w[0,3] 基础密钥
w[4,7]、w[36,39]、w[40,43] 扩展后的密钥
400 AES编码器
410、430 AES编码电路
450 比较器
500 AES编码器
510 AES编码电路
530 错误侦测电路
550 冗余数据产生电路
570 冗余密钥产生电路
S0~S15
P0~P15 体内奇偶校验比特
Q0~Q3 跨体奇偶校验9比特
k0~k31 小钥
R0~R31 小钥内奇偶校验比特
V0~V7 跨小钥奇偶校验9比特
810 AES数据处理电路
813 编码电路
815 编码错误检查电路
830 AES密钥调度电路
833 密钥产生电路
835 密钥错误检查电路
850 或门
870 控制器
912 数据寄存器
914 奇偶校验码寄存器
920 增强型替代字节电路
930 位移行电路
940 混合列电路
950 加上回合密钥电路
960 奇偶校验检查电路
970 奇偶校验预测电路
980 复用器
1010 体内奇偶校验比特预测电路
1030 跨体奇偶校验9比特预测电路
1110 体内奇偶校验比特产生电路
1120 位移行预测电路
1130 混合列预测电路
1140 复用器
1150 加上回合密钥预测电路
1160 位移行电路
1210 复用器
1230 体内互斥或门
1310 跨体奇偶校验字节产生电路
1330 跨小钥奇偶校验字节分割电路
1350 跨体奇偶校验字节预测电路
1370 跨体奇偶校验1比特预测电路
1390 跨体奇偶校验9比特合并电路
1410 跨体奇偶校验字节分割电路
1430#0~1430#15 增强型查表电路
1450 跨体奇偶校验字节合并电路
1510、2210 搜索电路
1530、2230 替代校验电路
1610 计算电路
1630 乘法器
1650 比较器
1710、1750 密钥分割电路
1712、1714 寄存器
1720、1730 钥字处理电路
1725、1727、1729 互斥或门
1742、1744 密钥奇偶校验码产生电路
1752、1754、1782、1784 寄存器
1762、1764 密钥奇偶校验检查电路
1772、1774 密钥奇偶校验预测电路
1810 钥字分割电路
1820 旋转钥字电路
1830 替代钥字电路
1840 舍去常数电路
1850 钥字合并电路
1860 钥字奇偶校验产生电路
1870 钥字奇偶校验预测电路
1880 钥字跨奇偶校验预测电路
1890 钥字奇偶校验9比特合并电路
1930#0~1930#3 增强型查表电路
2010 互斥或门
2110 钥字分割电路
2130 替代钥字电路
2150 钥字合并电路
2160 钥字奇偶校验产生电路
2180 钥字跨奇偶校验预测电路
2190 钥字奇偶校验9比特合并电路
2300、2400 8转14比特查找表
具体实施方式
以下将配合相关附图来说明本发明的实施例。在这些附图中,相同的标号表示相同或类似的组件或方法流程。
必须了解的是,使用在本说明书中的“包含”、“包括”等词,是用于表示存在特定的技术特征、数值、方法步骤、作业处理、元件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
本发明中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的组件,并非用来表示之间具有优先权顺序、先行关系,或者是一个组件先于另一个组件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的组件。
必须了解的是,当组件描述为“连接”或“耦接”至另一组件时,可以是直接连结、或耦接至其他组件,可能出现中间组件。相反地,当组件描述为“直接连接”或“直接耦接”至另一组件时,其中不存在任何中间组件。使用于描述组件之间关系的其他词语也可以类似方式解读,例如“介于”相对于“直接介于”,或者是“邻接”相对于“直接邻接”等等。
参考图1。电子装置10包含:主机端(Host Side)110、闪存控制器130及闪存模块150,并且闪存控制器130及闪存模块150可合称为装置端(Device Side)。电子装置10可实施于个人计算机、笔记本计算机(Laptop PC)、平板计算机、移动电话、数字相机、数字摄影机、智能型电视、智能型电冰箱、车用电子系统(Automotive Electronics System)等电子产品之中。主机端110与闪存控制器130的主机接口(Host Interface)131可以通用串行总线(Universal Serial Bus,USB)、先进技术附件(Advanced Technology Attachment,ATA)、串行先进技术附件(Serial Advanced Technology Attachment,SATA)、快速外设组件互联(Peripheral Component Interconnect Express,PCI-E)、通用闪存存储(Universal Flash Storage,UFS)、嵌入式多媒体卡(Embedded Multi-Media Card,eMMC)等通信协议彼此通信。闪存控制器130的闪存接口(Flash Interface)139与闪存模块150可以双倍数据率(Double Data Rate,DDR)通信协议彼此通信,例如,开放NAND闪存接口(OpenNAND Flash Interface,ONFI)、双倍数据率开关(DDR Toggle)或其他通信协议。闪存控制器130包含处理单元134,可使用多种方式实施,如使用通用硬件(例如,单处理器、具有并行处理能力的多处理器、图形处理器或其他具有运算能力的处理器),并且在执行软件以及/或固件指令时,提供之后描述的功能。处理单元134通过主机接口131接收主机命令,例如读取命令(Read Command)、写入命令(Write Command)、丢弃命令(Discard Command)、抹除命令(Erase Command)等,调度并执行这些命令。闪存控制器130还包含随机存取存储器(Random Access Memory,RAM)136,可实施为动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)或上述两者的结合,用于配置空间作为数据缓冲区,存储从主机端110读取并即将写入闪存模块150的主机数据,以及从闪存模块150读取并即将输出给主机端110的主机数据。随机存取存储器136还可存储执行过程中需要的数据,例如,变量、数据表、主机-闪存对照表(Host-to-Flash,H2F Table)、闪存-主机对照表(Flash-to-Host,F2H Table)等。闪存接口139包含NAND闪存控制器(NAND Flash Controller,NFC)提供存取闪存模块150时需要的功能,例如命令串行器(Command Sequencer)、低密度奇偶校验(Low Density Parity Check,LDPC)等。
闪存控制器130中可配置共享总线架构(Shared Bus Architecture)132,用于让组件之间彼此耦接以传递数据、地址、控制信号等,这些组件包含:主机接口131、处理单元134、RAM136、高级加密标准(Advanced Encryption Standard,AES)编码器137、直接存储器存取(Direct Memory Access,DMA)控制器138、闪存接口139等。DMA控制器138可依据处理单元134的指令,通过总线架构132在元件间迁移数据,例如,将RAM136的特定数据缓存器中的数据搬到AES编码器137的特定寄存器(Register),将AES编码器137的特定寄存器中的数据搬到RAM136的特定数据缓存器等。
闪存模块150提供大量的存储空间,通常是数百个千兆字节(Gigabytes,GB),甚至是多个万亿字节(Terabytes,TB),用于存储大量的用户数据,例如高分辨率图片、影片等。闪存模块150中包含控制电路以及存储器数组,存储器数组中的存储单元可在抹除后配置为单层式单元(Single Level Cells,SLCs)、多层式单元(Multiple Level Cells,MLCs)、三层式单元(Triple Level Cells,TLCs)、四层式单元(Quad-Level Cells,QLCs)或上述的任意组合。处理单元134通过闪存接口139写入用户数据到闪存模块150中的指定地址(目的地址),以及从闪存模块150中的指定地址(来源地址)读取用户数据。闪存接口139使用多个电子信号来协调闪存控制器130与闪存模块150间的数据与命令传递,包含数据线(DataLine)、时钟信号(Clock Signal)与控制信号(Control Signal)。数据线可用于传递命令、地址、读出及写入的数据;控制信号线可用于传递芯片启动(Chip Enable,CE)、地址提取启动(Address Latch Enable,ALE)、命令提取启动(Command Latch Enable,CLE)、写入启动(Write Enable,WE)等控制信号。
参考图2,闪存模块150中的接口151可包含四个输入输出通道(I/Ochannels,以下简称通道)CH#0至CH#3,每一个通道连接四个NAND闪存单元,例如,信道CH#0连接NAND闪存单元153#0、153#4、153#8及153#12,依此类推。每个NAND闪存单元可封装为独立的芯片(die)。闪存接口139可通过接口151发出启动信号CE#0至CE#3中的一个来启动NAND闪存单元153#0至153#3、153#4至153#7、153#8至153#11、或153#12至153#15,接着以并行的方式从启动的NAND闪存单元读取用户数据,或者写入用户数据至启动的NAND闪存单元。所属技术领域人员可依据系统的需求改变闪存模块150的设计,在闪存模块150中配置更多或更少的通道,和/或将每个通道连接上更多或更少的NAND闪存单元,本发明并不因此受限。
AES编码器137实施一种Rijndael的变形算法,其中使用固定的128比特大小的块和128、192或256比特大小的基础密钥。AES编码器137针对4×4以列为主的有序数组(4×4Column-major Order Array)的字节进行操作,每个字节称为体(State)。大部分的AES计算都是在特定有限域(Finite Field)中完成的。例如,16个体S0、S1到S15可用以下二维数组(Two-dimensional Array)表示:
AES加密中使用的秘钥大小决定了转换回合的数目,此加密用以将输入信息(称为明文)转换成为最后输出(称为密文)。例如,128比特密钥使用10个回合(n=10)加密,192比特密钥使用12个回合(n=12)加密,256比特密钥使用14个回合(n=14)加密。每个回合包含数个处理步骤(或者称为操作),其中包含一个取决于加密秘钥本身的步骤。参考图3所示的以128比特密钥使用10个回合的算法的高阶示意图。算法使用扩展密钥的步骤S350(也称为AES密钥调度),根据128比特基础密钥(Root Key)w[0,3]来扩展出多个回合所需要的密钥。初始回合包含加上回合密钥(Add-Round-Key)的步骤S340#0,用于加上回合密钥,每个体使用逐比特的XOR运算合并上基础密钥w[0,3]中的相应字节。接下来的9个回合,每个回合包含替代字节(Substitute-Bytes)的步骤S310#i、位移行(Shift-Rows)的步骤S320#i、混合列(Mix-Columns)的步骤S330#i、加上回合密钥的步骤S340#i,其中i为1到9之间的任意正整数。步骤S310#i是一个非线性替代的步骤,根据查找表(又可称为Rijndael S-box)将每个体的值替换为另一个值,其中的查找表使用以下公式建立:
SBi=Affine((i)-1)
SBi代表i的输出结果,Affine()代表Affine转换函数,i为从0到127的正整数。步骤S320#i是一个调换位置的步骤,将下面三行的每一者向左或向右循环位移指定步数。步骤S330#i执行线性混合操作,作用于列,用于将每一列的四个体进行合并。步骤S340#i用于加上回合密钥,每个体使用逐比特的XOR运算合并上基础密钥w[i*4,i*4+3]中的相应字节。最后回合(也就是第10回合)包含步骤S310#10、S320#10、S340#10,其功能分别类似于步骤S310#i、S320#i、S340#i。虽然图3只介绍了128比特密钥使用10个回合的算法,所属技术领域人员理解192比特密钥使用12个回合及256比特密钥使用14个回合的算法的技术细节,可从美国国家标准与技术研究院(National Institute of Standard and Technology,NIST)发表的标准文件中获取。
由于在遭遇恶意攻击、芯片瑕疵、恶劣环境等情况时,AES加密的过程中会发生错误而造成用户数据无法恢复的重大伤害。参考图4,在一些实施方式的AES编码器400中,包含两套相同的用于实现如上所示算法的AES编码电路410和430。AES编码器400另设置比较器450,用于从AES编码电路410接收每个体的密文C#1,从AES编码电路430接收每个体的密文C#2,并且比较两者是否相同。如果相同,则比较器450输出密文C#1和加密成功的信息。如果不同,则比较器450输出加密失败的信息,用于通知处理单元中运行的固件,需要执行错误管理程序。然而,以上实施方式的AES编码器400的面积大于两套AES编码电路的面积,造成制造成本上升。
为了让AES编码器的面积小于两套AES编码电路的面积,从一个方面来说,参考图5,本发明实施例提出在AES编码器500中除了设置用于实现如上所示算法的AES编码电路510之外,还设置面积较一套完整的AES编码电路510更小的错误侦测电路530来完成加密过程是否发生错误的侦测。在每个体的加密过程中,错误侦测电路530使用比16个体及其所属的回合密钥更少的信息来判断整个加密过程中是否发生错误。如果判定没有任何错误,则错误侦测电路530可输出加密成功信息。如果判定发生错误,则错误侦测电路530输出加密失败的信息,用于通知处理单元中运行的固件,需要执行错误管理程序。
冗余数据产生电路550可在16个体附加上用于让错误侦测电路530判断加密过程中是否发生错误的冗余数据,而冗余数据是一种根据16个体中的值或者中间加密结果和AES加密算法的预测结果。参考图6,在一些实施例中,冗余数据产生电路(Redundant-dataGeneration Circuitry)550可预测一个体内奇偶校验比特(In-state Parity Bit),并且将体内奇偶校验比特(当作第8个比特)附加在体(第0~7个比特)之后。需要注意的是,所属技术领域人员不应依据上述的附加操作解读为8比特的体和1比特的体内奇偶校验比特实际存储于9比特的连续空间,不同但等同的数据结构都是允许的。例如,冗余数据产生电路550可预测体S0的体内奇偶校验比特P0,预测体S1的体内奇偶校验比特P1,依此类推。体和相应体内奇偶校验比特之间的匹配可使用以下示例公式表示:
Pi代表第i个体的体内奇偶校验比特的值,Si,j代表第i个体中的第j个比特的值,i为从0到15的正整数。当公式的两边相等时,代表第i个体和第i个体内奇偶校验比特是匹配的。否则,代表两者间不匹配。冗余数据产生电路550可预测相应于每列的体的值及其体内奇偶校验比特的一个跨体奇偶校验9比特(Across-state Parity 9-bit)。例如,冗余数据产生电路550可预测相应于体S0及其体内奇偶校验比特P0、体S1及其体内奇偶校验比特P1、体S2及其体内奇偶校验比特P2和体S3及其体内奇偶校验比特P3的跨体奇偶校验9比特Q0,依此类推。每个列的多个体及其体内奇偶校验比特和相应跨体奇偶校验9比特之间的匹配可使用以下示例公式表示:
Q0,j代表第0个跨体奇偶校验9比特的第j个比特的值,Q1,j代表第1个跨体奇偶校验9比特的第j个比特的值,Q2,j代表第2个跨体奇偶校验9比特的第j个比特的值,Q3,j代表第3个跨体奇偶校验9比特的第j个比特的值,Si,j代表第i个体中的第j个比特的值,j为从0至8的任意整数。当第i个跨体奇偶校验9比特中的每个比特等于第i列中的相应比特的加总(或者互斥或运算的结果)时,代表第i列的体及体内奇偶校验比特和第i个跨体奇偶校验9比特之间是匹配的。否则,代表两者间不匹配。
从一个方面来说,AES编码电路510和冗余数据产生电路550是独立且并行运行的,两者之间不会进行数据和信息交换。冗余数据产生电路550使用冗余数据更新算法来产生预测冗余数据,而冗余数据更新算法是从AES加密算法推导出来的,使得AES编码电路510产生的中间加密结果和冗余数据产生电路550预测的冗余数据能够在加密明文过程中的每个特定中间点,在没有发生错误的情况下,都能维持指定的数学关系。
冗余密钥产生电路(Redundant-key Generation Circuitry)570在每个基础密钥或者回合密钥附加上用于让错误侦测电路530判断密钥产生过程中是否发生错误的冗余数据,而冗余数据是一种根据基础密钥或者回合密钥中的值和AES密钥调度算法的预测结果。参考图7,以256比特基础密钥为例,冗余密钥产生电路570可先将基础密钥依序切分为32个字节(每个字节可称为小钥,Subkey),并组织为8列4行的矩阵。冗余密钥产生电路570可预测一个小钥内奇偶校验比特(In-subkey Parity Bit),并且将小钥内奇偶校验比特(当作第8个比特)附加在小钥(第0~7个比特)之后。需要注意的是,所属技术领域人员不能够依据上述的附加操作解读为8比特的小钥和1比特的小钥内奇偶校验比特实际存储于9比特的连续空间,不同但等同的数据结构都是允许的。例如,冗余密钥产生电路570可预测小钥K0的小钥内奇偶校验比特R0,预测小钥S1的小钥内奇偶校验比特R1,依此类推。小钥和小钥内奇偶校验比特之间的匹配可使用以下示例公式表示:
Ri代表第i个小钥的小钥内奇偶校验比特的值,Ki,j代表第i个小钥中的第j个比特的值,i为从0到15的正整数。当公式的两边相等时,代表第i个小钥和第i个小钥内奇偶校验比特是匹配的。否则,代表两者间不匹配。冗余密钥产生电路570可预测相应于每列的小钥的值及其小钥内奇偶校验比特的一个跨小钥奇偶校验9比特(Across-subkey Parity 9-bit)。例如,冗余密钥产生电路570可预测相应于小钥k0及其小钥内奇偶校验比特R0、小钥k1及其体内奇偶校验比特R1、小钥k2及其小钥内奇偶校验比特R2和小钥k3及其小钥内奇偶校验比特R3的跨小钥奇偶校验9比特V0,依此类推。每个列的多个小钥及其小钥内奇偶校验比特和相应跨小钥奇偶校验9比特之间的匹配可使用以下示例公式表示:
V0,j代表第0个跨小钥奇偶校验9比特的第j个比特的值,V1,j代表第1个跨小钥奇偶校验9比特的第j个比特的值,V2,j代表第2个跨小钥奇偶校验9比特的第j个比特的值,V3,j代表第3个跨小钥奇偶校验9比特的第j个比特的值,V4,j代表第4个跨小钥奇偶校验9比特的第j个比特的值,V5,j代表第5个跨小钥奇偶校验9比特的第j个比特的值,V6,j代表第6个跨小钥奇偶校验9比特的第j个比特的值,V7,j代表第7个跨小钥奇偶校验9比特的第j个比特的值,ki,j代表第i个小钥中的第j个比特的值,j为从0至8的任意整数。当第i个跨小钥奇偶校验9比特中的每个比特等于第i列中的相应比特的加总(或者互斥或运算的结果)时,代表第i列的小钥及小钥内奇偶校验比特和第i个跨小钥奇偶校验9比特之间是匹配的。否则,代表两者间不匹配。
从一个方面来说,AES编码电路510和冗余密钥产生电路570是独立且并行运行的,两者之间不会进行数据和信息交换。冗余密钥产生电路570使用冗余密钥更新算法来产生预测冗余数据,而冗余密钥更新算法是从AES加密算法中的AES密钥调度推导出来的,使得AES编码电路510产生的回合密钥和冗余密钥产生电路570预测的冗余数据能够在产生回合密钥过程中的每个特定中间点,在没有发生错误的情况下,都能维持指定的数学关系。
虽然图5将AES编码电路510、错误侦测电路530、冗余数据产生电路550和冗余密钥产生电路570以不同方块表示,但这只是为了让读者容易理解,所属技术领域人员可在实际实现时,将AES编码电路510、错误侦测电路530、冗余数据产生电路550和冗余密钥产生电路570以适当的方式整合在一起,本发明并不因此局限。
从另一个方面来说,参考图8,本发明实施例提出在AES编码器137中设置AES数据处理电路(AES Data Processing Circuitry)810和AES密钥调度电路(AES Key ScheduleCircuitry)830。AES密钥调度电路830包含密钥产生电路833,用于完成如图3所示的扩展密钥步骤S350。控制器870发出控制信号给AES密钥调度电路830,用于驱动AES密钥调度电路830根据基础密钥K0或者之前的回合密钥Ki产生新的回合密钥,并且输出指定回合的回合密钥Ki及其相应的冗余数据(例如,小钥内奇偶校验比特R和跨小钥奇偶校验9比特V)给AES数据处理电路810。AES密钥调度电路830包含密钥错误检查电路835,设置以计算出相应于每个回合密钥的冗余数据;并且在扩展密钥过程中的指定中间点发现任何回合密钥和相应冗余数据不匹配时,发出错误信号ERR_KEY=1。回合密钥可切分为16个小钥且组织为4×4字节数组,每个小钥为1字节;冗余数据包含相应于每个小钥的小钥内奇偶校验比特,和相应于每个列的跨小钥奇偶校验9比特。密钥错误检查电路835在扩展密钥过程中的指定中间点发现任何小钥不匹配于相应小钥内奇偶校验比特时,或者发现相应于任何列的小钥加上4个相应小钥内奇偶校验比特,不匹配于相应跨小钥奇偶校验9比特时,发出错误信号ERR_KEY=1。
AES数据处理电路810包含编码电路813,设置以实现如图3所示的AES算法中的替代字节步骤S310、位移行步骤S320、混合列步骤S330和加上回合密钥步骤S340。AES算法包含多个回合,并且在每个回合中用于使用回合密钥对明文或者中间加密结果进行编码。控制器870发出控制信号给AES数据处理电路810,用于驱动AES数据处理电路810来安排上述步骤的执行顺序,以符合AES算法的回合设置。AES数据处理电路810包含编码错误检查电路815,设置以计算出相应于明文或者中间加密结果的冗余数据;在加密过程中的指定中间点发现中间加密结果和冗余数据之间不匹配时,发出编码错误信号ERR_ENC=1。明文可切分为16个体且组织为4×4数组,每个体为1字节,第二冗余数据包含相应于每个体的体内奇偶校验比特,和相应于明文中的每个列的跨体奇偶校验9比特。编码错误检查电路815在加密过程中的指定时间点发现任何所述体的中间加密结果不匹配于相应体内奇偶校验比特时,或者发现相应于明文中的任何列的中间加密结果加上4个相应体内奇偶校验比特,不匹配于相应跨体奇偶校验9比特时,发出编码错误信号ERR_ENC=1。
或门850耦接编码错误检查电路815和密钥错误检查电路835的输出端。当编码错误检查电路815输出编码错误信号ERR_ENC=1和/或密钥错误检查电路835输出密钥错误信号ERR_KEY=1时,或门850输出AES错误信号ERR_AES=1给处理单元134。
参考图9所示的AES数据处理电路810的框图。数据寄存器912用于存储在AES加密过程中产生的16字节(也就是128比特)的中间或者最终结果,而奇偶校验码寄存器(ParityRegisters)914用于存储在AES加密过程中产生的相应于16字节的中间或者最终结果的体内奇偶校验比特和跨体奇偶校验9比特。位移行电路(Shift-row Circuitry)930用于执行如如图3所示的位移行的步骤S320,并且其结构为所属技术领域人员所公知,为求简明不再赘述。混合列电路(Mix-column Circuitry)940用于执行如如图3所示的混合列的步骤S330,并且其结构为所属技术领域人员所公知,为求简明不再赘述。加上回合密钥电路(Add-round-key Circuitry)950用于执行如如图3所示的加上回合密钥的步骤S340,并且其结构为所属技术领域人员所公知,为求简明不再赘述。
控制器870可在每个回合发出选择信号R_sel给复用器980和奇偶校验预测电路(Parity Prediction Circuitry)970,用于控制流经指定电路的数据流。复用器980包含三个输入端I0、I1及I2和一个输出端O。输入端I0耦接AES编码器137的输入引脚以接收16字节的明文,输入端I1耦接混合列电路940的输出以接收16字节的运算结果,输入端I2耦接位移行电路930的输出以接收16字节的运算结果,输出端O耦接加上回合密钥电路950的输入。详细来说,在初始回合,控制器870可使用控制信号R_sel控制复用器980将输入端I0连接上输出端O,使得从AES编码器137的输入引脚接收到的16字节的明文S能够馈入加上回合密钥电路950。在中间回合(例如使用256比特密钥的第1至第13回合),控制器870可使用控制信号R_sel控制复用器980将输入端I1连接上输出端O,使得混合列电路940的输出能够馈入加上回合密钥电路950。在最终回合(例如使用256比特密钥的第14回合),控制器870可使用控制信号R_sel控制复用器980将输入端I2连接上输出端O,使得位移行电路930的输出能够馈入加上回合密钥电路950。此外,在初始回合,控制器870可使用控制信号R_sel控制奇偶校验预测电路970,让从AES编码器137的输入引脚接收到的16字节的明文S能够馈入奇偶校验预测电路970,用于产生相应于明文的体内奇偶校验比特P和跨体奇偶校验9比特Q。在中间和最终回合,控制器870可使用控制信号R_sel控制奇偶校验预测电路970,让增强型替代字节电路920的输出能够馈入奇偶校验预测电路970,用于产生相应于中间加密结果的体内奇偶校验比特P和跨体奇偶校验9比特Q。
参考图10所示的奇偶校验预测电路970的框图。奇偶校验预测电路970包含体内奇偶校验比特预测电路(In-state Parity-bit Prediction Circuitry)1010和跨体奇偶校验9比特预测电路(Across-state Parity-9-bit Prediction Circuitry)1030。体内奇偶校验比特预测电路1010依据控制信号R_sel选择输入明文S(相应于初始回合)或者中间加密结果S’(相应于中间或者最终回合),并且根据明文S/中间加密结果S’和小钥内奇偶校验比特R产生体内奇偶校验比特P。跨体奇偶校验9比特预测电路1030依据控制信号R_sel选择输入明文S(相应于初始回合)或者中间加密结果S’(相应于中间或者最终回合),并且根据明文S/中间加密结果S’和跨小钥奇偶校验9比特V产生跨体奇偶校验9比特Q。
参考图11所示的体内奇偶校验比特预测电路1010的框图。控制器870可在每个回合发出选择信号R_sel给复用器1140和体内奇偶校验比特产生电路1110,用于控制流经指定电路的数据流。复用器1140包含三个输入端I0、I1及I2和一个输出端O。输入端I0耦接体内奇偶校验比特产生电路1110的输出以接收相应于明文的16比特的体内奇偶校验码,输入端I1耦接混合列预测电路1130的输出以接收16比特的运算结果,输入端I2耦接位移行预测电路1120的输出以接收16比特的运算结果,输出端O耦接加上回合密钥预测电路950的输入。详细来说,在初始回合,控制器870可使用控制信号R_sel驱动体内奇偶校验比特产生电路1110从AES编码器137的输入引脚接收16字节的明文,并且控制复用器1140将输入端I0连接上输出端O,使得从体内奇偶校验比特产生电路1110的输出所接收到的相应于明文S的16比特的体内奇偶校验码能够馈入加上回合密钥预测电路1150。在中间回合(例如使用256比特密钥的第1至第13回合),控制器870可使用控制信号R_sel驱动体内奇偶校验比特产生电路1110从数据寄存器912获取16字节的中间加密结果S’,并且控制复用器1140将输入端I1连接上输出端O,使得从混合列预测电路1130的输出所接收到的相应于中间加密结果S’的16比特的体内奇偶校验码能够馈入加上回合密钥预测电路1150。在最终回合(例如使用256比特密钥的第14回合),控制器870可使用控制信号R_sel驱动体内奇偶校验比特产生电路1110从数据寄存器912获取16字节的中间加密结果S’,并且控制复用器1140将输入端I2连接上输出端O,使得从位移行预测电路1120的输出所接收到的相应于中间加密结果S’的16比特的体内奇偶校验码能够馈入加上回合密钥预测电路1150。
参考图12所示的体内奇偶校验比特产生电路1110的框图。控制器870可在每个回合发出选择信号R_sel给复用器1210,用于控制流经指定电路的数据流。复用器1210包含两个输入端I0及I1和一个输出端O。详细来说,在初始回合,控制器870可使用控制信号R_sel控制复用器1210将输入端I0连接上输出端O,使得从AES编码器137的输入引脚所接收到的16字节的明文S能够馈入加上体内互斥或门1230。在中间和最终回合(例如使用256比特密钥的第1至第14回合),控制器870可使用控制信号R_sel控制复用器1210将输入端I1连接上输出端O,使得从数据寄存器912获取16字节的中间加密结果S’能够馈入体内互斥或门1230。体内互斥或门1230包含多个互斥或门,安排以依据接收到的16字节的明文S或者中间加密结果S’,产生如图6所示的体内奇偶校验比特P0至P15
参考回图11,明文S或中间加密结果S’组织为4×4个体的数组。位移行电路1160用于将下面三行的每一者向左循环位移指定步数。举例来说,明文S表示如下:
位移行电路1160用于将第一行向左循环位移一个体,将第二行向左循环位移两个体,以及将第三行向左循环位移三个体。位移结果如下所示:
相应于明文S或中间加密结果S’的体内奇偶校验字节织为4×4个比特的数组。位移行预测电路1120用于将下面三行的每一者向左循环位移指定步数。举例来说,相应于明文S的体内奇偶校验比特表示如下:
位移行预测电路1120用于将第一行向左循环位移一个比特,将第二行向左循环位移两个比特,以及将第三行向左循环位移三个比特。位移结果如下所示:
混合列预测电路1130耦接位移行预测电路1120和位移行电路1160的输出,使用所属技术领域人员所习知的16个公式,每个公式加总位移后的明文S或中间加密结果S’的4×4字节数组以及位移后的体内奇偶校验比特的4×4比特数组中指定部分的值,产生混合后的体内奇偶校验比特的矩阵中的指定的值。
加上回合密钥预测电路1150使用以下公式计算体内奇偶校验比特的加密后结果:
P(out) i=P(in) i+Ri
P(out) i代表输出的第i个体的体内奇偶校验比特,P(in) i代表输入的第i个体的体内奇偶校验比特,Ri代表第i个小钥内奇偶校验比特,i为从0至15的任意整数。需要注意的是,此时P(in) i和P(out) i所对应到的矩阵中的位置指的是混合列预测电路1130所输出矩阵中的位置,不是对应到体内奇偶校验比特产生电路1110所输出矩阵中的位置。
参考图13所示的跨体奇偶校验9比特预测电路1030的框图。控制器870可在每个回合发出选择信号R_sel给跨体奇偶校验字节产生电路1310,用于控制跨体奇偶校验字节产生电路1310输入的数据流。详细来说,在初始回合,控制器870可使用控制信号R_sel驱动跨体奇偶校验字节产生电路1310从AES编码器137的输入引脚接收16字节的明文,使得跨体奇偶校验字节产生电路1310依据明文S的16字节产生跨体奇偶校验字节。在中间回合(例如使用256比特密钥的第1至第13回合)或者最终回合(例如使用256比特密钥的第14回合),控制器870可使用控制信号R_sel驱动跨体奇偶校验字节产生电路1310从数据寄存器912获取16字节的中间加密结果S’,使得跨体奇偶校验字节产生电路1310依据中间加密结果S’的16字节产生跨体奇偶校验字节。
跨体奇偶校验字节产生电路1310包含多个互斥或门,在初始回合安排以依据接收到的16字节的明文S,完成如图6所示的跨体奇偶校验字节(不包含相应于体内奇偶校验比特的第8比特)Q0,0..7至Q3,0..7。在中间回合或者最终回合安排以依据接收到的16字节的中间加密结果S’,并且使用以下公式计算跨体奇偶校验字节(不包含相应于体内奇偶校验比特的第8比特)Q0,0..7至Q3,0..7
Q0,j=S′0,j+S′5,j+S′10,j+S′15,j,for j=0~7
Q1,j=S′4,j+S′9,j+S′14,j+S′3,j,for j=0~7
Q2,j=S′8,j+S′13,j+S′2,j+S′7,j,for j=0~7
Q3,j=S′12,j+S′1,j+S′6,j+S′11,j,for j=0~7
Q0,j到Q3,j分别代表第0个到第3个跨体奇偶校验字节的第j个比特的值,S’0,j到S’15,j分别代表相应于第0个到第15个中间加密结果中的第j个比特的值。
跨小钥奇偶校验字节分割电路(Across-subkey Parity-byte Split Circuitry)1330移除每个跨小钥奇偶校验9比特的第8个比特,成为跨小钥奇偶校验字节,并且将跨小钥奇偶校验字节馈入跨体奇偶校验字节预测电路1350。
跨体奇偶校验字节预测电路1350使用以下公式计算每个跨体奇偶校验字节的预测结果:
Q(out) 0,j代表输出的第0个跨体奇偶校验字节的第j个比特的值,Q(out) 1,j代表输出的第1个跨体奇偶校验字节的第j个比特的值,Q(out) 2,j代表输出的第2个跨体奇偶校验字节的第j个比特的值,Q(out) 3,j代表输出的第3个跨体奇偶校验字节的第j个比特的值,Q(in) i,j代表输入的第i个跨体奇偶校验字节的第j个比特的值,Vi,j代表第i个跨小钥奇偶校验字节中的第j个比特的值。
跨体奇偶校验1比特预测电路1370使用以下公式计算每个跨体奇偶校验9比特的第8个比特的预测结果:
Q0,8代表第0个列的跨体奇偶校验9比特的第8个比特的值,Q1,8代表第1个列的跨体奇偶校验9比特的第8个比特的值,Q2,8代表第2个列的跨体奇偶校验9比特的第8个比特的值,Q3,8代表第3个列的跨体奇偶校验9比特的第8个比特的值,Pi,8代表相应于第i个体的体内奇偶校验比特(也就是第8个比特)的值。
跨体奇偶校验9比特合并电路(Across-state Parity-9-bit ConcatenationCircuitry)1390将每个从跨体奇偶校验字节预测电路1350输出的跨体奇偶校验字节,附加上从跨体奇偶校验1比特预测电路1370输出的相应第8个比特,成为完整的跨体奇偶校验9比特。
参考回图9,奇偶校验检查电路(Parity Check Circuitry)960检查上一回合的执行结果是否发生错误。奇偶校验检查电路960从数据寄存器912获取中间加密结果S’,以及从奇偶校验码寄存器914获取相应于中间加密结果S’的体内奇偶校验比特P和跨体奇偶校验9比特Q。奇偶校验检查电路960判断中间的加密结果S’和体内奇偶校验比特P之间是否匹配,如果不匹配,则发出线性错误信号err_L=1给处理单元134,使得处理单元134执行任何因应AES加密错误的管理程序。奇偶校验检查电路960还判断中间的加密结果S’、中间的体内奇偶校验比特P和跨体奇偶校验9比特Q之间是否匹配,如果不匹配,则发出线性错误信号err_L=1给处理单元134。
增强型替代字节电路(Enhanced Substitute-byte Circuitry)920除了完成算法中的替代字节步骤S310之外,也要检查此步骤的执行结果是否正确。参考图14所示的增强型替代字节电路920的框图。跨体奇偶校验字节分割电路1410从数据寄存器912获取128比特的中间结果S’,切分为16个字节,并且将这16个字节分别馈入增强型查表电路1430#0至1430#15。增强型查表电路1430#0至1430#15中的每一个完成替代字节步骤S310,并且判断此操作是否正确。如果增强型查表电路1430#0至1430#15中的任何一个发现此操作错误,则输出非线性错误信号err_nl_i=1,i为0到15的正整数。只要任何一个增强型查表电路输出非线性错误信号err_nl_i,则增强型替代字节电路920输出非线性错误信号err_nL=1给处理单元134,使得处理单元134执行任何因应AES加密错误的管理程序。跨体奇偶校验字节合并电路1450搜集增强型查表电路1430#0至1430#15的查表结果,并且将转换后的128比特输出到位移行电路930。
在一些实施例中,参考图15所示的增强型查表电路1430#i的框图,i为0到15的正整数。搜索电路1510依据如上所述的查找表将输入的1个字节S’(in)转换出1个字节S’(out)。替代校验电路(Substitution Check Circuitry)1530从搜索电路1510接收转换后的1个字节S’(out),并且使用相应于查找表的公式判断S’(in)转换到S’(out)的过程中是否发生错误。如果发现错误,则替代校验电路1530输出非线性错误信号err_nl_i=1。
参考图16所示的替代校验电路1530的框图。计算电路1610从搜索电路1510获取转换后的字节S’(out) i,计算Affine(S’(out))-1,Affine()-1代表Affine转换的反函数,并且将计算结果输出到乘法器1630和比较器1650。乘法器1630将S’(in)乘上Affine(S’(out))-1以产生S’(mul)。比较器1650实施以下逻辑表达式来产生判断结果:
err_nl_i=0,if(S’(mul)==1)&&(S’(in) i!=0)&&(Affine(S’(out))-1!=0)
err_nl_i=0,if(S’(mul)==0)&&(S’(in) i==0)&&(Affine(S’(out))-1==0)
err_nl_i=1,otherwise
当err_nl_i等于1时,代表发生非线性错误信号。
在另一些实施例中,步驟S310可以使用8转K比特查找表(8-to-KS-box),将每个體的值替换为另一个值,其中,K为10到15之间的正整数。查找表中的每个单元格(Cell)的最高8比特使用以下公式建立:
SBi=Affine((i)-1)
SBi代表i的输出结果,Affine()代表Affine转换函数,i为从0到127的正整数。查找表中的每个单元格的其他比特为汉明奇偶校验码(Hamming Parity),這K-8个比特依据相应最高8比特分別使用K-8个不同的公式來產生。參考图22所示的增強型查表电路1430#i的框图,i为0到15的正整数。舉例來說,搜索电路2210依据8转14比特查找表将输入的1个字节S’(in)转换出1个字节S’(out)和6个比特的汉明奇偶校验码Hm。替代校验电路2230从搜索电路2210接收转换後的1个字节S’(out)和6个比特的汉明奇偶校验码Hm,並且使用相应于查找表的6个公式判断S’(in)转换到S’(out)的过程中是否发生错误。如果发現错误,則替代校验电路1530输出非線性错误信号err_nl_i=1。
以下舉兩个示例來說明替代校验电路2230的運行。在第一个示例中,參考图23所示的8转14比特查找表2300。为了方便說明,8转14比特查找表2300中的每个单元格包含4个16进位数字,但是第1至第0比特为虛假值,永遠为“0b00”。實際運行时,搜索电路2210只會转出14比特的结果。舉例來說,理論上,搜索电路2210根据8转14比特查找表2300,會将字节S’(in)“0b00000000”转换为14比特“0b01100011010111”(图23中的16进位表示为“0x635C”),将字节S’(in)“0b00000001”转换为14比特“0b01111100110001”(图23中的16进位表示为“0x7CC8”),依此類推,其中,转换後的第13至第6比特为最高字节,相符于如上所述的公式,转换後的第5至第0比特为汉明奇偶校验码。如果转换的过程中发生错误,替代校验电路2230发現转换後的最高字节(也就是第13至第6比特)S’(out)和转换後的第5至第0比特的汉明奇偶校验码Hm之间不匹配。
因应图23的8转14比特查找表2300,替代校验电路2230可依据转换後的最高字节S’(out),使用以下6个公式分別对汉明奇偶校验码Hm中的6个比特进行检查:
Hm5==S’(out) 7+S’(out) 6+S’(out) 5+S’(out) 4+S’(out) 3+S’(out) 2+S’(out) 1+S’(out) 0
Hm4==S’(out) 7+S’(out) 4+S’(out) 0
Hm3==S’(out) 6+S’(out) 5+S’(out) 1+S’(out) 0
Hm2==S’(out) 4+S’(out) 2+S’(out) 1
Hm1==S’(out) 5+S’(out) 3+S’(out) 2
Hm0==S’(out) 7+S’(out) 6+S’(out) 3
其中,Hm5至Hm0分別代表汉明奇偶校验码中的第5至第0个比特,S’(out) 7至S’(out) 0分別代表转换後的最高字节的第7至第0个比特。当替代校验电路2230侦测到任何一个或以上的公式不成立时,判定转换後的最高字节S’(out)和转换後的汉明奇偶校验码Hm之间不匹配,发現错误。
在第二个示例中,參考图24所示的8转14比特查找表2400。为了方便說明,8转14比特查找表2400中的每个单元格包含4个16进位数字,但是第1至第0比特为虛假值,永遠为“0b00”。同樣的,實際運行时,搜索电路2210只會转出14比特的结果。舉例來說,理論上,搜索电路2210根据8转14比特查找表2400,會将字节S’(in)“0b00000000”转换为14比特“0b01100011011000”(图24中的16进位表示为“0x6360”),将字节S’(in)“0b00000001”转换为14比特“0b01111100110001”(图24中的16进位表示为“0x7CC8”),依此類推,其中,转换後的第13至第6比特同樣相符于如上所述的公式,转换後的第5至第0比特为汉明奇偶校验码。如果转换的过程中发生错误,替代校验电路2230发現转换後的最高字节(也就是第13至第6比特)S’(out)和转换後的第5至第0比特的汉明奇偶校验码Hm之间不匹配。
因应图24的8转14比特查找表2400,替代校验电路2230可依据转换後的最高字节S’(out),使用以下6个公式分別对汉明奇偶校验码Hm中的6个比特进行检查:
Hm5==S’(out) 7+S’(out) 6+S’(out) 5+S’(out) 4+S’(out) 3+S’(out) 2+S’(out) 1+S’(out) 0
Hm4==S’(out) 7+S’(out) 4+S’(out) 0
Hm3==S’(out) 5+S’(out) 2+S’(out) 1+S’(out) 0
Hm2==S’(out) 6+S’(out) 4+S’(out) 1
Hm1==S’(out) 6+S’(out) 5+S’(out) 3
Hm0==S’(out) 7+S’(out) 3+S’(out) 2
其中,Hm5至Hm0分別代表汉明奇偶校验码中的第5至第0个比特,S’(out) 7至S’(out) 0分別代表转换後的最高字节的第7至第0个比特。当替代校验电路2230侦测到任何一个或以上的公式不成立时,判定转换後的最高字节S’(out)和转换後的汉明奇偶校验码Hm之间不匹配,发現错误。
数据寄存器912、搜索电路1510、位移行电路930、混合列电路940、复用器980和加上回合密钥电路950可视为AES编码电路。奇偶校验码寄存器914、替代校验电路1530、奇偶校验检查电路960和奇偶校验预测电路970可视为错误检查电路。
参考图17所示的AES密钥调度电路830的框图。密钥分割电路1750将256比特的基础密钥K0切分为2个密钥K#0和K#1,每个钥字的长度为128比特,相同于一个体的长度。密钥奇偶校验码产生电路(Key Parity Generation Circuitry)1742包含多个互斥或门,安排以依据接收到的密钥K#0,产生如图7所示的小钥内奇偶校验比特R0至R15(可统称为R#0),以及跨小钥奇偶校验9比特V0至V3(可统称为V#0),并且将小钥内奇偶校验比特R#0和跨小钥奇偶校验9比特V#0存储到寄存器1752。密钥奇偶校验码产生电路1744包含多个互斥或门,安排以依据接收到的密钥K#1,产生如图7所示的小钥内奇偶校验比特R16至R31(可统称为R#1),以及跨小钥奇偶校验9比特V4至V7(可统称为V#1),并且将小钥内奇偶校验比特R#1和跨小钥奇偶校验9比特V#1存储到寄存器1754。寄存器1752和1754又可称为目前周期奇偶校验寄存器(Current Cycle Parity Registers)。
密钥奇偶校验检查电路(Key Parity Check Circuitry)1762和1764分别检查密钥K#0和K#1的产生是否发生错误。密钥奇偶校验检查电路1762从密钥分割电路1750获取密钥K#0,以及从寄存器1752获取相应于密钥K#0的小钥内奇偶校验比特R#0和跨小钥奇偶校验9比特V#0。密钥奇偶校验检查电路1762判断密钥K#0和小钥内奇偶校验比特R#0之间是否匹配,如果不匹配,则发出密钥错误信号err_kc=1。密钥奇偶校验检查电路1762还判断密钥K#0、小钥内奇偶校验比特R#0和跨小钥奇偶校验9比特V#0之间是否匹配,如果不匹配,则发出密钥错误信号err_kc=1。密钥奇偶校验检查电路1764从密钥分割电路1750获取密钥K#1,以及从寄存器1754获取相应于密钥K#1的小钥内奇偶校验比特R#1和跨小钥奇偶校验9比特V#1。密钥奇偶校验检查电路1764判断密钥K#1和小钥内奇偶校验比特R#1之间是否匹配,如果不匹配,则发出密钥错误信号err_kd=1。密钥奇偶校验检查电路1764还判断密钥K#1、小钥内奇偶校验比特R#1和跨小钥奇偶校验9比特V#1之间是否匹配,如果不匹配,则发出密钥错误信号err_kd=1。密钥错误信号err_kc=1或者err_kd=1可触发处理单元134执行任何因应AES密钥错误的管理程序。
密钥分割电路1710将256比特的基础密钥K0切分为8个钥字(Word)W0,0至W0,3和W1,0至W1,3,每个钥字的长度为4个字节,并且将8个钥字存储在寄存器1712。钥字处理电路1720根据最后一个钥字W1,3产生一个钥字的中间运算结果,此运算结果被用于和第一个钥字W0,0进行逐比特逻辑互斥或运算(Bitwise Logical XOR Operation),以产生密钥K#2的第一个钥字W2,0。除了产生中间运算结果以外,钥字处理电路1720还可以检查中间运算结果的产生过程是否发生错误。如果是,则钥字处理电路1720输出密钥错误信号err_ka=1。密钥错误信号err_ka=1可触发处理单元134执行任何因应AES密钥错误的管理程序。
参考图18所示的钥字处理电路1720的框图。钥字分割电路1810从寄存器1712读取最后一个钥字W1,3,并且切分为4个小钥,每个小钥为1字节。旋转钥字电路(Rotate-WordCircuitry)1820将这4个小钥向左循环位移1个小钥。替代钥字电路(Substitute-WordCircuitry)1830根据查找表(又可称为Rijndael S-box)将每个位移后小钥的值替换为另一个值,其中的查找表使用以下公式建立:
SBi=Affine((i)-1),for i=0~127
SBi代表i的输出结果,Affine()代表Affine转换函数,i为从0到127的正整数。替代钥字电路1830除了完成每个输入字节的值的转换之外,也要检查转换的执行结果是否正确。
参考图19所示的替代钥字电路1830的框图。增强型查表电路1930#0至1930#3中的每一个完成相应字节的值的替换操作,并且判断此操作是否正确。如果增强型查表电路1930#0至1930#3中的任何一个发现此操作错误,则输出查表错误信号err_w_i=1,i为0到3的正整数。只要任何一个增强型查表电路输出查表错误信号err_w_i,则替代钥字电路1830输出密钥错误信号err_ka=1给处理单元134,使得处理单元134执行任何因应AES加密错误的管理程序。由于增强型查表电路1930#0至1930#3中的任一个的电路结构、功能和操作细节类似于增强型查表电路1430#i,所以读者可参考图15和图16的描述,为求简明不再赘述。
参考回图18,舍去常数电路(Round-Constant Circuitry)1840将钥字w#0(in)和常数C执行逐比特互斥或(XOR)操作。参考图20所示的舍去常数电路1840的示意图。XOR闸2010设置将钥字w#0(in)的每个比特和常数C的相应比特执行逻辑互斥或操作。
钥字合并电路(Word Concatenation Circuitry)1850从舍去常数电路1840获取4个小钥w#0至w#3,合并小钥w#0至w#3为完整的钥字W(out),并且输出钥字W(out)至互斥或门1725。
钥字奇偶校验产生电路(Word Parity Generation Circuitry)1860包含小钥内奇偶校验产生电路和跨小钥奇偶校验产生电路。小钥内奇偶校验产生电路包含多个互斥或门,安排以依据从替代钥字电路1830接收到的小钥w#0至w#3,产生4个小钥内奇偶校验比特rt10至rt13。跨小钥奇偶校验产生电路包含多个互斥或门,安排以依据从替代钥字电路1830接收到的小钥w#0至w#3,产生1个跨小钥奇偶校验字节vt10..7
钥字奇偶校验预测电路(Word Parity Prediction Circuitry)1870包含小钥内奇偶校验预测电路和跨小钥奇偶校验预测电路。小钥内奇偶校验预测电路使用以下公式预测小钥内奇偶校验码rt10 (out),并且输出到钥字跨奇偶校验预测电路(Word Cross-parityPrediction Circuit)1880和密钥奇偶校验预测电路(Key Parity Prediction Circuit)1772:
rt10 (out)代表计算后的第0个小钥内奇偶校验码,rt10 (in)代表从钥字奇偶校验产生电路1860接收到的第0个小钥内奇偶校验码,Ci代表舍去常数电路1840中使用的常数C中的第i个比特。此外,小钥内奇偶校验预测电路直接输出从钥字奇偶校验产生电路1860接收到的小钥内奇偶校验码rt11至rt13到钥字跨奇偶校验预测电路1880和密钥奇偶校验预测电路1772。跨小钥奇偶校验预测电路使用以下公式预测跨小钥奇偶校验字节,并且输出到钥字奇偶校验9比特合并电路(Word Parity 9-bit Concatenation Circuit)1890:
vt10..7 (out)=vt10..7 (in)+C
vt10..7 (out)代表输出的跨小钥奇偶校验字节,vt10..7 (in)代表从钥字奇偶校验产生电路1860接收到的跨小钥奇偶校验字节,C代表舍去常数电路1840中使用的常数。
钥字跨奇偶校验预测电路1880使用以下公式计算跨小钥奇偶校验9比特vt的最后一个比特:
vt18代表跨小钥奇偶校验9比特vt的最后一个比特,rt1i代表第i个小钥内奇偶校验比特。
钥字奇偶校验9比特合并电路1890将钥字奇偶校验预测电路1870的计算结果vt10..7合并上钥字跨奇偶校验预测电路1880的计算结果vt18,成为跨钥字奇偶校验9比特vt10..8,并且输出到密钥奇偶校验电路1772。
参考回图17,钥字处理电路1730根据互斥或门1727的运算结果(也就是钥字W2,3)产生一个钥字的中间运算结果,此运算结果被用于和钥字W1,0进行逐比特逻辑互斥或运算,以产生密钥K#3的第一个钥字W3,0。除了产生中间运算结果以外,钥字处理电路1730还可以检查中间运算结果的产生过程是否发生错误。如果是,则钥字处理电路1730输出密钥错误信号err_kb=1。密钥错误信号err_kb=1可触发处理单元134执行任何因应AES密钥错误的管理程序。
参考图21所示的钥字处理电路1730的框图。钥字分割电路2110从互斥或门1727读取运算结果(也就是钥字W2,3),并且切分为4个字节。替代钥字电路2130根据查找表将每个字节的值替换为另一个值,其中的查找表使用以下公式建立:
SBi=Affine((i)-1),for i=0~127
SBi代表i的输出结果,Affine()代表Affine转换函数,i为从0到127的正整数。替代钥字电路2130除了完成每个输入字节的值的转换之外,也要检查转换的执行结果是否正确。由于替代钥字电路2130的电路结构、功能和运算结果类似于替代钥字电路1830,所以读者可参考图15、图16、图19和图22的描述,为求简明不再赘述。只要替代钥字电路2130中的任何一个增强型查表电路输出查表错误信号err_w_i,则替代钥字电路2130输出密钥错误信号err_kb=1给处理单元134,使得处理单元134执行任何因应AES加密错误的管理程序。
钥字合并电路2150从替代钥字电路2130获取替代后的4个小钥w#0至w#3,合并小钥w#0至w#3为完整的钥字W(out),并且输出钥字W(out)至互斥或门1729。
钥字奇偶校验产生电路2160包含小钥内奇偶校验产生电路和跨小钥奇偶校验产生电路。小钥内奇偶校验产生电路包含多个互斥或门,安排以依据从替代钥字电路2130接收到的小钥w#0至w#3,产生相应于小钥w#0至w#3的四个小钥内奇偶校验比特rt20至rt23。这四个小钥内奇偶校验比特rt20至rt23输出至钥字跨奇偶校验预测电路2180和密钥奇偶校验预测电路1774。跨小钥奇偶校验产生电路包含多个互斥或门,安排以依据从替代钥字电路2130接收到的小钥w#0至w#3,产生相应于小钥w#0至w#3的一个跨小钥奇偶校验字节vt20..7(也就是缺少跨小钥奇偶校验9比特vt2中的第8个比特)。这个跨小钥奇偶校验字节vt20..7输出至钥字奇偶校验9比特合并电路2190。
钥字跨奇偶校验预测电路2180使用以下公式计算相应于小钥w#0至w#3的跨小钥奇偶校验9比特的最后一个比特:
vt28代表相应于小钥w#0至w#3的一个跨小钥奇偶校验字节的最后一个比特,rt2i代表相应于小钥w#i的小钥内奇偶校验比特。
钥字奇偶校验9比特合并电路2190将钥字奇偶校验产生电路2160的计算结果vt20..7合并上钥字跨奇偶校验预测电路2180的计算结果vt28,作为跨钥字奇偶校验9比特vt20..8,并且输出到密钥奇偶校验预测电路1774。
参考回图17,密钥奇偶校验预测电路(Key Parity Prediction Circuitry)1772包含多个加法器,安排以使用以下公式计算出相应于密钥K#2的小钥内奇偶校验比特R#20至R#215
R#2i=rt1i+R#0i,for i=0~3
R#2i=R#0i-4+R#0i,for i=4~15
R#2i代表相应于密钥K#2的第i个小钥内奇偶校验比特,rt1i代表从钥字处理电路1720获取的第i个小钥内奇偶校验比特,R#0i代表从寄存器1752读取的相应于密钥K#0的第i个小钥内奇偶校验比特,R#0i-4代表从寄存器1752读取的相应于密钥K#0的第i-4个小钥内奇偶校验比特。密钥奇偶校验预测电路1772另包含多个加法器,安排以使用以下公式计算出相应于密钥K#2的跨小钥奇偶校验9比特V#20至V#23
V#2i=vt1+V#0i,for i=0
V#2i=V#0i-1+V#0i,for i=1~3
V#2i代表相应于密钥K#2的第i个跨小钥奇偶校验9比特,vt1代表从钥字处理电路1720获取的跨小钥奇偶校验9比特,V#0i代表从寄存器1752读取的相应于密钥K#0的第i个跨小钥奇偶校验9比特,V#0i-1代表从寄存器1752读取的相应于密钥K#0的第i-1个跨小钥奇偶校验9比特。密钥奇偶校验预测电路1772将预测结果R#2、V#2存储到寄存器1782,用于在下一个迭代中让密钥奇偶校验检查电路1762进行检查。
密钥奇偶校验预测电路1774包含多个加法器,安排以使用以下公式计算出相应于密钥K#3的小钥内奇偶校验比特R#30至R#315
R#3i=rt2i+R#1i,for i=0~3
R#3i=R#1i-4+R#1i,for i=4~15
R#3i代表相应于密钥K#3的第i个小钥内奇偶校验比特,rt2i代表从钥字处理电路1730获取的第i个小钥内奇偶校验比特,R#1i代表从寄存器1754读取的相应于密钥K#1的第i个小钥内奇偶校验比特,R#1i-4代表从寄存器1754读取的相应于密钥K#1的第i-4个小钥内奇偶校验比特。密钥奇偶校验预测电路1774另包含多个加法器,安排以使用以下公式计算出相应于密钥K#3的跨小钥奇偶校验9比特V#30至V#33
V#3i=vt2+V#1i,for i=0
V#3i=V#1i-1+V#1i,for i=1~3
V#3i代表相应于密钥K#3的第i个跨小钥奇偶校验9比特,vt2代表从钥字处理电路1730获取的跨小钥奇偶校验9比特,V#1i代表从寄存器1754读取的相应于密钥K#1的第i个跨小钥奇偶校验9比特,V#1i-1代表从寄存器1752读取的相应于密钥K#1的第i-1个跨小钥奇偶校验9比特。密钥奇偶校验预测电路1774将预测结果R#3、V#3存储到寄存器1784,用于在下一个迭代中让密钥奇偶校验预测电路1764进行检查。
虽然图17只描述了密钥K#2和K#3的产生及其产生过程的错误侦测,但是因为密钥K#2和K#3就是产生密钥K#4和K#5时所使用的密钥(也就是下一个迭代所使用的密钥),依此类推,所属技术领域人员可参考以上的技术内容推导出其他回合密钥的产生及其产生过程的错误侦测。
在一些实施例中,寄存器1712和1714可为物理上不同的寄存器。在另一些实施例中,寄存器1712和1714可指相同寄存器,但在指定的时间顺序上依序存储基础密钥和后续产生的回合密钥。
在一些实施例中,寄存器1752和1782可为物理上不同的寄存器。在另一些实施例中,寄存器1752和1782可指相同寄存器,但在指定的时间顺序上依序存储第一个小钥内奇偶校验比特R#0和跨小钥奇偶校验9比特V#0,以及后续产生的小钥内奇偶校验比特和跨小钥奇偶校验9比特。
在一些实施例中,寄存器1754和1784可为物理上不同的寄存器。在另一些实施例中,寄存器1754和1784可指相同寄存器,但在指定的时间顺序上依序存储第一个小钥内奇偶校验比特R#1和跨小钥奇偶校验9比特V#1,以及后续产生的小钥内奇偶校验比特和跨小钥奇偶校验9比特。
虽然图1至图2、图5、图8至图22中包含了以上描述的组件,但不排除在不违反发明的精神下,使用更多其他的附加组件,以达成更佳的技术效果。
以上所述仅为本发明优选实施例,然其并非用以限定本发明的范围,任何本领域技术人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。

Claims (12)

1.一种数据加密的错误侦测装置,其特征在于,包括:
搜索电路,设置以依据8转K比特查找表将输入的相应于明文或者中间加密结果的1个字节的第一值转换为K比特的第二值,其中,K为10到15之间的正整數,以及所述第二值包含K-8个比特的汉明奇偶校验码;以及
替代校验电路,耦接所述搜索电路,设置以使用相应于所述8转K比特查找表的公式,判断所述第一值转换为所述第二值的过程中是否发生错误,以及当发現错误时,发出错误信号,其中,所述公式的數目为K-8。
2.如权利要求1所述的数据加密的错误侦测装置,其特征在于,所述8转K比特查找表中的每个单元格中的最高8比特使用以下公式建立:
SBi=Affine((i)-1)
SBi代表i的输出结果,Affine()代表Affine转换函數,i为从0到127的正整數。
3.如权利要求1所述的数据加密的错误侦测装置,其特征在于,K为14。
4.如权利要求3所述的数据加密的错误侦测装置,其特征在于,所述替代校验电路,设置以依据所述第二值中的最高字节使用以下6个公式对所述第二值中的所述汉明奇偶校验码进行检查:
Hm5==S’(out) 7+S’(out) 6+S’(out) 5+S’(out) 4+S’(out) 3+S’(out) 2+S’(out) 1+S’(out) 0
Hm4==S’(out) 7+S’(out) 4+S’(out) 0
Hm3==S’(out) 6+S’(out) 5+S’(out) 1+S’(out) 0
Hm2==S’(out) 4+S’(out) 2+S’(out) 1
Hm1==S’(out) 5+S’(out) 3+S’(out) 2
Hm0==S’(out) 7+S’(out) 6+S’(out) 3
其中,Hm5至Hm0分別代表所述汉明奇偶校验码中的第5至第0个比特,S’(out) 7至S’(out) 0分別代表所述第二值中的所述最高字节的第7至第0个比特;以及
当侦测到任何一个或以上的所述公式不成立时,发出所述错误信号。
5.如权利要求3所述的数据加密的错误侦测装置,其特征在于,所述替代校验电路,设置以依据所述第二值中的最高字节使用以下6个公式对所述第二值中的所述汉明奇偶校验码进行检查:
Hm5==S’(out) 7+S’(out) 6+S’(out) 5+S’(out) 4+S’(out) 3+S’(out) 2+S’(out) 1+S’(out) 0
Hm4==S’(out) 7+S’(out) 4+S’(out) 0
Hm3==S’(out) 5+S’(out) 2+S’(out) 1+S’(out) 0
Hm2==S’(out) 6+S’(out) 4+S’(out) 1
Hm1==S’(out) 6+S’(out) 5+S’(out) 3
Hm0==S’(out) 7+S’(out) 3+S’(out) 2
其中,Hm5至Hm0分別代表所述汉明奇偶校验码中的第5至第0个比特,S’(out) 7至S’(out) 0分別代表所述第二值中的所述最高字节的第7至第0个比特;以及
当侦测到任何一个或以上的所述公式不成立时,发出所述错误信号。
6.如权利要求1所述的数据加密的错误侦测装置,其特征在于,所述搜索电路设置以完成高级加密标准算法中的替代字节操作。
7.一种数据加密的错误侦测装置,其特征在于,包括:
搜索电路,设置以依据8转K比特查找表将输入的相应于回合密钥的1个字节的第一值转换为K比特的第二值,其中,K为10到15之间的正整數,以及所述第二值包含K-8个比特的汉明奇偶校验码;以及
替代校验电路,耦接所述搜索电路,设置以使用相应于所述8转K比特查找表的公式,判断所述第一值转换为所述第二值的过程中是否发生错误,以及当发現错误时,发出错误信号,其中,所述公式的数目为K-8。
8.如权利要求7所述的数据加密的错误侦测装置,其特征在于,所述8转K比特查找表中的每个单元格中的最高8比特使用以下公式建立:
SBi=Affine((i)-1)
SBi代表i的输出结果,Affine()代表Affine转换函数,i为从0到127的正整数。
9.如权利要求7所述的数据加密的错误侦测装置,其特征在于,K为14。
10.如权利要求9所述的数据加密的错误侦测装置,其特征在于,所述替代校验电路,设置以依据所述第二值中的最高字节使用以下6个公式对所述第二值中的所述汉明奇偶校验码进行检查:
Hm5==S’(out) 7+S’(out) 6+S’(out) 5+S’(out) 4+S’(out) 3+S’(out) 2+S’(out) 1+S’(out) 0
Hm4==S’(out) 7+S’(out) 4+S’(out) 0
Hm3==S’(out) 6+S’(out) 5+S’(out) 1+S’(out) 0
Hm2==S’(out) 4+S’(out) 2+S’(out) 1
Hm1==S’(out) 5+S’(out) 3+S’(out) 2
Hm0==S’(out) 7+S’(out) 6+S’(out) 3
其中,Hm5至Hm0分別代表所述汉明奇偶校验码中的第5至第0个比特,S’(out) 7至S’(out) 0分別代表所述第二值中的所述最高字节的第7至第0个比特;以及
当侦测到任何一个或以上的所述公式不成立时,发出所述错误信号。
11.如权利要求9所述的数据加密的错误侦测装置,其特征在于,所述替代校验电路,设置以依据所述第二值中的最高字节使用以下6个公式对所述第二值中的所述汉明奇偶校验码进行检查:
Hm5==S’(out) 7+S’(out) 6+S’(out) 5+S’(out) 4+S’(out) 3+S’(out) 2+S’(out) 1+S’(out) 0
Hm4==S’(out) 7+S’(out) 4+S’(out) 0
Hm3==S’(out) 5+S’(out) 2+S’(out) 1+S’(out) 0
Hm2==S’(out) 6+S’(out) 4+S’(out) 1
Hm1==S’(out) 6+S’(out) 5+S’(out) 3
Hm0==S’(out) 7+S’(out) 3+S’(out) 2
其中,Hm5至Hm0分別代表所述汉明奇偶校验码中的第5至第0个比特,S’(out) 7至S’(out) 0分別代表所述第二值中的所述最高字节的第7至第0个比特;以及
当侦测到任何一个或以上的所述公式不成立时,发出所述错误信号。
12.如权利要求7所述的数据加密的错误侦测装置,其特征在于,所述搜索电路设置以完成高级加密标准算法中的替代钥字操作。
CN202211367026.0A 2022-11-02 2022-11-02 数据加密的错误侦测装置 Pending CN117997797A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211367026.0A CN117997797A (zh) 2022-11-02 2022-11-02 数据加密的错误侦测装置
US18/203,305 US20240143791A1 (en) 2022-11-02 2023-05-30 Apparatus and method for detecting errors during data encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211367026.0A CN117997797A (zh) 2022-11-02 2022-11-02 数据加密的错误侦测装置

Publications (1)

Publication Number Publication Date
CN117997797A true CN117997797A (zh) 2024-05-07

Family

ID=90833804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211367026.0A Pending CN117997797A (zh) 2022-11-02 2022-11-02 数据加密的错误侦测装置

Country Status (2)

Country Link
US (1) US20240143791A1 (zh)
CN (1) CN117997797A (zh)

Also Published As

Publication number Publication date
US20240143791A1 (en) 2024-05-02

Similar Documents

Publication Publication Date Title
CN101149709B (zh) 存储卡的加密处理器和使用其进行数据读写的方法
US9407286B2 (en) Data compression apparatus, data compression method, and memory system including the data compression apparatus
TWI451434B (zh) 在記憶體控制器中之資料完整性及方法
US9348693B2 (en) Data accessing method for flash memory module
KR101990972B1 (ko) 메모리 시스템에서의 순환 중복 검사 동작 수행 방법 및 이를 이용한 메모리 컨트롤러
US8831229B2 (en) Key transport method, memory controller and memory storage apparatus
KR20100099961A (ko) 불휘발성 메모리 장치 및 그 동작 방법
US8935589B2 (en) Controller and data access method for flash memories
CN107680626B (zh) 用于改进闪存存储器存储延迟和鲁棒性的方法和设备
KR20100124087A (ko) 메모리 컨트롤러, 그것을 포함하는 메모리 시스템 그리고 그것의 동작 방법
US9672105B2 (en) Device and method for processing data using logical information and physical information
CN117997797A (zh) 数据加密的错误侦测装置
TWI835381B (zh) 資料加密的錯誤偵測裝置
TWI804439B (zh) 資料加密的錯誤偵測裝置及方法
TWI835601B (zh) 資料加密的回合密鑰擴展裝置及方法
TWI776351B (zh) 利用借助於進階加密標準處理電路之資料保護的資料存取方法、應用於記憶體裝置之記憶體控制器以及應用於記憶體裝置之記憶體控制器的進階加密標準處理電路
TW202420088A (zh) 資料加密的錯誤偵測裝置
US20230198754A1 (en) Apparatus and method for detecting errors during data encryption
US20230198755A1 (en) Apparatus and method for detecting errors during data encryption
US20230068302A1 (en) Memory device and method for data encryption/decryption of memory device
CN113704145B (zh) 加密和解密物理地址信息的方法及装置
CN113821380A (zh) 一种数据备份的方法和数据备份的装置
CN117331742A (zh) 低密度奇偶校检码的产生装置和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination