CN111488628A - 地址加密电路、地址加密方法及置位网络 - Google Patents
地址加密电路、地址加密方法及置位网络 Download PDFInfo
- Publication number
- CN111488628A CN111488628A CN202010490284.2A CN202010490284A CN111488628A CN 111488628 A CN111488628 A CN 111488628A CN 202010490284 A CN202010490284 A CN 202010490284A CN 111488628 A CN111488628 A CN 111488628A
- Authority
- CN
- China
- Prior art keywords
- encryption
- address
- key
- network
- bit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000008859 change Effects 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 abstract description 26
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种地址加密电路、地址加密方法及置位网络,该地址加密电路的第一加密模块与第二加密模块均接入控制信号及均包括多种加密模式,不同加密模式能加密不同宽度的地址,控制信号根据待加密存储单元地址的宽度预先设定;第一加密模块用于根据控制信号,切换当前的加密模式,并对待加密的存储单元地址以及第一密钥进行相加,得到第一加密地址;第二加密模块用于根据控制信号,切换当前的加密模式,并根据第二密钥,对第一加密地址中的每一位进行非线性置换,获取第二加密地址;第三加密模块用于对第二加密地址及合成密钥进行异或运算,获取最终加密地址。上述地址加密电路能够改变加密模式以适应任意宽度的存储单元地址,复用性强。
Description
技术领域
本申请涉及存储器加密技术领域,尤其涉及一种地址加密电路、地址加密方法及置位网络。
背景技术
存储器是许多存储单元的集合,每个存储单元都对应有一个地址。访问存储器的过程即按存储单元的地址存放或者读取各类信息的过程,通过对存储单元的地址进行加密,可实现信息保密。
通常使用加密电路对存储单元地址进行加密,参见图1,图中,系统通过系统总线所分配的原始存储单元地址,经过加密电路后,形成存储单元加密地址,然后该加密地址被保存至地址译码器中,当系统对存储器中的信息进行读/写操作时,通过系统总线向读/写控制电路发出地址信号并核验密码,核验成功后,地址译码器根据地址信号寻找到相对应的存储单元,使系统针对该存储单元进行读/写操作。
上述加密过程中所使用的加密电路通常是不可重构的,只能对固定宽度的地址进行加密。而实际应用中,针对不同的存储器,若它们的空间大小存在差异,那么它们的存储单元地址宽度也会不同,而上述加密电路由于无法对任意宽度的地址进行加密,因此复用性较差。
发明内容
为了解决加密电路无法对任意宽度的地址进行加密,复用性较差的问题,本申请通过以下实施例公开了一种地址加密电路、地址加密方法及置位网络。
本申请第一方面公开了一种地址加密电路,包括:第一加密模块、第二加密模块及第三加密模块,所述第一加密模块与所述第二加密模块均接入控制信号以及均包括多种加密模式,其中,不同的加密模式用于加密不同宽度的地址,所述控制信号根据待加密的存储单元地址的宽度预先设定;
所述第一加密模块包括行波进位加法器,所述行波进位加法器由多个四比特行波进位加法器级联而成,在不同的加密模式下,所述多个四比特行波进位加法器的进位连接方式不同;
所述第二加密模块包括置位网络,所述置位网络包括交换层及多个网络单元,在不同的加密模式下,所述交换层与每个所述网络单元的连接方式不同,所述交换层以及任一个所述网络单元均包括多个二选一多路选择器;
所述第一加密模块用于根据所述控制信号,切换当前的加密模式,并在完成切换的加密模式下,对所述待加密的存储单元地址以及预先获取的第一密钥进行相加,获取第一加密地址,然后将所述第一加密地址发送至所述第二加密模块;
所述第二加密模块用于根据所述控制信号,切换当前的加密模式,并在完成切换的加密模式下,根据预先获取的第二密钥,对所述第一加密地址中的每一位进行非线性置换,获取第二加密地址,然后将所述第二加密地址发送至所述第三加密模块;
所述第三加密模块用于对所述第二加密地址及合成密钥进行异或运算,获取最终加密地址,其中,所述合成密钥为所述第二密钥及预先获取的第三密钥之和。
可选的,所述多个四比特行波进位加法器通过多个多路选择器进行级联,任一个所述多路选择器接入所述控制信号;
任一个所述多路选择器的输入端与上一级四比特行波进位加法器的进位输出位相接,输出端与下一级四比特行波进位加法器的进位输入位相接;
所述多路选择器用于根据所述控制信号,改变所述多个四比特行波进位加法器的进位连接方式。
可选的,所述交换层包括位于所述多个网络单元输入侧的前交换层以及位于所述多个网络单元输出侧的后交换层;
所述前交换层与所述后交换层皆至少包含一列二选一多路选择器。
可选的,所述置位网络还包括多个置位多路选择器;
所述置位多路选择器用于根据所述控制信号,向所述交换层中的每个二选一多路选择器发出置位信号,以改变所述置位网络的每个输入端口与所述前交换层第一列中每个二选一多路选择器之间的连接方式、改变所述交换层中相邻两列的二选一多路选择器之间的连接方式、以及改变每个所述网络单元的输出端口与所述后交换层第一列中每个二选一多路选择器之间的连接方式。
可选的,所述地址加密电路还包括密钥随机生成器;
所述密钥随机生成器用于根据所述待加密的存储单元地址的宽度,向所述第一加密模块输送所述第一密钥,向所述第二加密模块输送所述第二密钥,以及向所述第三加密模块输送所述第二密钥和所述第三密钥。
可选的,所述第三加密模块包括加法器和异或门;
所述加法器用于对所述第二密钥及所述第三密钥进行相加,获取所述合成密钥,并向所述异或门输出所述合成密钥;
所述异或门用于对所述第二加密地址及所述合成密钥进行异或运算,并输出最终加密地址。
本申请第二方面公开了一种地址加密方法,所述地址加密方法应用于本申请第一方面所述的地址加密电路,所述地址加密方法包括:
在获取待加密的存储单元地址时,第一加密模块根据控制信号,切换当前的加密模式,并在完成切换的加密模式下,对所述待加密的存储单元地址以及预先获取的第一密钥进行相加,获取第一加密地址,然后将所述第一加密地址发送至所述第二加密模块;
在获取所述第一加密地址时,所述第二加密模块根据所述控制信号,切换当前的加密模式,并在完成切换的加密模式下,根据预先获取的第二密钥,对所述第一加密地址中的每一位进行非线性置换,获取第二加密地址,然后将所述第二加密地址发送至所述第三加密模块;
在获取所述第二加密地址时,所述第三加密模块对所述第二加密地址及合成密钥进行异或运算,获取最终加密地址,其中,所述合成密钥为所述第二密钥及预先获取的第三密钥之和。
本申请第三方面公开了一种置位网络,所述置位网络位于本申请第一方面所述的地址加密电路中,所述置位网络包括多种加密模式,所述置位网络包括交换层及多个网络单元,在不同的加密模式下,所述交换层与每个所述网络单元的连接方式不同,所述交换层以及任一个所述网络单元均包括多个二选一多路选择器。
可选的,所述交换层包括位于所述多个网络单元输入侧的前交换层以及位于所述多个网络单元输出侧的后交换层;
所述前交换层与所述后交换层皆至少包含一列二选一多路选择器。
可选的,所述置位网络还包括多个置位多路选择器;
所述置位多路选择器用于根据所述控制信号,向所述交换层中的每个二选一多路选择器发出置位信号,以改变所述置位网络的每个输入端口与所述前交换层第一列中每个二选一多路选择器之间的连接方式、改变所述交换层中相邻两列的二选一多路选择器之间的连接方式、以及改变每个所述网络单元的输出端口与所述后交换层第一列中每个二选一多路选择器之间的连接方式。
本申请实施例公开了一种地址加密电路、地址加密方法及置位网络,该地址加密电路的第一加密模块与第二加密模块均接入控制信号及均包括多种加密模式,不同加密模式能加密不同宽度的地址,控制信号根据待加密存储单元地址的宽度预先设定;第一加密模块用于根据控制信号,切换当前的加密模式,并对待加密的存储单元地址以及第一密钥进行相加,得到第一加密地址;第二加密模块用于根据控制信号,切换当前的加密模式,并根据第二密钥,对第一加密地址中的每一位进行非线性置换,获取第二加密地址;第三加密模块用于对第二加密地址及合成密钥进行异或运算,获取最终加密地址。上述地址加密电路能够通过控制信号进行重构,改变加密模式以适应任意宽度的存储单元地址,复用性强。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有的存储单元地址加密的场景示意图;
图2为本申请实施例公开的一种地址加密电路的场景示意图;
图3为本申请实施例公开的一种地址加密电路的结构示意图;
图4为本申请实施例公开的一种地址加密电路中,第一加密模块的结构示意图;
图5为本申请实施例公开的一种地址加密电路中,网络单元的结构示意图;
图6为本申请实施例公开的一种地址加密电路中,置位网络的结构示意图;
图7为本申请实施例公开的一种地址加密电路中,置位网络工作于四比特并行加密模式下的结构示意图;
图8为本申请实施例公开的一种地址加密电路中,置位网络工作于八比特并行加密模式下的结构示意图;
图9为本申请实施例公开的一种地址加密电路中,置位网络工作于十六比特加密模式下的结构示意图;
图10为本申请实施例公开的又一种地址加密电路的场景示意图;
图11为本申请实施例公开的又一种地址加密电路的结构示意图。
具体实施方式
为了解决加密电路无法对任意宽度的地址进行加密,复用性较差的问题,本申请通过以下实施例公开了一种地址加密电路、地址加密方法及置位网络。
参见图2,本申请第一实施例公开了一种地址加密电路,包括:第一加密模块、第二加密模块及第三加密模块,其中,第一加密模块用于获取待加密的存储单元地址,第一加密模块的输出端连接至第二加密模块的输入端,第二加密模块的输出端连接至第三加密模块的输入端,第三加密模块的输出端连接至地址译码器。
参见图3,所述第一加密模块与所述第二加密模块均接入控制信号,所述控制信号根据待加密的存储单元地址的宽度预先设定,所述控制信号用于根据待加密的存储单元地址的宽度,控制第一加密模块及第二加密模块切换当前的加密模式。第一加密模块与所述第二加密模块均包括多种加密模式,其中,不同的加密模式用于加密不同宽度的地址。
在一种实现方式中,控制信号可采用独热码,独热码是一种有多少个状态就有多少比特,且其中只有一个比特为1,其他比特全为0的码制。作为示例,若待加密的存储的单元地址的宽度为十六比特,可采用三位独热码作为控制信号,控制第一加密模块及第二加密模块工作于十六比特加密、八比特并行加密或四比特并行加密的模式下,其中,控制信号的符号为“S”,当S为“100”时,对应十六比特加密模式;当S为“010”时,对应八比特并行加密模式;当S为“001”时,对应四比特并行加密模式。
在针对同一个存储单元地址进行加密的过程中,控制信号同时控制第一加密模块与第二加密模块,使这两个加密模块工作于同一种加密模式下。
所述第一加密模块包括行波进位加法器,所述行波进位加法器由多个四比特行波进位加法器级联而成,在不同的加密模式下,所述多个四比特行波进位加法器的进位连接方式不同。
在一种实现方式中,所述多个四比特行波进位加法器通过多个多路选择器进行级联,任一个所述多路选择器接入所述控制信号。
参见图4,图4中示出的行波进位加法器最大可针对十六比特宽度的地址进行加密,包括四个四比特行波进位加法器以及三个多路选择器,每个四比特行波进位加法器可针对两个四比特信号进行加法计算。
任一个所述多路选择器的输入端与上一级四比特行波进位加法器的进位输出位相接,输出端与下一级四比特行波进位加法器的进位输入位相接。每个多路选择器的输入都是上一级四比特行波进位加法器的进位输出位(即cout0、cout1及cout2),输出都是下一级四比特行波进位加法器的进位输入位(即cin0、cin1、cin2及cin3)。
图4中,in_addr[3:0]、in_addr[7:4]、in_addr[11:8]及in_addr[15:12]分别指输入的信号中由高到低第4到第1位(或第3到第0位)、第8到第5位(或第7到第4位)、第12到第9位(或第11到第8位)及第16到第13位(或第15到第12位)。out_addr[3:0]、out_addr[7:4]、out_addr[11:8]及out_addr[15:12]分别指输出的信号中由高到低第4到第1位(或第3到第0位)、第8到第5位(或第7到第4位)、第12到第9位(或第11到第8位)及第16到第13位(或第15到第12位)。Key0[3:0]、Key0[7:4]、Key0[11:8]及Key0[15:12]分别为第一密钥中由高到低第4到第1位(或第3到第0位)、第8到第5位(或第7到第4位)、第12到第9位(或第11到第8位)及第16到第13位(或第15到第12位)。
所述多路选择器用于根据所述控制信号,改变所述多个四比特行波进位加法器的进位连接方式。图4中的控制信号为三位独热码,接至三个多路选择器的输入端,具体值可以为“001”,“010”或“100”,不同的值可以选通多路选择器不同的输入。
当S为“100”时,上一级四比特行波进位加法器的进位输出直接连接到下一级四比特行波进位加法器的进位输入,此时整个行波进位加法器工作在两个十六比特信号相加的模式,即十六比特加密模式。
当S为“010”时,左下角多路选择器被接地,此时右上角四比特行波进位加法器的进位输出无法传递给左下角四比特行波进位加法器的进位输入,因此整个行波进位加法器被分割成上面两个四比特行波进位加法器连接组成的八比特行波进位加法器和下面两个四比特行波进位加法器连接组成的八比特行波进位加法器,此时的工作模式为八比特并行加密模式。
当S为“001”时,所有四比特行波进位加法器的进位输入都被接地(置零),此时整个行波进位加法器被分割为四个单独的四比特行波进位加法器,此时的工作模式为四比特并行加密模式。
基于上述内容,在控制信号的控制下,第一加密模块可以进行重构,改变当前的加密模式,以适应任意宽度的地址。
所述第二加密模块包括置位网络,所述置位网络包括交换层及多个网络单元。在不同的加密模式下,所述交换层与每个所述网络单元的连接方式不同。
本申请实施例中,网络单元是一个4*4置位子网络,具有四位输入及四位输出,包括多个二选一多路选择器,具体结构参见图5。图5中,In[0]、In[1]、In[2]及In[3]分别指输入信号中从低到高的第一位至第四位;Out[0]、Out[1]、Out[2]及Out[3]分别指输出信号中从低到高的第一位至第四位;key[0]、key[1]、key[2]、key[3]及key[4]分别指该网络单元对应密钥从低到高的第一位至第五位。
图5中,网络单元由十个二选一多路选择器构成,其中每两个多路选择器共用一个控制位(密钥位),一个网络单元有5个密钥位。key[0]至key[4]分别为二进制比特位,只能是0或1,用于控制二选一多路选择器的输出,当其为0时,相应的二选一多路选择器输出“0”对应的输入值(即上面的信号);当其为1时,相应的二选一多路选择器输出“1”对应的输入值(即下面的信号)。
所述交换层包括位于所述多个网络单元输入侧的前交换层以及位于所述多个网络单元输出侧的后交换层。
所述前交换层与所述后交换层皆至少包含一列二选一多路选择器。
参见图6,多个网络单元通过递归的方式可组成置位网络,将两个网络单元并列放置,并且在前面添加一列二选一多路选择器作为前交换层,在后面添加一列二选一多路选择器作为后交换层,便组成8*8置位子网络;进一步的,将两个8*8置位子网络并列放置,并且在前面添加一列二选一多路选择器作为前交换层,在后面添加一列二选一多路选择器作为后交换层,便组成16*16置位子网络,以此类推,可设计更大的置位网络。其中,前交换层中二选一多路选择器的数量比输入信号的位数少两个。
图6中示出的置位网络为16*16,即最大可包含16位输入(I[0]-I[15])和16位输出(O[0]-O[15])。
第一加密地址通过输入端口进入置位网络,第二密钥中的每一位分别连接到置位网络所有网络单元中的二选一多路选择器的控制端口,每两个二选一多路选择器共享一个密钥位,因此第二密钥的位数是置位网络所有网络单元中所包含的所有多路选择器数量的一半。
进一步的,所述置位网络还包括多个置位多路选择器(图6中未示出)。
所述置位多路选择器用于根据所述控制信号,向所述交换层中的每个二选一多路选择器发出置位信号,控制后一列二选一多路选择器选择前一列不同的二选一多路选择器的输出信号,以改变所述置位网络的每个输入端口与所述前交换层第一列中每个二选一多路选择器之间的连接方式、改变所述交换层中相邻两列的二选一多路选择器之间的连接方式、以及改变每个所述网络单元的输出端口与所述后交换层第一列中每个二选一多路选择器之间的连接方式。
作为示例,当控制信号的值为“001”时,置位网络的结构图参见图7,此时置位网络工作于四比特并行加密模式;当控制信号的值为“010”时,置位网络的结构图参见图8,此时置位网络工作于八比特并行加密模式;当控制信号的值为“100”,置位网络的结构图参见图9,此时置位网络工作于十六比特加密模式。
基于上述内容,在控制信号的控制下,第二加密模块可以进行重构,改变当前的加密模式,以适应任意宽度的地址。
加密过程中,所述第一加密模块用于根据所述控制信号,切换当前的加密模式,并在完成切换的加密模式下,对所述待加密的存储单元地址以及预先获取的第一密钥进行相加,获取第一加密地址,然后将所述第一加密地址发送至所述第二加密模块。
所述第二加密模块用于根据所述控制信号,切换当前的加密模式,并在完成切换的加密模式下,根据预先获取的第二密钥,对所述第一加密地址中的每一位进行非线性置换(即进行非线性比特混合),获取第二加密地址,然后将所述第二加密地址发送至所述第三加密模块。
所述第三加密模块用于对所述第二加密地址及合成密钥进行异或运算,获取最终加密地址,其中,所述合成密钥为所述第二密钥及预先获取的第三密钥之和。
在一种实现方式中,参见图3,所述第三加密模块包括加法器和异或门。
所述加法器用于对所述第二密钥及所述第三密钥进行相加,获取所述合成密钥,并向所述异或门输出所述合成密钥。
所述异或门用于对所述第二加密地址及所述合成密钥进行异或运算,并输出最终加密地址。所述异或门的输出端接至地址译码器,用于将最终加密地址保存至地址译码器中。
上述实施例公开了一种地址加密电路,该地址加密电路的第一加密模块与第二加密模块均接入控制信号及均包括多种加密模式,不同加密模式能加密不同宽度的地址,控制信号根据待加密存储单元地址的宽度预先设定;第一加密模块用于根据控制信号,切换当前的加密模式,并对待加密的存储单元地址以及第一密钥进行相加,得到第一加密地址;第二加密模块用于根据控制信号,切换当前的加密模式,并根据第二密钥,对第一加密地址中的每一位进行非线性置换,获取第二加密地址;第三加密模块用于对第二加密地址及合成密钥进行异或运算,获取最终加密地址。上述地址加密电路能够通过控制信号进行重构,改变加密模式以适应任意宽度的存储单元地址,提高了复用性。
本申请公开的地址加密电路可工作于十六比特加密、八比特并行加密和四比特并行加密模式下,通过改变第一加密模块和第二加密模块的电路连接方式,可以使并行加密模式下各个子地址的加密之间互不干扰,其中,子地址是指当电路工作在并行加密模式下,不同的并行地址,例如当电路工作于两个八比特地址并行加密的模式下,这两个八比特地址称为子地址。
具体的,针对第一加密模块,在八比特和四比特并行加密模式下,控制信号控制多路选择器,分别将相应的四比特行波进位加法器进位输入位接地,选择性的切断了四比特行波进位加法器的连接,从而使不同子地址加密之间互不干扰。例如当S为“010”时,上面两个四比特行波进位加法器和下面两个四比特行波进位加法器分别组成八比特行波进位加法器,这两个八比特行波进位加法器之间没有进位位的连接,因此各个子地址之间的加密互不干扰。
针对第二加密模块,在不同加密模式下,置位网络的前交换层和后交换层的连接方式发生改变,使得不同子地址加密之间互不干扰。例如,当S为“010”时,最左边一列和次左边一列以及最右边一列和次右边一列的连线没有跨越上面两个网络单元和下面两个网络单元之间的分界线,置换时上半部分构成的八比特置位的比特位不会被选通到下半部分,因此各个子地址之间的加密互不干扰。
进一步的,参见图10和图11,所述地址加密电路还包括密钥随机生成器。
所述密钥随机生成器用于根据所述待加密的存储单元地址的宽度,向所述第一加密模块输送所述第一密钥,向所述第二加密模块输送所述第二密钥,以及向所述第三加密模块输送所述第二密钥和所述第三密钥。
本申请实施例中,若待加密的存储单元地址的宽度为n位,那么密钥随机生成器生成的第一密钥为n位,第二密钥为n(log2n-1)+1位,第三密钥为n位,因此,本申请实施例公开的地址加密电路,密钥空间为2n+n(log2n-1)+1位,远大于现有技术中地址加密电路的密钥空间(2n位)。因此本申请实施例公开的地址加密电路具有密钥空间大、破解难度高及内存安全性高的优点。
密钥随机生成器采用随机数生成器动态生成,每次电路上电时或某个用户、程序访问内存时,密钥均可动态随机生成。但是在某个确定的内存访问场景下,密钥应该保持稳定,以确保能访问到正确的内存空间。
实际应用中,密钥随机生成器可以集成在存储器外部。基于此,本申请实施例公开的地址加密电路可包括两部分,一部分为片上加密部分,包含第一加密模块、第二加密模块及第三加密模块,另一部分为片外的密钥随机生成器。
本申请实施例公开的内容皆针对16位地址进行举例,实际应用中,本领域技术人员可依据上述公开的原理及附图,设计出对任意宽度地址进行加密的电路。
本申请第二实施例公开了一种地址加密方法,所述地址加密方法应用于本申请第一实施例所述的地址加密电路,所述地址加密方法包括:
在获取待加密的存储单元地址时,第一加密模块根据控制信号,切换当前的加密模式,并在完成切换的加密模式下,对所述待加密的存储单元地址以及预先获取的第一密钥进行相加,获取第一加密地址,然后将所述第一加密地址发送至所述第二加密模块。
在获取所述第一加密地址时,所述第二加密模块根据所述控制信号,切换当前的加密模式,并在完成切换的加密模式下,根据预先获取的第二密钥,对所述第一加密地址中的每一位进行非线性置换(即进行非线性比特混合),获取第二加密地址,然后将所述第二加密地址发送至所述第三加密模块。
在获取所述第二加密地址时,所述第三加密模块对所述第二加密地址及合成密钥进行异或运算,获取最终加密地址,其中,所述合成密钥为所述第二密钥及预先获取的第三密钥之和。
上述地址加密方法中,第一加密地址可通过以下公式表述:
A1=A0+key0;
其中,A1为第一加密地址,A0为待加密的存储单元地址,key0为第一密钥。
第二加密地址可通过以下公式表述:
A2=P(A1,key1);
其中,A2为第二加密地址,P()表示置位网络的网络函数,key1为第二密钥。
第三加密地址可通过以下公式表述:
A3=A2+key3;
key3=key1+key2;
其中,A3为最终加密地址,key3为合成密钥,key2为第三密钥。
本申请实施例公开的地址加密方法,一方面采用纯组合逻辑进行加密,降低了硬件开销,并能和轻量级数据加密算法进行组合,从而实现更高的加密性能。另一方面,本方法有效扩展密钥空间,大大增加了算法的破解难度,从而提高内存安全性。同时,本方法具备可重构性,可通过控制信号能够实现对任意宽度地址的并行加密,提高了电路的复用性。
本申请第三实施例公开了一种置位网络,所述置位网络位于本申请第一实施例所述的地址加密电路中,所述置位网络包括多种加密模式,所述置位网络包括交换层及多个网络单元,在不同的加密模式下,所述交换层与每个所述网络单元的连接方式不同,所述交换层以及任一个所述网络单元均包括多个二选一多路选择器。
进一步的,所述交换层包括位于所述多个网络单元输入侧的前交换层以及位于所述多个网络单元输出侧的后交换层。
所述前交换层与所述后交换层皆至少包含一列二选一多路选择器。
进一步的,所述置位网络还包括多个置位多路选择器。
所述置位多路选择器用于根据所述控制信号,向所述交换层中的每个二选一多路选择器发出置位信号,以改变所述置位网络的每个输入端口与所述前交换层第一列中每个二选一多路选择器之间的连接方式、改变所述交换层中相邻两列的二选一多路选择器之间的连接方式、以及改变每个所述网络单元的输出端口与所述后交换层第一列中每个二选一多路选择器之间的连接方式。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,简称ROM)或随机存储记忆体(randomaccess memory,简称RAM)等。
此外,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述实施例所述地址加密方法的部分或全部步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。
以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。
Claims (10)
1.一种地址加密电路,其特征在于,包括:第一加密模块、第二加密模块及第三加密模块,所述第一加密模块与所述第二加密模块均接入控制信号以及均包括多种加密模式,其中,不同的加密模式用于加密不同宽度的地址,所述控制信号根据待加密的存储单元地址的宽度预先设定;
所述第一加密模块包括行波进位加法器,所述行波进位加法器由多个四比特行波进位加法器级联而成,在不同的加密模式下,所述多个四比特行波进位加法器的进位连接方式不同;
所述第二加密模块包括置位网络,所述置位网络包括交换层及多个网络单元,在不同的加密模式下,所述交换层与每个所述网络单元的连接方式不同,所述交换层以及任一个所述网络单元均包括多个二选一多路选择器;
所述第一加密模块用于根据所述控制信号,切换当前的加密模式,并在完成切换的加密模式下,对所述待加密的存储单元地址以及预先获取的第一密钥进行相加,获取第一加密地址,然后将所述第一加密地址发送至所述第二加密模块;
所述第二加密模块用于根据所述控制信号,切换当前的加密模式,并在完成切换的加密模式下,根据预先获取的第二密钥,对所述第一加密地址中的每一位进行非线性置换,获取第二加密地址,然后将所述第二加密地址发送至所述第三加密模块;
所述第三加密模块用于对所述第二加密地址及合成密钥进行异或运算,获取最终加密地址,其中,所述合成密钥为所述第二密钥及预先获取的第三密钥之和。
2.根据权利要求1所述的地址加密电路,其特征在于,所述多个四比特行波进位加法器通过多个多路选择器进行级联,任一个所述多路选择器接入所述控制信号;
任一个所述多路选择器的输入端与上一级四比特行波进位加法器的进位输出位相接,输出端与下一级四比特行波进位加法器的进位输入位相接;
所述多路选择器用于根据所述控制信号,改变所述多个四比特行波进位加法器的进位连接方式。
3.根据权利要求1所述的地址加密电路,其特征在于,所述交换层包括位于所述多个网络单元输入侧的前交换层以及位于所述多个网络单元输出侧的后交换层;
所述前交换层与所述后交换层皆至少包含一列二选一多路选择器。
4.根据权利要求3所述的地址加密电路,其特征在于,所述置位网络还包括多个置位多路选择器;
所述置位多路选择器用于根据所述控制信号,向所述交换层中的每个二选一多路选择器发出置位信号,以改变所述置位网络的每个输入端口与所述前交换层第一列中每个二选一多路选择器之间的连接方式、改变所述交换层中相邻两列的二选一多路选择器之间的连接方式、以及改变每个所述网络单元的输出端口与所述后交换层第一列中每个二选一多路选择器之间的连接方式。
5.根据权利要求1所述的地址加密电路,其特征在于,所述地址加密电路还包括密钥随机生成器;
所述密钥随机生成器用于根据所述待加密的存储单元地址的宽度,向所述第一加密模块输送所述第一密钥,向所述第二加密模块输送所述第二密钥,以及向所述第三加密模块输送所述第二密钥和所述第三密钥。
6.根据权利要求1或5所述的地址加密电路,其特征在于,所述第三加密模块包括加法器和异或门;
所述加法器用于对所述第二密钥及所述第三密钥进行相加,获取所述合成密钥,并向所述异或门输出所述合成密钥;
所述异或门用于对所述第二加密地址及所述合成密钥进行异或运算,并输出最终加密地址。
7.一种地址加密方法,其特征在于,所述地址加密方法应用于权利要求1-6任一项所述的地址加密电路,所述地址加密方法包括:
在获取待加密的存储单元地址时,第一加密模块根据控制信号,切换当前的加密模式,并在完成切换的加密模式下,对所述待加密的存储单元地址以及预先获取的第一密钥进行相加,获取第一加密地址,然后将所述第一加密地址发送至所述第二加密模块;
在获取所述第一加密地址时,所述第二加密模块根据所述控制信号,切换当前的加密模式,并在完成切换的加密模式下,根据预先获取的第二密钥,对所述第一加密地址中的每一位进行非线性置换,获取第二加密地址,然后将所述第二加密地址发送至所述第三加密模块;
在获取所述第二加密地址时,所述第三加密模块对所述第二加密地址及合成密钥进行异或运算,获取最终加密地址,其中,所述合成密钥为所述第二密钥及预先获取的第三密钥之和。
8.一种置位网络,其特征在于,所述置位网络位于权利要求1-6任一项所述的地址加密电路中,所述置位网络包括多种加密模式,所述置位网络包括交换层及多个网络单元,在不同的加密模式下,所述交换层与每个所述网络单元的连接方式不同,所述交换层以及任一个所述网络单元均包括多个二选一多路选择器。
9.根据权利要求8所述的置位网络,其特征在于,所述交换层包括位于所述多个网络单元输入侧的前交换层以及位于所述多个网络单元输出侧的后交换层;
所述前交换层与所述后交换层皆至少包含一列二选一多路选择器。
10.根据权利要求9所述的置位网络,其特征在于,所述置位网络还包括多个置位多路选择器;
所述置位多路选择器用于根据所述控制信号,向所述交换层中的每个二选一多路选择器发出置位信号,以改变所述置位网络的每个输入端口与所述前交换层第一列中每个二选一多路选择器之间的连接方式、改变所述交换层中相邻两列的二选一多路选择器之间的连接方式、以及改变每个所述网络单元的输出端口与所述后交换层第一列中每个二选一多路选择器之间的连接方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010490284.2A CN111488628B (zh) | 2020-06-02 | 2020-06-02 | 地址加密电路、地址加密方法及置位网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010490284.2A CN111488628B (zh) | 2020-06-02 | 2020-06-02 | 地址加密电路、地址加密方法及置位网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488628A true CN111488628A (zh) | 2020-08-04 |
CN111488628B CN111488628B (zh) | 2022-08-05 |
Family
ID=71813432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010490284.2A Active CN111488628B (zh) | 2020-06-02 | 2020-06-02 | 地址加密电路、地址加密方法及置位网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488628B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114969847A (zh) * | 2021-02-26 | 2022-08-30 | 南京大学 | 一种基于数据地址混合加密的存储器加密电路 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799800A (zh) * | 2011-05-23 | 2012-11-28 | 中国科学院计算技术研究所 | 一种安全加密协处理器及无线传感器网络节点芯片 |
CN103929296A (zh) * | 2014-04-22 | 2014-07-16 | 福州大学 | 基于rom型专用密钥的3des加密方法及其集成电路 |
CN105007154A (zh) * | 2015-07-23 | 2015-10-28 | 深圳市同创国芯电子有限公司 | 一种基于aes算法的加密解密装置 |
-
2020
- 2020-06-02 CN CN202010490284.2A patent/CN111488628B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799800A (zh) * | 2011-05-23 | 2012-11-28 | 中国科学院计算技术研究所 | 一种安全加密协处理器及无线传感器网络节点芯片 |
CN103929296A (zh) * | 2014-04-22 | 2014-07-16 | 福州大学 | 基于rom型专用密钥的3des加密方法及其集成电路 |
CN105007154A (zh) * | 2015-07-23 | 2015-10-28 | 深圳市同创国芯电子有限公司 | 一种基于aes算法的加密解密装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114969847A (zh) * | 2021-02-26 | 2022-08-30 | 南京大学 | 一种基于数据地址混合加密的存储器加密电路 |
CN114969847B (zh) * | 2021-02-26 | 2024-04-30 | 南京大学 | 一种基于数据地址混合加密的存储器加密电路 |
Also Published As
Publication number | Publication date |
---|---|
CN111488628B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6775846B2 (ja) | Pufに基づく真性乱数生成システム | |
US6438569B1 (en) | Sums of production datapath | |
US8301905B2 (en) | System and method for encrypting data | |
US20070172053A1 (en) | Method and system for microprocessor data security | |
US8091139B2 (en) | System and method for masking arbitrary Boolean functions | |
CN108073837B (zh) | 一种总线安全保护方法及装置 | |
KR20020079764A (ko) | 멀티뱅크, 고장 방지 능력, 고성능 메모리 어드레싱시스템 및 방법 | |
CA2294026A1 (en) | Programmable logic datapath that may be used in a field programmable device | |
CA2375058A1 (en) | A method and system for performing permutations using permutation instructions based on modified omega and flip stages | |
CN111865560B (zh) | 一种aes密码协处理器及终端设备 | |
US11258579B2 (en) | Method and circuit for implementing a substitution table | |
CN110059493B (zh) | 基于粗粒度可重构计算单元的skinny-128-128加密算法实现方法及系统 | |
CN110784307B (zh) | 轻量级密码算法scenery实现方法、装置及存储介质 | |
CN111488628B (zh) | 地址加密电路、地址加密方法及置位网络 | |
US20190140851A1 (en) | Secure logic system with physically unclonable function | |
US6150836A (en) | Multilevel logic field programmable device | |
CN108400866B (zh) | 一种粗粒度可重构密码逻辑阵列 | |
CN112613080A (zh) | 一种面向轻量级分组密码算法的可重构阵列单元及阵列 | |
CN114826560B (zh) | 一种轻量级分组密码cref实现方法及系统 | |
EP0120371B1 (en) | Fault alignment control system and circuits | |
JP2008140104A (ja) | メモリシステム及びメモリアクセス方法 | |
KR100663488B1 (ko) | 재구성가능한 하드웨어 구조를 가지는 통신시스템 및 그에의한 재구성 방법 | |
EP3531612B1 (en) | Method and device for performing substitution table operations | |
US5987488A (en) | Matrix processor | |
US20040236903A1 (en) | Content addressable memory device capable of being used in cascaded fashion |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |