CN117375806A - 密码装置及其密码方法 - Google Patents
密码装置及其密码方法 Download PDFInfo
- Publication number
- CN117375806A CN117375806A CN202211360684.7A CN202211360684A CN117375806A CN 117375806 A CN117375806 A CN 117375806A CN 202211360684 A CN202211360684 A CN 202211360684A CN 117375806 A CN117375806 A CN 117375806A
- Authority
- CN
- China
- Prior art keywords
- memory address
- key
- transposition
- code
- logic
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000017105 transposition Effects 0.000 claims abstract description 88
- 238000010586 diagram Methods 0.000 description 16
- 101100385324 Arabidopsis thaliana CRA1 gene Proteins 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- -1 CRA2 Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开一种密码装置及其密码方法;其中,所述密码装置适用于存储器装置,包括判断单元、换位单元以及密码单元。判断单元判断存储器地址位于保护区域中而选择密钥以及随机数。换位单元根据密钥以及存储器地址,将二进制码进行换位而产生换位码。二进制码包括随机数以及存储器地址。密码单元根据密钥以及换位码,产生密钥流。本发明可以提供较佳的数据保护能力。
Description
技术领域
本发明有关于一种密码装置及其密码方法,特别有关于一种使用换位功能的密码装置及其密码方法。
背景技术
在密码学中,加密(英语:Encryption)一词是指将明文(plaintext)改变为难以理解的密文(ciphertext)而使保护其内容的过程。只有拥有解密方法的装置,通过解密过程,才能将密文还原为正常可读的内容。理想情况下,只有经授权的人员能够读取密文所要传达的信息。加密本身无法防止信息传输被截取,但能防止截取者理解信息的内容。
发明内容
本发明在此提出密码装置及其密码方法,用以在存储器控制装置对存储器阵列进行操作时,即时产生密钥流。相对计数器密码模式,本发明所提出的密码装置及其密码方法使用不同的输入数据编码方式,使得攻击者在建立功率分析模组方面也将面临更高困难度,进而提供较佳的数据保护能力。
本发明在此提出一种密码装置,适用于一存储器装置。上述密码装置包括一判断单元、一换位单元以及一密码单元。上述判断单元判断一存储器地址位于一保护区域中而选择一密钥以及一随机数。上述一换位单元根据上述密钥以及上述存储器地址,将一二进制码进行换位而产生一换位码,其中上述二进制码包括上述随机数以及上述存储器地址。上述密码单元根据上述密钥以及上述换位码,产生一密钥流。
根据本发明的一实施例,上述存储器装置包括一第一总线接口、一控制器以及一存储器阵列,其中当上述第一总线接口接收到上述存储器地址以及一操作指令时,上述第一总线接口将上述存储器地址发送至上述判断单元且将上述操作指令发送至上述控制器,使得上述控制器根据上述存储器地址以及上述操作指令读取上述存储器阵列的一加密读取数据及/或将一写入数据写入上述存储器阵列。当上述密码单元产生上述密钥流时,上述密码单元同时产生一有效信号,上述控制器根据上述有效信号,利用上述密钥流对上述加密读取数据进行解密以及对上述写入数据进行加密。
根据本发明的一实施例,密码装置更包括一暂存器、一第二总线接口以及一第一多工器。上述暂存器用以储存上述保护区域的存储器地址的起始地址以及结束地址以及对应上述保护区域的存储器地址的上述密钥以及上述随机数。一使用者通过上述第二总线接口设定储存于上述暂存器的对应上述保护区域的存储器地址的上述密钥以及上述随机数。上述第一多工器根据一判断信号,选择对应上述存储器地址的上述密钥以及上述随机数,其中当上述判断单元判断上述存储器地址位于上述保护区域时,上述判断单元产生上述判断信号。
根据本发明的一实施例,上述换位单元包括多个换位逻辑单元、一选择逻辑单元以及一第二多工器。上述多个换位逻辑单元的每一个具有一换位逻辑,且根据上述换位逻辑将上述二进制码进行换位而产生上述换位码,其中上述多个换位逻辑单元的每一个对应的上述换位逻辑为不同。上述选择逻辑单元根据上述密钥以及上述存储器地址而产生一选择码。上述第二多工器根据上述选择码,输出上述多个换位逻辑单元的对应的一个所产生的上述换位码。
根据本发明的一实施例,上述多个换位逻辑单元的一个根据上述换位逻辑,将上述二进制码至少划分为一第一部分以及一第二部分,并且调换上述第一部分以及上述第二部分的顺序而产生上述换位码。
根据本发明的一实施例,上述选择逻辑单元将上述密钥的每一位以及上述存储器地址的对应的位进行一加法运算而产生上述选择码。
根据本发明的另一实施例,上述选择逻辑单元将上述密钥的每一位以及上述存储器地址的对应的位进行一互斥或运算而产生上述选择码。
本发明更提出一种密码方法,适用于一存储器阵列。上述密码方法包括判断一存储器地址位于一保护区域中而选择一密钥以及一随机数;产生一二进制码,其中上述二进制码包括上述随机数以及上述存储器地址;根据上述密钥以及上述存储器地址将上述二进制码进行换位而产生一换位码;以及根据上述密钥以及上述换位码,产生一密钥流。
根据本发明的一实施例,密码方法更包括根据上述存储器地址以及一操作指令读取一存储器阵列的一加密读取数据及/或将一写入数据写入上述存储器阵列;以及利用上述密钥流对上述加密读取数据进行解密以及对上述写入数据进行加密。
根据本发明的一实施例,密码方法更包括将上述保护区域的存储器地址的起始地址以及结束地址以及对应上述保护区域的存储器地址的上述密钥以及上述随机数储存于一暂存器中,其中一使用者通过一总线接口设定储存于上述暂存器的对应上述保护区域的存储器地址的上述密钥以及上述随机数;以及当判断上述存储器地址位于上述保护区域时,自上述暂存器选择对应上述存储器地址的上述密钥以及上述随机数。
根据本发明的一实施例,上述根据上述密钥以及上述存储器地址将上述二进制码进行换位而产生上述换位码的步骤更包括根据上述密钥以及上述存储器地址而产生一选择码;根据上述选择码,选择一换位逻辑;以及基于上述换位逻辑将上述二进制码进行换位而产生上述换位码。
根据本发明的一实施例,上述基于上述换位逻辑将上述二进制码进行换位而产生上述换位码的步骤更包括将上述二进制码至少划分为一第一部分以及一第二部分;以及调换上述第一部分以及上述第二部分的顺序而产生上述换位码。
根据本发明的一实施例,上述根据上述密钥以及上述存储器地址而产生上述选择码的步骤更包括将上述密钥的每一位以及上述存储器地址的对应的位进行一加法运算而产生上述选择码。
根据本发明的另一实施例,上述根据上述密钥以及上述存储器地址而产生上述选择码的步骤更包括将上述密钥的每一位以及上述存储器地址的对应的位进行一互斥或运算而产生上述选择码。
附图说明
图1是显示根据本发明的一实施例所述的加密装置的方块图;
图2是显示根据本发明的一实施例所述的存储器地址与密钥以及随机数的对应表;
图3是显示根据本发明的另一实施例所述的加密装置的方块图;
图4是显示根据本发明的一实施例所述的换位单元的方块图;
图5是显示根据本发明的一实施例所述的换位逻辑的示意图;
图6是显示根据本发明的另一实施例所述的换位逻辑的示意图;
图7是显示根据本发明的另一实施例所述的换位逻辑的示意图;
图8是显示根据本发明的一实施例所述的选择逻辑单元的示意图;
图9是显示根据本发明的另一实施例所述的选择逻辑单元的示意图;
图10是显示根据本发明的一实施例所述的密码方法的流程图。
附图标记
100,300:加密装置
110,310:存储器控制装置
111:第一总线接口
112:控制器
113:缓冲器
114:第一逻辑门
115:第二逻辑门
120:存储器阵列
130,330:密码装置
131:暂存器
132,332:判断单元
133:第一多工器
134:密码单元
200:对应表
334:密码单元
335,400:换位单元
336:第二总线接口
410_1:第一换位逻辑单元
410_2:第二换位逻辑单元
410_M:第M换位逻辑单元
420:选择逻辑单元
430:多工器
500,600,700:换位逻辑
800:加法器
900:互斥或门
1000:密码方法
BUS:总线
INS:操作指令
WDATA:写入数据
RDATA:读取数据
ADDR:存储器地址
ADDR1:第一存储器地址
ADDR2:第二存储器地址
ADDRN:第N存储器地址
SADDR1:第一起始地址
EADDR1:第一结束地址
SADDR2:第二起始地址
EADDR2:第二结束地址
SADDRN:第N起始地址
EADDRN:第N结束地址
EWDATA:加密写入数据
ERDATA:加密读取数据
KEY:密钥
KEY1:第一密钥
KEY2:第二密钥
KEYN:第N密钥
KS:密钥流
EN:使能信号
DET:判断信号
NONCE:随机数
NONCE1:第一随机数
NONCE2:第二随机数
NONCEN:第N随机数
VALID:有效信号
L1:第一换位逻辑
L2:第二换位逻辑
LM:第M换位逻辑
CRA:换位码
CRA1:第一换位码
CRA2:第二换位码
CRAM:第M换位码
CSEL:选择码
CB:二进制码
CB[127:x],CB[31:0],CB[7:0]:第一部分
CB[(x-1):0],CB[63:32],CB[15:8]:第二部分
CB[95:64],CB[23:16]:第三部分
CB[127:96],CB[31:24]:第四部分
CB[39:32]:第五部分
CB[47:40]:第六部分
CB[55:48]:第七部分
CB[63:56]:第八部分
CB[71:64]:第九部分
CB[79:72]:第十部分
CB[87:80]:第十一部分
CB[95:88]:第十二部分
CB[103:96]:第十三部分
CB[111:104]:第十四部分
CB[119:112]:第十五部分
CB[127:120]:第十六部分
ADD:加法运算
XOR:互斥或运算
S110~S150:步骤流程
具体实施方式
以下说明为本发明的实施例。其目的是要举例说明本发明一般性的原则,不应视为本发明的限制,本发明的范围当以权利要求所界定者为准。
能理解的是,虽然在此可使用用语“第一”、“第二”、“第三”等来叙述各种元件、组成成分、区域、层、及/或部分,这些元件、组成成分、区域、层、及/或部分不应被这些用语限定,且这些用语仅是用来区别不同的元件、组成成分、区域、层、及/或部分。因此,以下讨论的一第一元件、组成成分、区域、层、及/或部分可在不偏离本申请一些实施例的教示的情况下被称为一第二元件、组成成分、区域、层、及/或部分。
值得注意的是,以下所揭露的内容可提供多个用以实践本发明的不同特点的实施例或范例。以下所述的特殊的元件范例与安排仅用以简单扼要地阐述本发明的精神,并非用以限定本发明的范围。此外,以下说明书可能在多个范例中重复使用相同的元件符号或文字。然而,重复使用的目的仅为了提供简化并清楚的说明,并非用以限定多个以下所讨论的实施例以及/或配置之间的关系。此外,以下说明书所述的一个特征连接至、耦接至以及/或形成于另一特征之上等的描述,实际可包含多个不同的实施例,包括该等特征直接接触,或者包含其它额外的特征形成于该等特征之间等等,使得该等特征并非直接接触。
图1是显示根据本发明的一实施例所述的加密装置的方块图。如图1所示,加密装置100包括存储器控制装置110以及存储器阵列120。存储器控制装置110包括第一总线接口111、控制器112、缓冲器113、第一逻辑门114、第二逻辑门115以及密码装置130。
第一总线接口111自总线BUS接收操作指令INS、写入数据WDATA以及存储器地址ADDR,并且第一总线接口111将操作指令INS以及存储器地址ADDR传送至控制器112,使得控制器112根据操作指令INS以及存储器地址ADDR而对存储器阵列120进行操作。
根据本发明的一实施例,当控制器112根据操作指令INS而对存储器阵列120进行写入操作时,第一逻辑门114将写入数据WDATA以及密钥流KS进行互斥或运算而产生加密写入数据EWDATA,并将加密写入数据EWDATA暂存于控制器112中的缓冲器113。接着,控制器112根据存储器地址ADDR,将暂存于缓冲器113的加密写入数据EWDATA写入存储器阵列120。
根据本发明的另一实施例,当控制器112根据操作指令INS而对存储器阵列120进行读取操作时,控制器112将自存储器阵列120的存储器地址ADDR的加密读取数据ERDATA暂存于缓冲器113中,并经由第二逻辑门115而将加密读取数据ERDATA以及密钥流KS进行互斥或逻辑运算而产生读取数据RDATA,并经第一总线接口111以及总线BUS传送至主机。
如图1所示,密码装置130包括暂存器131、判断单元132、第一多工器133以及密码单元134。暂存器131用以储存存储器阵列120的保护区域的多个存储器地址,并且储存保护区域的多个存储器地址的每一个所对应的密钥KEY以及随机数NONCE。
图2是显示根据本发明的一实施例所述的存储器地址与密钥以及随机数的对应表。对应表200是记录保护区域的存储器地址ADDR、密钥KEY以及随机数NONCE的对应关系。如图2的实施例所示,存储器阵列120的保护区域包括第一存储器地址ADDR1、第二存储器地址ADDR2…以及第N存储器地址ADDRN,其中第一存储器地址ADDR1包括第一起始地址SADDR1以及第一结束地址EADDR1,第二存储器地址ADDR2包括第二起始地址SADDR2以及第二结束地址EADDR2,第N存储器地址ADDRN包括第N起始地址SADDRN以及第N结束地址EADDRN。
换句话说,当对存储器阵列120的第一起始地址SADDR1以及第一结束地址EADDR1之间、第二起始地址SADDR2以及第二结束地址EADDR2之间、…以及第N起始地址SADDRN以及第N结束地址EADDRN之间的存储器地址进行读取操作以及写入操作时,须将加密读取数据ERDATA进行解密以及将写入数据WDATA进行加密。
如图2所示,第一存储器地址ADDR1、第二存储器地址ADDR2…以及第N存储器地址ADDRN的每一个皆具有对应的第一密钥KEY1、第二密钥KEY2、…以及第N密钥KEYN以及对应的第一随机数NONCE1、第二随机数NONCE2、…以及第N随机数NONCEN。根据本发明的一实施例,使用者可通过总线BUS以及第一总线接口111而设定保护区域的第一存储器地址ADDR1、第二存储器地址ADDR2、…以及第N存储器地址ADDRN,也可对暂存器131所储存的第一随机数NONCE1、第二随机数NONCE2、…以及第N随机数NONCEN进行设定。根据本发明的其他实施例,使用者可通过总线BUS以及第一总线接口111,对暂存器131所储存的第一密钥KEY1、第二密钥KEY2、…以及第N密钥KEYN进行设定。
回到图1,当判断单元132自第一总线接口111接收存储器地址ADDR时,判断单元132存取暂存器131所储存的对应表200,并判断存储器地址ADDR是否位于对应表200的第一存储器地址ADDR1、第二存储器地址ADDR2…以及第N存储器地址ADDRN的任一个之中,并将存储器地址ADDR提供至密码单元134。
根据本发明的一实施例,当判断单元132判断接收的存储器地址ADDR与对应表200的第二存储器地址ADDR2相符时,判断单元132产生判断信号DET,第一多工器133根据判断信号DET,选择对应第二存储器地址ADDR2的第二密钥KEY2以及第二随机数NONCE2而输出。
接着,密码单元134利用计数器密码模式(counter mode),根据第一多工器133所输出的密钥KEY以及随机数NONCE与判断单元132所提供的存储器地址ADDR而产生密钥流KS。根据本发明的一实施例,加密装置100为即时(on-the-fly)密码架构。换句话说,当存储器控制装置110根据操作指令INS以及存储器地址ADDR而对存储器阵列120进行操作时,密码装置130同时根据存储器地址ADDR产生密钥流KS。
由于计数器密码模式的即时密码架构在存取相同外部存储器地址ADDR时,无论搭配的金钥KEY为何,加解密引擎的输入数据必定会相同。因此攻击者容易利用已知的金钥加密着大量输入数据,来建立功率分析模组。接着让加解密引擎搭配未知的使用者金钥再次执行相同输入数据加密运算,最后借着先前建立的功率分析模组来偷窃使用者金钥。因此,有需要其他的密码架构以提升数据保护能力。
图3是显示根据本发明的另一实施例所述的加密装置的方块图。如图3所示,加密装置300包括存储器控制装置310、存储器阵列120以及密码装置330。存储器控制装置310包括第一总线接口111、控制器112、第一逻辑门114以及第二逻辑门115,且对存储器阵列120进行操作,其中第一总线接口111、控制器112、第一逻辑门114、第二逻辑门115以及存储器阵列120于图1中详细说明,在此不再重复赘述。
将加密装置300与图1的加密装置100相比,存储器控制装置310以及密码装置330为相互独立,而图1的密码装置130位于存储器控制装置110之中。根据本发明的一实施例,加密装置300为即时(on-the-fly)密码架构。换句话说,当存储器控制装置310根据操作指令INS以及存储器地址ADDR而对存储器阵列120进行操作时,密码装置330同时根据存储器地址ADDR产生密钥流KS。
根据本发明的一实施例,当存储器地址ADDR是位于图2的第一起始地址SADDR1以及第一结束地址EADDR1之间、第二起始地址SADDR2以及第二结束地址EADDR2之间、…或第N起始地址SADDRN以及第N结束地址EADDRN之间时,密码装置330才会启动。
密码装置330包括暂存器131、判断单元332、第一多工器133、密码单元334、换位单元335以及第二总线接口336。暂存器131与图1的暂存器131相同,用以储存存储器地址ADDR、密钥KEY以及随机数NONCE的对应表200,在此不再重复赘述。判断单元332自第一总线接口111接收存储器地址ADDR且存取暂存器131的对应表200,并判断存储器地址ADDR是否位于对应表200的保护区域的第一存储器地址ADDR1、第二存储器地址ADDR2…以及第N存储器地址ADDRN的一个之中。
当判断单元332判断存储器地址ADDR是位于保护区域中时,判断单元332利用使能信号EN使能密码单元334,且产生判断信号DET使得多工器133输出对应存储器地址ADDR的密钥KEY以及随机数NONCE。根据本发明的一实施例,当判断单元332判断存储器地址ADDR系位于对应表200的第二存储器地址ADDR2之中时,判断单元332使能密码单元334且控制第一多工器133选择对应第二存储器地址ADDR2的第二密钥KEY2以及第二随机数NONCE2而输出。
根据本发明的另一实施例,当判断单元132判断存储器地址ADDR并非位于对应表200的第一存储器地址ADDR1、第二存储器地址ADDR2…以及第N存储器地址ADDRN的任一个之中时,判断单元332利用使能信号EN将密码单元334关闭,以降低功率损耗。
换位单元335产生二进制码CB(图3并未显示),且根据第一多工器133输出的密钥KEY以及存储器地址ADDR,将二进制码CB进行换位而产生换位码CRA,其中二进制码CB包括随机数NONCE以及存储器地址ADDR。接着,密码单元334根据密钥KEY以及换位码CRA产生密钥流KS。
根据本发明的一实施例,当密码单元334产生密钥流KS时,密码单元334同时提供有效信号VALID至判断单元332,判断单元332通过第一总线接口111而将有效信号VALID提供至控制器112,使得控制器112利用密钥流KS而对写入数据WDATA进行加密及/或对加密读取数据ERDATA进行解密。
使用者可通过总线BUS以及第二总线接口336而设定保护区域的第一存储器地址ADDR1的第一起始地址SADDR1以及第一结束地址EADDR1、第二存储器地址ADDR2的第二起始地址SADDR2以及第二结束地址EADDR2...以及第N存储器地址ADDRN的第N起始地址SADDRN以及第N结束地址EADDRN,也可对暂存器131所储存对应表200的第一随机数NONCE1、第二随机数NONCE2、...以及第N随机数NONCEN进行设定。
根据本发明的其他实施例,使用者亦可通过总线BUS以及第二总线接口336,对暂存器131所储存的第一密钥KEY1、第二密钥KEY2、...以及第N密钥KEYN进行设定。
图4是显示根据本发明的一实施例所述的换位单元的方块图。如图4所示,换位单元400包括第一换位逻辑单元410_1、第二换位逻辑单元410_2、...、第M换位逻辑单元410_M、选择逻辑单元420以及多工器430。根据本发明的一实施例,二进制码CB是由随机数NONCE以及存储器地址ADDR所组成。
第一换位逻辑单元410_1、第二换位逻辑单元410_2、...以及第M换位逻辑单元410_M分别具有第一换位逻辑L1、第二换位逻辑L2、...以及第M换位逻辑LM。第一换位逻辑单元410_1、第二换位逻辑单元410_2、...以及第M换位逻辑单元410_M的每一个分别根据对应的换位逻辑,将二进制码CB进行换位而分别产生第一换位码CRA1、第二换位码CRA2、...以及第M换位码CRAM。根据本发明的一实施例,第一换位逻辑L1、第二换位逻辑L2、...以及第M换位逻辑LM为相互不同。
选择逻辑单元420根据密钥KEY以及存储器地址ADDR,而产生选择码CSEL。第二多工器430根据选择码CSEL,选择将第一换位码CRA1、第二换位码CRA2、...以及第M换位码CRAM的一个输出为换位码CRA。根据本发明的一实施例,换位单元400包括第一换位逻辑单元410_1、第二换位逻辑单元410_2、...以及第M换位逻辑单元410_M,选择码CSEL为W=ceil(log2M)位。亦即,选择码CSEL的位数等于log2M的向上取整(ceiling)的整数。
图5是显示根据本发明的一实施例所述的换位逻辑的示意图。如图5所示,换位逻辑500是将128位的二进制码CB划分为第一部分CB[127:x]以及第二部分CB[(x-1):0],其中x为127以及0之间的任意整数。此外,换位逻辑500更将第一部分CB[127:x]以及第二部分CB[(x-1):0]的顺序调换后产生换位码CRA,其中换位码CRA中的第一部分CB[127:x]以及第二部分CB[(x-1):0]的顺序系与二进制码CB的第一部分CB[127:x]以及第二部分CB[(x-1):0]的顺序不同。根据本发明的一些实施例,换位逻辑500对应至图4的第一换位逻辑L1、第二换位逻辑L2、…以及第M换位逻辑LM的任一个。
图6是显示根据本发明的另一实施例所述的换位逻辑的示意图。如图6所示,换位逻辑600是将128位的二进制码CB每32位划分为一组,而产生第一部分CB[31:0]、第二部分CB[63:32]、第三部分CB[95:64]以及第四部分CB[127:96]。此外,换位逻辑600更将第一部分CB[31:0]、第二部分CB[63:32]、第三部分CB[95:64]以及第四部分CB[127:96]的顺序调换而产生换位码CRA,其中换位码CRA中的顺序为第三部分CB[95:64]、第一部分CB[31:0]、第四部分CB[127:96]以及第二部分CB[63:32]。根据本发明的一些实施例,换位逻辑600是对应至图4的第一换位逻辑L1、第二换位逻辑L2、…以及第M换位逻辑LM的任一个。
图7是显示根据本发明的另一实施例所述的换位逻辑的示意图。如图7所示,换位逻辑700将128位的二进制码CB每8位划分为一组,而产生第一部分CB[7:0]、第二部分CB[15:8]、第三部分CB[23:16]、第四部分CB[31:24]、第五部分CB[39:32]、第六部分CB[47:40]、第七部分CB[55:48]、第八部分CB[63:56]、第九部分CB[71:64]、第十部分CB[79:72]、第十一部分CB[87:80]、第十二部分CB[95:88]、第十三部分CB[103:96]、第十四部分CB[111:104]、第十五部分CB[119:112]以及第十六部分CB[127:120]。
换位逻辑700更将第一部分CB[7:0]、第二部分CB[15:8]、第三部分CB[23:16]、第四部分CB[31:24]、第五部分CB[39:32]、第六部分CB[47:40]、第七部分CB[55:48]、第八部分CB[63:56]、第九部分CB[71:64]、第十部分CB[79:72]、第十一部分CB[87:80]、第十二部分CB[95:88]、第十三部分CB[103:96]、第十四部分CB[111:104]、第十五部分CB[119:112]以及第十六部分CB[127:120]的顺序调换,而产生换位码CRA。根据本发明的一些实施例,换位逻辑700是对应至图4的第一换位逻辑L1、第二换位逻辑L2、…以及第M换位逻辑LM的任一个。
根据本发明的其他实施例,换位单元400根据换位逻辑而将二进制码CB至少划分为第一部分以及第二部分,并调换第一部分以及第二部分的顺序而产生换位码CRA,其中第一部分以及第二部分所具有的位数是为相同或不同。此外,图5、图6、图7是以128位的二进制码CB进行说明解释,并非以任何形式限定于此。
图8是显示根据本发明的一实施例所述的选择逻辑单元的示意图。根据本发明的一实施例,图4的选择逻辑单元420为加法器800。如图8所示,加法器800将密钥KEY的每一位以及存储器地址ADDR的对应的位进行加法运算ADD而产生选择码CSEL。根据本发明的一些实施例,密钥KEY以及存储器地址ADDR为M位,选择码CSEL皆为W(其中,)位,用以选择图4的第一换位码CRA1、第二换位码CRA2、…以及第M换位码CRAM的一个,作为换位码CRA。
图9是显示根据本发明的另一实施例所述的选择逻辑单元的示意图。根据本发明的另一实施例,图4的选择逻辑单元420为互斥或门900。如图9所示,互斥或门900将密钥KEY的每一位以及存储器地址ADDR的对应的位进行互斥或运算XOR,而产生选择码CSEL。根据本发明的一些实施例,选择逻辑单元900是对应至图4的选择逻辑单元420,密钥KEY以及存储器地址ADDR为M位,选择码CSEL为W(其中,)位,用以选择M个第一换位码CRA1、第二换位码CRA2、…以及第M换位码CRAM的一个,作为换位码CRA。
根据本发明的实施例,图4的选择逻辑单元420可利用加法运算、互斥或运算及其组合,将密钥KEY的每一位以及存储器地址ADDR的对应的位进行运算而产生选择码CSEL,用以选择M个第一换位码CRA1、第二换位码CRA2、…以及第M换位码CRAM的一个作为换位码CRA。
图10是显示根据本发明的一实施例所述的密码方法的流程图。以下针对图10的密码方法1000将搭配图3的加密装置300,以利详细说明。
利用判断单元332,判断接收的存储器地址ADDR是否位于保护区域(步骤S110)。当判断存储器地址ADDR位于保护区域中时,利用判断单元332选择密钥KEY以及随机数NONCE(步骤S120)。当判断存储器地址ADDR不在保护区域中时,回到步骤S110。根据本发明的一实施例,当判断存储器地址ADDR位于保护区域中时,判断单元332根据暂存器131所储存的对应表200而选择对应存储器地址ADDR的密钥KEY以及随机数NONCE。
接着,利用换位单元335产生二进制码CB(步骤S130),其中二进制码CB包括随机数NONCE以及存储器地址ADDR。此外,利用换位单元335,根据密钥KEY以及存储器地址ADDR将二进制码CB进行换位而产生换位码CRA(步骤S140)。接着,利用密码单元334根据密钥KEY以及换位码CRA,产生密钥流KS(步骤S150)。
根据本发明的一些实施例,利用图5的换位逻辑500、图6的换位逻辑600、图7的换位逻辑700及其组合,将二进制码CB进行换位而产生换位码CRA。根据本发明的一些实施例,将密钥KEY以及存储器地址ADDR的每一位进行加法运算、互斥或运算及其组合而产生选择码CSEL,并根据选择码CSEL自多个换位码CRA中选择一个,并结合对应存储器地址ADDR的密钥KEY以产生密钥流KS。
本发明在此提出密码装置及其密码方法,用以在存储器控制装置对存储器阵列进行操作时,即时产生密钥流。相对计数器密码模式,本发明所提出的密码装置及其密码方法使用不同的输入数据编码方式,使得攻击者在建立功率分析模组方面也将面临更高困难度,进而提供较佳的数据保护能力。
虽然本申请的实施例及其优点已揭露如上,但应该了解的是,本领域技术人员,在不脱离本申请的精神和范围内,当可作更动、替代与润饰。此外,本申请的保护范围并未局限于说明书内所述特定实施例中的工艺、机器、制造、物质组成、装置、方法及步骤,本领域技术人员可从本申请一些实施例的揭示内容中理解现行或未来所发展出的工艺、机器、制造、物质组成、装置、方法及步骤,只要可以在此处所述实施例中实施大抵相同功能或获得大抵相同结果皆可根据本申请一些实施例使用。因此,本申请的保护范围包括上述工艺、机器、制造、物质组成、装置、方法及步骤。另外,每一权利要求构成个别的实施例,且本申请的保护范围也包括各个权利要求及实施例的组合。
Claims (10)
1.一种密码装置,其特征在于,适用于一存储器装置,包括:
一判断单元,判断一存储器地址位于一保护区域中而选择一密钥以及一随机数;
一换位单元,根据上述密钥以及上述存储器地址,将一二进制码进行换位而产生一换位码,其中上述二进制码包括上述随机数以及上述存储器地址;以及
一密码单元,根据上述密钥以及上述换位码,产生一密钥流。
2.如权利要求1所述的密码装置,其特征在于,上述存储器装置包括一第一总线接口、一控制器以及一存储器阵列,其中当上述第一总线接口接收到上述存储器地址以及一操作指令时,上述第一总线接口将上述存储器地址发送至上述判断单元且将上述操作指令发送至上述控制器,使得上述控制器根据上述存储器地址以及上述操作指令读取上述存储器阵列的一加密读取数据及/或将一写入数据写入上述存储器阵列,其中当上述密码单元产生上述密钥流时,上述密码单元同时产生一有效信号,上述控制器根据上述有效信号,利用上述密钥流对上述加密读取数据进行解密以及对上述写入数据进行加密。
3.如权利要求1所述的密码装置,其特征在于,更包括:
一暂存器,用以储存上述保护区域的存储器地址的起始地址以及结束地址以及对应上述保护区域的存储器地址的上述密钥以及上述随机数;
一第二总线接口,其中一使用者通过上述第二总线接口设定储存于上述暂存器的对应上述保护区域的存储器地址的上述密钥以及上述随机数;以及
一第一多工器,根据一判断信号,选择对应上述存储器地址的上述密钥以及上述随机数,其中当上述判断单元判断上述存储器地址位于上述保护区域时,上述判断单元产生上述判断信号。
4.如权利要求1所述的密码装置,其特征在于,上述换位单元包括:
多个换位逻辑单元,其中上述多个换位逻辑单元的每一个具有一换位逻辑,且根据上述换位逻辑将上述二进制码进行换位而产生上述换位码,其中上述多个换位逻辑单元的每一个对应的上述换位逻辑为不同;
一选择逻辑单元,根据上述密钥以及上述存储器地址而产生一选择码;以及
一第二多工器,根据上述选择码,输出上述多个换位逻辑单元的对应的一个所产生的上述换位码。
5.如权利要求4所述的密码装置,其特征在于,上述多个换位逻辑单元的一个根据上述换位逻辑,将上述二进制码至少划分为一第一部分以及一第二部分,并且调换上述第一部分以及上述第二部分的顺序而产生上述换位码。
6.如权利要求4所述的密码装置,其特征在于,上述选择逻辑单元将上述密钥的每一位以及上述存储器地址的对应的位进行一加法运算而产生上述选择码。
7.一种密码方法,其特征在于,适用于一存储器阵列,包括:
判断一存储器地址位于一保护区域中而选择一密钥以及一随机数;
产生一二进制码,其中上述二进制码包括上述随机数以及上述存储器地址;
根据上述密钥以及上述存储器地址将上述二进制码进行换位而产生一换位码;以及
根据上述密钥以及上述换位码,产生一密钥流。
8.如权利要求7所述的密码方法,其特征在于,更包括:
根据上述存储器地址以及一操作指令读取一存储器阵列的一加密读取数据及/或将一写入数据写入上述存储器阵列;以及
利用上述密钥流对上述加密读取数据进行解密以及对上述写入数据进行加密。
9.如权利要求7所述的密码方法,其特征在于,更包括:
将上述保护区域的存储器地址的起始地址以及结束地址以及对应上述保护区域的存储器地址的上述密钥以及上述随机数储存于一暂存器中,其中一使用者通过一总线接口设定储存于上述暂存器的对应上述保护区域的存储器地址的上述密钥以及上述随机数;以及
当判断上述存储器地址位于上述保护区域时,自上述暂存器选择对应上述存储器地址的上述密钥以及上述随机数。
10.如权利要求9所述的密码方法,其特征在于,上述根据上述密钥以及上述存储器地址将上述二进制码进行换位而产生上述换位码的步骤更包括:
根据上述密钥以及上述存储器地址而产生一选择码;
根据上述选择码,选择一换位逻辑;以及
基于上述换位逻辑将上述二进制码进行换位而产生上述换位码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111124590A TW202403576A (zh) | 2022-06-30 | 2022-06-30 | 密碼裝置及其密碼方法 |
TW111124590 | 2022-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117375806A true CN117375806A (zh) | 2024-01-09 |
Family
ID=89391680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211360684.7A Pending CN117375806A (zh) | 2022-06-30 | 2022-11-02 | 密码装置及其密码方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117375806A (zh) |
TW (1) | TW202403576A (zh) |
-
2022
- 2022-06-30 TW TW111124590A patent/TW202403576A/zh unknown
- 2022-11-02 CN CN202211360684.7A patent/CN117375806A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
TW202403576A (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108206735B (zh) | 通过比特混合器生成密码轮密钥的方法和系统 | |
TWI402675B (zh) | 低等待時間的區塊密碼術 | |
US5835599A (en) | Muti-cycle non-parallel data encryption engine | |
US8428251B2 (en) | System and method for stream/block cipher with internal random states | |
EP1440535B1 (en) | Memory encrytion system and method | |
US8301905B2 (en) | System and method for encrypting data | |
US5671284A (en) | Data encryptor having a scalable clock | |
US20030105967A1 (en) | Apparatus for encrypting data and method thereof | |
US8144865B2 (en) | Protection of the execution of a DES algorithm | |
GB2443244A (en) | Authenticated Encryption Method and Apparatus | |
US11763867B2 (en) | PUF applications in memories | |
Alabdulrazzaq et al. | Performance evaluation of cryptographic algorithms: DES, 3DES, blowfish, twofish, and threefish | |
US20040156499A1 (en) | Method of designing optimum encryption function and optimized encryption apparatus in a mobile communication system | |
US7657034B2 (en) | Data encryption in a symmetric multiprocessor electronic apparatus | |
US9602281B2 (en) | Parallelizable cipher construction | |
US20040120521A1 (en) | Method and system for data encryption and decryption | |
US20120321079A1 (en) | System and method for generating round keys | |
CN117375806A (zh) | 密码装置及其密码方法 | |
Landge et al. | VHDL based Blowfish implementation for secured embedded system design | |
CN117335965A (zh) | 密码装置及其密码方法 | |
JPH0744375A (ja) | 暗号化データ処理装置 | |
Yu et al. | A compact ASIC implementation of the advanced encryption standard with concurrent error detection | |
JP2023130311A (ja) | サイドチャネル攻撃から電子コンピュータを保護する方法及び電子コンピュータ | |
CN117648719A (zh) | 数据安全方法及系统 | |
Yu et al. | A hybrid approach to concurrent error detection for a compact ASIC implementation of the advanced encryption standard |
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 |