CN117193714A - 一种具有自反性质的模运算装置 - Google Patents

一种具有自反性质的模运算装置 Download PDF

Info

Publication number
CN117193714A
CN117193714A CN202311134063.1A CN202311134063A CN117193714A CN 117193714 A CN117193714 A CN 117193714A CN 202311134063 A CN202311134063 A CN 202311134063A CN 117193714 A CN117193714 A CN 117193714A
Authority
CN
China
Prior art keywords
data block
modular
module
matrix
modulo
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
CN202311134063.1A
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.)
Beijing Research Institute of Telemetry
Original Assignee
Beijing Research Institute of Telemetry
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 Beijing Research Institute of Telemetry filed Critical Beijing Research Institute of Telemetry
Priority to CN202311134063.1A priority Critical patent/CN117193714A/zh
Publication of CN117193714A publication Critical patent/CN117193714A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供一种具有自反性质的模运算装置,将一种对合矩阵B与具有自反性质的加密解密运算相结合,并将8个模加模减运算通过矩阵的循环性质优化为6个模加模减运算。本发明具有良好的可扩展性,即模运算装置的输入可以为16、32、64、128、256比特,可以用于ARX类分组密码算法的轮函数设计;并且在设计中充分考虑了自反性,即加解密相同,可以在分组密码算法设计中实现硬件的电路复用,同时实现了循环特性,即第2行是第1行的循环移位,第4行是第3行的循环移位,该循环设计可以节省硬件实现面积;本发明除了可以为加密算法提供非线性性,同时具有良好的扩散性能,能够同时实现分支内和分支之间的扩散。

Description

一种具有自反性质的模运算装置
技术领域
本发明涉及电数字数据处理技术领域,具体涉及一种具有自反性质的模运算装置。
背景技术
分组密码是密码算法的一种,是现实中许多密码系统的核心要素,是保障真实世界信息机密性和完整性的重要技术。分组密码从安全性角度需要考虑其“混乱”和“扩散”准则。混乱准则是指所设计的密码应该是明文、密文、密钥三者之间的依赖关系非常复杂,使攻击者很难梳理和利用;扩散准则是指所设计的密码应该使得明文和密钥的每一个比特影响密文很多的比特,该性质可以保证输入微小的改变可以导致输出多位的变化,从而隐蔽明文的很多特征。
美国国家安全局(National Security Agency,简称NSA)于2013年提出了SPECK算法,该算法为第一个ARX类分组密码算法。ARX类分组密码算法是指使用模加(模减)、循环移位和异或操作设计的分组密码,该类型的分组密码算法结构简单、执行效率高,且易于软硬件实现。此后,许多密码研究人员对ARX类分组密码算法进行了研究,比较有名的算法有HIGHT、TEA、XTEA等。
但是,现有的分组方法无法实现加密解密的自反性,需要使用单独的模加和模减运算装置,无法节省面积。
发明内容
本发明是为了解决分组算法无法实现加密解密的自反性的问题,提供一种具有自反性质的模运算装置,将一种对合矩阵B与具有自反性质的加密解密运算相结合,并将8个模加模减运算通过矩阵的循环性质优化设计为6个模加模减运算。本发明具有良好的可扩展性,即模运算装置的输入可以为16、32、64、128、256比特长度,可以用于ARX类分组密码算法的轮函数设计;并且在设计充分考虑了自反性,即加解密相同,可以在分组密码算法设计中实现硬件的电路复用,同时实现了循环特性,即第2行是第1行的循环移位,第4行是第3行的循环移位,该循环设计可以节省硬件实现面积;本发明除了可以为加密算法提供非线性性,同时具有良好的扩散性能,能够同时实现分支内和分支之间的扩散。本发明提供一种具有自反性质的模运算装置,模运算装置可逆,模运算装置的矩阵B为:
由于B·M=S,数据块S={S0,S1,S2,S3}输入模运算装置进行模运算后得到数据块M={M0,M1,M2,M3},数据块M={M0,M1,M2,M3}输入模运算装置进行模运算后得到数据块S={S0,S1,S2,S3};
由于B·S=M,B·M=S,模运算装置可同时应用于数据的加密和解密过程中。
本发明所述的一种具有自反性质的模运算装置,作为优选方式,模运算装置包括四个输入端口、四个输出端口、两个模加模块和四个模减模块,第二输入端口、第三输入端口均与第一模加模块相连,第一输入端口、第四输入端口均与第一模减模块相连,第一模加模块的输出端口、第一输入端口均与第二模减模块相连,第二模减模块与第一输出端口相连,第一模加模块的输出端口、第四输入端口均与第三模减模块相连,第三模减模块与第四输出端口相连,第一模减模块的输出端口、第二输入端口均与第二模加模块相连,第二模加模块与第二输出端口相连,第一模减模块的输出端口、第三输入端口均与第四模减模块相连,第四模减模块与第三输出端口相连。
本发明所述的一种具有自反性质的模运算装置,作为优选方式,数据块S={S0,S1,S2,S3}经过模运算装置后输出数据块M={M0,M1,M2,M3},其中数据块S1和数据块S2进入第一模加模块后输出数据块S1+S2,数据块S1+S2与数据块S0进入第二模减模块后输出数据块M0,数据块S1+S2与数据块S3进入第三模减模块后输出数据块M3,数据块S0和数据块S3进入第一模减模块后输出数据块S0-S3,数据块S0-S3与数据块S1进入第二模加模块后输出数据块M1,数据块S0-S3与数据块S2进入第四模减模块后输出数据块M2
本发明所述的一种具有自反性质的模运算装置,作为优选方式,数据块M={M0,M1,M2,M3}经过模运算装置后输出数据块S={S0,S1,S2,S3},其中数据块M1和数据块M2进入第一模加模块后输出数据块M1+M2,数据块M1+M2与数据块M0进入第二模减模块后输出数据块S0,数据块M1+M2与数据块M3进入第三模减模块后输出数据块S3,数据块M0和数据块M3进入第一模减模块后输出数据块M0-M3,数据块M0-M3与数据块M1进入第二模加模块后输出数据块S1,数据块M0-M3与数据块M2进入第四模减模块后输出数据块S2
本发明所述的一种具有自反性质的模运算装置,作为优选方式,数据块M为:
本发明所述的一种具有自反性质的模运算装置,作为优选方式,模运算装置应用于ARX分组密码算法中,模运算装置的输入可以为16、32、64、128、256比特长度。
本发明所述的一种具有自反性质的模运算装置,作为优选方式,还包括电连接的密钥生成装置和加密密钥混合运算装置,加密密钥混合运算装置的输出端与模运算装置的输入端相连,模运算装置的输出返回加密密钥混合运算装置直至达到指定轮数,指定轮数为r+1,加密密钥混合运算装置和模运算装置为加密装置的组件;
明文P进入加密装置后,首先在加密密钥混合运算装置中与密钥生成装置的轮密钥k0进行混合运算输出拼接数据串S0||S1||S2||S3,数据串S0||S1||S2||S3拆分为四个相同大小的数据块S={S0,S1,S2,S3}后作为模运算装置的输入,经过模加模减运算并拼接后得到数据串M0||M1||M2||M3并返回加密密钥混合运算装置,直至重复r轮,轮密钥的使用顺序为k0,k1,…,kr,重复r次后的输出数据串M0||M1||M2||M3=C为加密装置的密文。
本发明所述的一种具有自反性质的模运算装置,作为优选方式,还包括电连接的密钥生成装置和解密密钥混合运算装置,解密密钥混合运算装置的输入端与模运算装置的输出端相连,解密密钥混合运算装置的输出返回模运算装置直至达到指定轮数,指定轮数为r,解密密钥混合运算装置和模运算装置为解密装置的组件;
密文C=M0||M1||M2||M3进入加密装置后,首先拆成相同大小的数据块M={M0,M1,M2,M3}并经过模运算装置,级联后得到输出数据串S0||S1||S2||S3,数据串S0||S1||S2||S3和解密密钥混合运算装置的密钥kr作为解密密钥混合运算装置的输入经运算输出后再返回模运算装置的输入,经过r轮的重复输出解密后的明文P,P=S0||S1||S2||S3,轮密钥的使用顺序为kr,…,k1,k0。
本发明所述的一种具有自反性质的模运算装置,作为优选方式,矩阵B的设计方法包括以下步骤:
S1、随机选择矩阵B的第n行元素并使得汉明重量尽量大;
S2、设置寻找条件:矩阵B的第n+1行是矩阵B第n行的循环左移一位;
S3、判断矩阵B是否为对合矩阵,判断依据为:B×B=E,如果否,则返回步骤S1,如果是,则输出矩阵B,矩阵B的设计方法完成。
本发明所述的一种具有自反性质的模运算装置,作为优选方式,步骤S1中,随机选择矩阵B第一行和第三行的元素并使汉明重量为3;
步骤S2中,矩阵B的第二行是矩阵第一行的循环左移一位,矩阵B第四行是第三行的循环左移一位。
本发明为信息安全与密码算法领域,给出了构造具有自反性质的模运算装置的方法。该模运算装置的自反特性及模块的快速实现属于本技术方案的保护内容。
本发明具有以下优点:
(1)、本发明提供了一种对合矩阵B,本技术方案通过将设计的矩阵B与加密解密运算相结合,具有良好的可扩展性,即模运算装置的输入可以为16、32、64、128、256比特长度,可以用于ARX类分组密码算法的轮函数设计。
(2)、模运算装置设计充分考虑了自反性,即加解密相同,可以在分组密码算法设计中实现硬件的电路复用。
(3)、模运算装置实现了循环特性,即第2行是第1行的循环移位,第4行是第3行的循环移位,该循环设计可以节省硬件实现面积。
(4)、模运算装置除了可以为加密算法提供非线性性,同时具有良好的扩散性能(汉明重量为3),能够同时实现分支内和分支之间的扩散。
附图说明
图1为一种具有自反性质的模运算装置由数据块S到数据块M的优化实现图;
图2为一种具有自反性质的模运算装置由数据块M到数据块S的优化实现图;
图3为一种具有自反性质的模运算装置与加密装置关系图;
图4为一种具有自反性质的模运算装置与解密装置关系图;
图5为一种具有自反性质的模运算装置设计过程流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
如图1~2所示,一种具有自反性质的模运算装置,该方案利用模232域上的模加(+)和模减(-)运算,构造了一个具有自反性质的模运算装置M,模运算装置对应的矩阵记为B。
经程序搜索找到满足上述性质的矩阵:
B满足B2=E,即B-1=B,逆矩阵也为:
该矩阵具有自反的代数结构,即加密和解密运算相同;每一行的汉明重量为3,扩散性能较好;矩阵还具有循环性。
将矩阵B转化至模运算装置M,M的输入为{S0,S1,S2,S3},输出为{M0,M1,M2,M3},则:
其中,Si,i∈{0,1,2,3}:为输入的4个分支;Mi,i∈{0,1,2,3}为输出的4个分支,每个分支的长度可以为4、8,16,32,64比特长度,具有可扩展性。
由模运算装置输入输出的表达式:
可知,该模运算装置需要8个模加模减运算,通过矩阵的循环性质优化设计,该模运算装置仅需要6个模加模减运算可以实现,如图1所示,由数据块M到数据块S的实现过程见图2所示。
本发明应用在加密装置场景中时,以明文P和密文C的分组长度为128比特为例详细介绍模运算装置的使用方法。
在图3中,密钥生成装置可以为加密装置生成所需要的r+1个轮密钥,明文P进入加密装置后,首先在加密密钥混合运算装置中,与k0进行混合运算,得到128比特输出S0||S1||S2||S3(级联后的数据串),S0||S1||S2||S3作为模运算装置的输入,经过模加模减运算后得到M0||M1||M2||M3(级联后的数据串),该过程重复r轮,轮密钥的使用顺序为k0,k1,…,kr,重复r次后的输出M0||M1||M2||M3=C为加密装置的密文。
解密装置作为解密装置的逆过程,在图4中,密钥生成装置可以为加密装置生成所需要的r+1个轮密钥,明文C进入加密装置后,首先拆成4个32比特的值M0,M1,M2,M3,经过模运算装置后得到输出S0||S1||S2||S3,S0||S1||S2||S3和密钥kr作为解密密钥混合运算装置的输入,经装置运算输出后再返回模运算装置的输入,经过r轮的重复,轮密钥的使用顺序为kr,…,k1,k0,输出解密后的明文P。
由图3和图4可以看出,由于模运算装置的自反性,在加密和解密装置实现的过程中,可以重复使用模运算装置,从而节省了加解密装置的实现面积。
本实施例的设计过程如图5所示,我们想利用模232域上的模加(+)和模减(-)运算,构造一个模运算装置。该模块的输入向量为{S0,S1,S2,S3},输出向量为{M0,M1,M2,M3}。输出向量的每个元素Mi(i∈{0,1,2,3})为输入元素Si(i∈{0,1,2,3})的某个线性组合,该线性组合可以用一个矩阵表示。因此ARX类分组密码模运算装置的构造问题,转化成为一个4×4的矩阵的构造问题。为了找到一个混乱、扩散性质比较好,实现效率高的矩阵我们考虑以下几个方面:
1)为了寻找一个扩散效果更好的矩阵,我们希望矩阵的汉明重量比较高;
2)为了避免模乘法运算造成的效率变低,我们希望矩阵的每个元素是0,1,-1。该元素集合可以保证输出每个元素均为输入的模加和模减运算的组合。
3)考虑实现的高效性,我们希望矩阵具有自反性、循环性等性质。
1、搜索流程使用计算机搜索满足上述构造思路的流程如下:
1)随机选择矩阵B的第一行和第三行的元素,使得汉明重量比较高;
2)设置条件:矩阵B的第二行是矩阵第一行的循环左移一位,设置矩阵第四行是第三行的循环左移一位;
3)验证是否组成的矩阵B是否满足自反性,即B×B=E,若矩阵B2为单位矩阵,则输出矩阵B,否则返回步骤1)。
流程图如图5所示。
本实施例中符号的说明如下:
1.模加+:模232域上的加法,所有参与运算的元素为32位的二进制数表示,且在计算过程中,所有数字都要的对232取模。
2.模减-:模232域上的减法,所有参与运算的元素为32位的二进制数表示,且在计算过程中,所有数字都要的对232取模。
3.Si,i∈{0,1,2,3}:Si为一个4、8或16、32、64比特串。
4.Mi,i∈{0,1,2,3}:Mi为一个4、8或16、32、64比特串。
5.Si||Si+1:两个比特串的级联。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种具有自反性质的模运算装置,其特征在于:模运算装置可逆,所述模运算装置对应的矩阵B为:
由于B·S=M,数据块S={S0,S1,S2,S3}输入所述模运算装置进行模运算后得到数据块M={M0,M1,M2,M3},数据块M={M0,M1,M2,M3}输入所述模运算装置进行模运算后得到数据块S={S0,S1,S2,S3},矩阵B具有自反特性,为对合矩阵;
所述模运算装置可同时应用于数据的加密和解密过程中。
2.根据权利要求1所述的一种具有自反性质的模运算装置,其特征在于:模运算装置包括四个输入端口、四个输出端口、两个模加模块和四个模减模块,第二输入端口、第三输入端口均与第一模加模块相连,第一输入端口、第四输入端口均与第一模减模块相连,所述第一模加模块的输出端口、所述第一输入端口均与第二模减模块相连,所述第二模减模块与第一输出端口相连,所述第一模加模块的输出端口、所述第四输入端口均与第三模减模块相连,所述第三模减模块与第四输出端口相连,所述第一模减模块的输出端口、所述第二输入端口均与第二模加模块相连,所述第二模加模块与第二输出端口相连,所述第一模减模块的输出端口、所述第三输入端口均与第四模减模块相连,所述第四模减模块与第三输出端口相连。
3.根据权利要求2所述的一种具有自反性质的模运算装置,其特征在于:数据块S={S0,S1,S2,S3}经过所述模运算装置后输出数据块M={M0,M1,M2,M3},其中数据块S1和数据块S2进入所述第一模加模块后输出数据块S1+S2,数据块S1+S2与数据块S0进入所述第二模减模块后输出数据块M0,数据块S1+S2与数据块S3进入所述第三模减模块后输出数据块M3,数据块S0和数据块S3进入所述第一模减模块后输出数据块S0-S3,数据块S0-S3与数据块S1进入所述第二模加模块后输出数据块M1,数据块S0-S3与数据块S2进入所述第四模减模块后输出数据块M2
4.根据权利要求2所述的一种具有自反性质的模运算装置,其特征在于:数据块M={M0,M1,M2,M3}经过所述模运算装置后输出数据块S={S0,S1,S2,S3},其中数据块M1和数据块M2进入所述第一模加模块后输出数据块M1+M2,数据块M1+M2与数据块M0进入所述第二模减模块后输出数据块S0,数据块M1+M2与数据块M3进入所述第三模减模块后输出数据块S3,数据块M0和数据块M3进入所述第一模减模块后输出数据块M0-M3,数据块M0-M3与数据块M1进入所述第二模加模块后输出数据块S1,数据块M0-M3与数据块M2进入所述第四模减模块后输出数据块S2
5.根据权利要求1所述的一种具有自反性质的模运算装置,其特征在于:数据块M为:
6.根据权利要求1所述的一种具有自反性质的模运算装置,其特征在于:所述模运算装置应用于ARX分组密码算法轮函数中,所述模运算装置的输入长度可以为以下任意一种:16比特、32比特、64比特、128比特、256比特。
7.根据权利要求1所述的一种具有自反性质的模运算装置,其特征在于:还包括电连接的密钥生成装置和加密密钥混合运算装置,所述加密密钥混合运算装置的输出端与所述模运算装置的输入端相连,所述模运算装置的输出返回所述加密密钥混合运算装置直至达到指定轮数,指定轮数为r,所述加密密钥混合运算装置和所述模运算装置为加密装置的组件;
明文P进入所述加密装置后,首先在所述加密密钥混合运算装置中与所述密钥生成装置的轮密钥k0进行混合运算输出级联数据串S0||S1||S2||S3,数据串S0||S1||S2||S3拆分为四个相同大小的数据块S={S0,S1,S2,S3}后作为所述模运算装置的输入,经过模加模减运算并级联后得到数据串M0||M1||M2||M3并返回所述加密密钥混合运算装置,直至重复r轮,所述轮密钥的使用顺序为k0,k1,…,kr,重复r次后的输出数据串M0||M1||M2||M3=C为加密装置的密文。
8.根据权利要求1所述的一种具有自反性质的模运算装置,其特征在于:还包括电连接的密钥生成装置和解密密钥混合运算装置,所述解密密钥混合运算装置的输入端与所述模运算装置的输出端相连,所述解密密钥混合运算装置的输出返回所述模运算装置直至达到指定轮数,指定轮数为r,所述解密密钥混合运算装置和所述模运算装置为解密装置的组件;
密文C=M0||M1||M2||M3进入所述加密装置后,首先拆成相同大小的数据块M={M0,M1,M2,M3}并经过所述模运算装置,级联后输出数据串S0||S1||S2||S3,数据串S0||S1||S2||S3和所述解密秘钥混合运算装置的密钥kr作为所述解密密钥混合运算装置的输入经运算输出后再返回所述模运算装置的输入,经过r轮的重复输出解密后的明文P,P=S0||S1||S2||S3,轮密钥的使用顺序为kr,…,k1,k0。
9.根据权利要求1所述的一种具有自反性质的模运算装置,其特征在于:矩阵B的设计方法包括以下步骤:
S1、随机选择矩阵B的第n行元素并使得汉明重量尽量大;
S2、设置寻找条件:矩阵B的第n+1行是矩阵B第n行的循环左移一位;
S3、判断矩阵B是否为对合矩阵,判断依据为:B×B=E,如果否,则返回步骤S1,如果是,则输出矩阵B,矩阵B的设计方法完成。
10.根据权利要求9所述的一种具有自反性质的模运算装置,其特征在于:步骤S1中,随机选择矩阵B第一行和第三行的元素并使汉明重量为3;
步骤S2中,矩阵B的第二行是矩阵第一行的循环左移一位,矩阵B第四行是第三行的循环左移一位。
CN202311134063.1A 2023-09-04 2023-09-04 一种具有自反性质的模运算装置 Pending CN117193714A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311134063.1A CN117193714A (zh) 2023-09-04 2023-09-04 一种具有自反性质的模运算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311134063.1A CN117193714A (zh) 2023-09-04 2023-09-04 一种具有自反性质的模运算装置

Publications (1)

Publication Number Publication Date
CN117193714A true CN117193714A (zh) 2023-12-08

Family

ID=88993567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311134063.1A Pending CN117193714A (zh) 2023-09-04 2023-09-04 一种具有自反性质的模运算装置

Country Status (1)

Country Link
CN (1) CN117193714A (zh)

Similar Documents

Publication Publication Date Title
CN110363030B (zh) 用于执行基于格的密码操作的方法和处理设备
US6226382B1 (en) Method for implementing a private-key communication protocol between two processing devices
US20210243005A1 (en) Fully homomorphic encryption method and device and computer readable storage medium
US20070214361A1 (en) Device, System and Method for Fast Secure Message Encryption Without Key Distribution
Iyer et al. A novel idea on multimedia encryption using hybrid crypto approach
US20070297614A1 (en) Device, System and Method for Fast Secure Message Encryption Without Key Distribution
KR100800468B1 (ko) 저전력 고속 동작을 위한 하드웨어 암호화/복호화 장치 및그 방법
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
Sarkar et al. Role of cryptography in network security
Shantha et al. Analysis and implementation of ECC algorithm in lightweight device
Abdullah et al. Security improvement in elliptic curve cryptography
CN112100144A (zh) 区块链文件共享方法、装置、存储介质及电子设备
Dawood et al. Design large symmetric algorithm for securing big data
Gangadari et al. FPGA implementation of compact S-box for AES algorithm using composite field arithmetic
CN114826560B (zh) 一种轻量级分组密码cref实现方法及系统
Singh et al. Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish
CN117193714A (zh) 一种具有自反性质的模运算装置
Sundararajan et al. A comprehensive survey on lightweight asymmetric key cryptographic algorithm for resource constrained devices
Somboonpattanakit et al. Secure password storing using prime decomposition
RajaRaja et al. Implementation of hardware efficient light weight encryption method
JoshI et al. Design and analysis of a robust and efficient block cipher using cellular automata
Sasikumar et al. Systolic array implementation of mix column and inverse mix column of AES
Pal et al. A novel block cipher technique using binary field arithmetic based substitution (BCTBFABS)
Pathirage et al. Multi-Prime RSA Verilog Implementation Using 4-Primes
Sone A New Cross-Layer FPGA-Based Security Scheme for Wireless Networks

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