CN110430038B - 分组密码设计中面向硬件实现的mds矩阵构造方法及装置 - Google Patents

分组密码设计中面向硬件实现的mds矩阵构造方法及装置 Download PDF

Info

Publication number
CN110430038B
CN110430038B CN201910536682.0A CN201910536682A CN110430038B CN 110430038 B CN110430038 B CN 110430038B CN 201910536682 A CN201910536682 A CN 201910536682A CN 110430038 B CN110430038 B CN 110430038B
Authority
CN
China
Prior art keywords
matrix
mds
elements
exclusive
hardware
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.)
Active
Application number
CN201910536682.0A
Other languages
English (en)
Other versions
CN110430038A (zh
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.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
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 Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN201910536682.0A priority Critical patent/CN110430038B/zh
Publication of CN110430038A publication Critical patent/CN110430038A/zh
Application granted granted Critical
Publication of CN110430038B publication Critical patent/CN110430038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

本发明属于分组密码设计技术领域,特别涉及一种分组密码设计中面向硬件实现的MDS矩阵构造方法及装置,该方法包含:利用托普利兹矩阵类型,构造MDS矩阵元素所需满足的约束式;寻找有限域内异或数最少的元素,确定MDS矩阵元素候选集;借助MATLAB对满足约束式条件的矩阵进行自动化搜索并根据矩阵元素异或数输出异或数之和最小的矩阵,依据输出的矩阵获取最终面向硬件实现的MDS矩阵。本发明利用Toeplitz矩阵结构特点,给出MDS性质设计约束条件,借助MATLAB进行自动化搜索,大大降低计算复杂度;同时寻找异或数最少的有限域元素,将其作为矩阵元素来构造MDS矩阵,不仅保证密码设计过程中安全性,还兼顾硬件应用效率,对轻量级分组密码算法设计具有现实意义。

Description

分组密码设计中面向硬件实现的MDS矩阵构造方法及装置
技术领域
本发明属于分组密码设计技术领域,特别涉及一种分组密码设计中面向硬件实现的MDS矩阵构造方法及装置。
背景技术
随着计算机和网络通信的高速发展,互联网正快速渗入社会的各个角落,在给人们的生活带来便利的同时,也对信息安全产生了极大的威胁,网络安全面临巨大挑战。病毒、蠕虫、勒索软件等大量信息时代的“蛀虫”层出不穷,对个人甚至对企业进行攻击,产生极大的经济损失,因此,人们对于信息传输,存储等的安全需求日益迫切,“信息安全是信息的影子,哪里有信息哪里就需要信息安全”。因此,信息安全和保密技术尤为重要,而现代密码就是保证信息安全的重要技术。现代密码学的体制可以分为两类:对称密码体制和非对称密码体制。对称密码体制是应用最广泛的,主要包括分组密码、流密码和消息认证码三个分支。其中,分组密码具有重要的地位,具有加密速度快、易于标准化、便于软硬件实现的特点,是实现数据加密、身份认证、消息识别等的核心密码算法,且可作为基础组件运用到随机数生成器、Hash函数、MAC消息认证码等算法中,在信息安全领域具有广泛的应用。在过去的几年里,网络通信的计算能力不断提高,各个行业对自己的加密标准提出了新的要求,在很多情况下并不要求理论上的绝对安全性,而是实际安全需求,但通常需要较快的加解密速度,这对硬件效率提出了新的要求。随着物联网等普适计算的发展,微型设备被广泛应用,由于设备终端的存储和计算能力等条件限制,一些传统的密码算法不能够很好地满足现实需求,如何解决资源受限环境下的网络信息安全问题引起了人们的关注。
为了更好地适应时代发展,折衷考虑安全与效率等因素,密码设计者提出了轻量级分组密码,它们通过简单的算法结构和较短的密钥长度,可以较好的平衡安全性与硬件实现等要求,得到了越来越广泛的应用,如CLEFIA、PRESENT、LED、LBlock、SIMON和SIMECK等。随着信息安全问题日益受到人们的关注,如何设计安全性更好的分组密码算法显得尤为重要。混淆原则和扩散原则是分组密码安全性设计的两个重要原则,混淆层的作用是使密钥和明密文之间的关系尽可能复杂;扩散层将S盒的输入输出进行打乱,为密码算法提供了内部独立性。对扩散层的设计是近年来研究的重点,一个设计良好的扩散层不仅能提供最好的扩散效果,还能提高算法的应用效率。扩散层的设计原则有两个,一个是安全性原则,另一个是效率原则。分支数是衡量一个扩散层扩散性能好坏的指标,利用分支数可以给出分组密码活动S盒数目的界,进而衡量密码算法抵抗差分分析和线性分析的能力。因此分支数越大,扩散效果越好,安全性越高。MDS(maximum distance separable)矩阵的分支数达到最大,扩散效果最好,能更好的抵抗差分分析和线性分析,安全性最高,因此很多算法诸如AES等采用MDS矩阵作为扩散层。异或数(XORs)是扩散矩阵在应用时所需进行的异或操作次数,用来衡量扩散层的效率。异或数越少,效率越高。MDS矩阵常见的构造方法为线性码构造法,通过计算其分支数来获得MDS矩阵。MDS矩阵的每一个元素均为非零,而传统构造方法通常忽略了矩阵的效率问题,因此导致在应用时耗能较大,很难适应轻量级算法。因此如何构造一个适用于轻量级MDS矩阵是近来的研究热点。
发明内容
为此,本发明提供一种分组密码设计中面向硬件实现的MDS矩阵构造方法及装置,克服现有MDS矩阵异或数较高、不能很好地适应轻量级密码算法等的缺陷,提高密码设计中的安全性和高效率,具有较强的应用前景。
按照本发明所提供的设计方案,一种分组密码设计中面向硬件实现的MDS矩阵构造方法,包含如下内容:
A)利用托普利兹矩阵类型,构造MDS矩阵元素所需满足的约束式;寻找有限域内异或数最少的元素,确定MDS矩阵元素候选集;
B)借助MATLAB对满足约束式条件的矩阵进行自动化搜索并根据矩阵元素异或数输出异或数之和最小的矩阵,依据输出的矩阵获取最终面向硬件实现的MDS矩阵。
上述的,A)中,托普利兹矩阵从左到右每一个下降对角线元素相等,只由其第一行和第一列元素决定,利用托普利兹矩阵结构特点并结合MDS矩阵分支数最大性质,构造MDS矩阵元素约束式。
上述的,A)中,约束式内容表示为:假设矩阵T是托普利兹矩阵,且T中元素ai=ai+t=ai+2t,满足条件
Figure GDA0003828569030000031
则该矩阵T不是MDS矩阵。
优选的,A)矩阵T中,设定每一个d×d的子矩阵为矩阵Tsub,则Tsub满足:Tsub的第一行元素属于矩阵T的第一行元素;Tsub的第一列元素属于矩阵T的第一列元素;获取矩阵T中不同d×d的子矩阵个数N,验证矩阵T的N个子矩阵是否为非奇异,来判定矩阵T是否为MDS矩阵。
上述的,A)中,依据XORs性质,寻找有限域内异或最少的元素中,XORs性质包含:若矩阵元素a的最小多项式是m次不可约三项式,则该矩阵元素a异或数为1;若其最小多项式是m次不可约五项式,则其异或数为2;若XOR(a)=t,则XOR(as)≤|s×t|。
上述的,B)中自动化搜索包含如下内容:选择t个矩阵元素候选集,构造托普利兹矩阵;判断矩阵元素是否满足约束式来输出托普利兹类型的MDS输出矩阵;计算输出矩阵所有元素的异或数之和,通过比较获得最小的异或数之和,并输出对应矩阵作为最终构造的MDS矩阵。
优选的,B)中,判断矩阵是否为MDS矩阵时,首先依据矩阵元素是否满足约束式来判定矩阵,若是,返回,重新选择矩阵元素进行执行;否则,则进一步根据矩阵中所有维度不同子矩阵是否为非奇异来验证矩阵是否为MDS矩阵,对通过验证的矩阵,将该矩阵作为MDS输出矩阵。
更进一步地,本发明还提供一种分组密码设计中面向硬件实现的MDS矩阵构造装置,包含:构造模块和输出模块,其中,
构造模块,用于利用托普利兹矩阵类型,构造MDS矩阵元素所需满足的约束式;寻找有限域内异或数最少的元素,确定MDS矩阵元素候选集;
输出模块,用于借助MATLAB对满足约束式条件的矩阵进行自动化搜索并根据矩阵元素异或数输出异或数之和最小的矩阵,依据输出的矩阵获取最终面向硬件实现的MDS矩阵。
本发明的有益效果:
本发明利用Toeplitz矩阵的结构特点,给出MDS性质矩阵元素的约束条件,借助MATLAB进行自动化搜索,大大降低计算复杂度;同时寻找异或数最少的有限域元素,将其作为矩阵元素来构造MDS矩阵,构造目前已知XORs最少的MDS矩阵;不仅考虑密码设计过程中的安全性,还兼顾考硬件应用效率,对轻量级分组密码算法的设计具有现实意义,具有较强的应用前景。
附图说明:
图1为实施例中矩阵构造方法流程图;
图2为实施例中矩阵构造装置示意图;
图3为实施例中矩阵构造算法原理示意;
图4为实施例中根据元素约束条件搜索MDS矩阵算法原理示意。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
如何构造一个适用于轻量级MDS矩阵是近来的研究热点。本发明实施例中,参见图1所示,提供一种分组密码设计中面向硬件实现的MDS矩阵构造方法,包含如下内容:
S101)利用托普利兹矩阵类型,构造MDS矩阵元素所需满足的约束式;寻找有限域内异或数最少的元素,确定MDS矩阵元素候选集;
S102)借助MATLAB对满足约束式条件的矩阵进行自动化搜索并根据矩阵元素异或数输出异或数之和最小的矩阵,依据输出的矩阵获取最终面向硬件实现的MDS矩阵。
为构造XORs较少的MDS矩阵,利用特殊结构矩阵Toeplitz矩阵构造了有限域F24和F28上的4×4MDS矩阵,其XORs达到了当时的最优结果。通过改进了XORs计算方法,降低矩阵的XORs,构造XORs优于当时已知最优结果的多维度的MDS循环矩阵。为构造XORs较小的MDS矩阵,通常会利用一些特殊结构的矩阵如循环矩阵、Hadamard矩阵等,同时选择XORs较少的矩阵元素来构造扩散矩阵。尽管面向硬件轻量级MDS矩阵的构造研究已经取得了很多成果,但仍存在矩阵异或数和计算复杂度较高等情形。本发明实施例中,利用托普利兹矩阵的结构性质,得到刻画MDS矩阵特性的约束式,基于能更准确计算XORs的方法选择XORs较少的有限域元素,将其作为矩阵元素来构造XORs较少的MDS矩阵,利用MATLAB对满足元素约束条件MDS矩阵进行自动化搜索,计算所搜得矩阵的XORs,对比得到XORs最少的MDS矩阵,大大降低了复杂度,提高效率。
托普利兹矩阵Toeplitz matrix,简称为T型矩阵,它是由Bryc、Dembo、Jiang于2006年提出的,结构简单、便于硬件应用、质量良好,适合作为扩散矩阵。举例给出一个n×nToeplitz矩阵如下:
Figure GDA0003828569030000051
MDS矩阵的分支数达到最大,具有性质:若L是一个n维的MDS矩阵,n是一个正整数且n≥2,则L是一个MDS矩阵的充要条件是:对任意的1≤g≤n,矩阵L的每一个g×g子矩阵均为非奇异。因此,进一步地,本发明实施例中,托普利兹矩阵从左到右每一个下降对角线元素相等,只由其第一行和第一列元素决定,利用托普利兹矩阵结构特点并结合MDS矩阵分支数最大性质,构造MDS矩阵元素约束式。
进一步地,本发明实施例中,利用Toeplitz矩阵的定义以及MDS矩阵的性质,约束式内容表示为:假设矩阵T是托普利兹矩阵,且T中元素ai=ai+t=ai+2t,满足条件
Figure GDA0003828569030000052
则该矩阵T不是MDS矩阵。
给定一个矩阵T=Toep(a0,a1,…,a-1,a-2,…,a-(n-1)),存在i,t满足
Figure GDA0003828569030000053
则T中一定存在一个子矩阵
Figure GDA0003828569030000054
因为ai=ai+t=ai+2t,所以该子矩阵行列式为0由MDS矩阵的性质可知,T一定不是MDS矩阵,上述内容得证。
进一步地,本发明实施例中,矩阵T,设定每一个d×d的子矩阵为矩阵Tsub,则Tsub满足:Tsub的第一行元素属于矩阵T的第一行元素;Tsub的第一列元素属于矩阵T的第一列元素;获取矩阵T中不同d×d的子矩阵个数N,验证矩阵T的N个子矩阵是否为非奇异,来判定矩阵T是否为MDS矩阵。
由于Toeplitz矩阵的特殊结构,还具有如下特点:假设T=Toep(a0,a1,…,a-1,a-2,…,a-(n-1))Toeplitz矩阵,T的每一个d×d子矩阵都等于T的一个特定的d×d子矩阵Tsub,Tsub满足如下条件:1.Tsub的第一行元素属于T的第一行元素;2.Tsub的第一列元素属于T的第一列元素。以4×4Toeplitz矩阵为例,
Figure GDA0003828569030000061
T的第2、4行和第2、4列形成的2×2子矩阵等于T的第1、3行和第1、3列形成的2×2子矩阵,均为
Figure GDA0003828569030000062
由此,可以计算出矩阵T=Toep(a0,a1,…,a-1,a-2,…,a-(n-1))中不同的d×d子矩阵的个数为
Figure GDA0003828569030000063
因此,当1≤d≤n时,T的所有维度不同子矩阵的个数为
Figure GDA0003828569030000064
因此,在验证矩阵T是否为MDS矩阵时,只需验证
Figure GDA0003828569030000065
个子矩阵是否为非奇异的,结合上述约束式内容,可以大幅度降低搜索复杂度,有利于寻找高维度的MDS矩阵。
在物联网快速发展的今天,微型设备的计算能力有限,仅满足安全性是不够的,还应充分考虑硬件应用效率问题。为降低扩散矩阵的XORs,应选择异或数较少的矩阵元素进行构造。进一步地,本发明实施例中,依据XORs性质,寻找有限域内异或最少的元素中,XORs性质包含:若矩阵元素a的最小多项式是m次不可约三项式,则该矩阵元素a异或数为1;若其最小多项式是m次不可约五项式,则其异或数为2;若XOR(a)=t,则XOR(as)≤|s×t|。
若可逆矩阵A可以被表示为如下形式:
Figure GDA0003828569030000066
t是使得上式成立的最小值,则可逆矩阵A的XORs为t,记为
Figure GDA0003828569030000073
该XORs计算方法只计算不使用临时寄存器的XORs,这在实际应用时,技术上是更容易处理的,对实际应用效率更具有参考价值。本发明发明实施例中面临的问题是寻找XORs较少的有限域元素,有如下性质:性质1:对于矩阵元素
Figure GDA0003828569030000071
若其最小多项式是一个m次不可约三项式,则其异或数为1。性质2:对于矩阵元素
Figure GDA0003828569030000072
若其最小多项式是一个m次不可约五项式,则其异或数为2。性质3:若XOR(α)=t,则XOR(αs)≤|s×t|。
参见图3和图4所示,根据XORs计算方法以及以上三个性质,可以寻找到有限域内异或最少的元素α,在已知α的XORs的情况下,很容易得知{α-12-2,…}等元素的XORs,为方便计算矩阵的XORs,本发明将{1,α,α-12-2,…}作为矩阵元素候选集,用来构造轻量级MDS矩阵。选定特殊矩阵类型后,求得矩阵元素约束式,在确定有限域后可求得XORs最少的元素α,利用元素{1,α,α-12-2,…}构造特殊矩阵,并验证其是否为MDS矩阵,进而通过利用MATLAB对满足元素约束条件MDS矩阵进行自动化搜索,大大减少计算复杂度,有利于搜索高纬度MDS矩阵。
进一步地,本发明实施例中,自动化搜索包含如下内容:选择t个矩阵元素候选集,构造托普利兹矩阵;判断矩阵元素是否满足约束式来输出托普利兹类型的MDS输出矩阵;计算输出矩阵所有元素的异或数之和,通过比较获得最小的异或数之和,并输出对应矩阵作为最终构造的MDS矩阵。优选的,判断矩阵是否为MDS矩阵时,首先依据矩阵元素是否满足约束式来判定矩阵,若是,返回,重新选择矩阵元素进行执行;否则,则进一步根据矩阵中所有维度不同子矩阵是否为非奇异来验证矩阵是否为MDS矩阵,对通过验证的矩阵,将该矩阵作为MDS输出矩阵。
传统构造方法通常利用手动推导的方式,不仅效率低下,构造结果也容易出现遗漏,因此,本发明实施例中,参见图3和4所示,借助MATLAB对满足约束条件的矩阵进行自动化搜索,实现算法可如算法1所示:
算法1:根据元素约束条件搜索MDS矩阵
1.选择t个矩阵元素候选集,构造Toeplitz矩阵,其中矩阵的每一个元素均可为候选集中的元素;
2.判断矩阵元素是否满足约束式内容中的约束条件。若满足,则返回第1步;
3.根据矩阵中所有维度不同子矩阵是否为非奇异来验证矩阵是否为MDS矩阵,计算其子矩阵行列式,若存在0,则返回第1步;
4.输出Toeplitz MDS矩阵;
5.计算输出矩阵所有元素的异或数之和;
6.比较获得异或数之和的最小值,输出其对应的矩阵。
通过算法1,可得到满足MDS性质的Toeplitz矩阵,并计算可以衡量其硬件应用效率的XORs,进一步得到XORs最少的MDS矩阵。计算所搜得矩阵的XORs,对比得到XORs最少的MDS矩阵;将获得的最小异或数与现有同纬度MDS矩阵的异或数进行对比,可发现本发明实施例中获取的结果优于现有结果,能够获得异或数最少效率最高的MDS矩阵。
更进一步地,本发明实施例还提供一种分组密码设计中面向硬件实现的MDS矩阵构造装置,参见图2所示,包含:构造模块101和输出模块102,其中,
构造模块101,用于利用托普利兹矩阵类型,构造MDS矩阵元素所需满足的约束式;寻找有限域内异或数最少的元素,确定MDS矩阵元素候选集;
输出模块102,用于借助MATLAB对满足约束式条件的矩阵进行自动化搜索并根据矩阵元素异或数输出异或数之和最小的矩阵,依据输出的矩阵获取最终面向硬件实现的MDS矩阵。
本发明实施例中,利用托普利兹矩阵结构特点,给出MDS性质构造矩阵元素的约束条件,借助MATLAB进行自动化搜索,大大降低计算复杂度;同时寻找异或数最少的有限域元素,将其作为矩阵元素来构造MDS矩阵,构造目前已知XORs最少的MDS矩阵;克服现有MDS矩阵异或数较高、不能很好地适应轻量级密码算法等的缺陷,在保证密码设计过程中的安全性的同时,能够提高其硬件应用效率,对轻量级分组密码算法的设计具有重要的现实意义和较强的应用前景。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
基于上述的方法,本发明实施例还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。
基于上述的方法,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的方法。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (7)

1.一种分组密码设计中面向硬件实现的MDS矩阵构造方法,其特征在于,
A)利用托普利兹矩阵类型,构造MDS矩阵元素所需满足的约束式;寻找有限域内异或数最少的元素,确定MDS矩阵元素候选集;
B)借助MATLAB对满足约束式条件的矩阵进行自动化搜索并根据矩阵元素异或数输出异或数之和最小的矩阵,依据输出的矩阵获取最终面向硬件实现的MDS矩阵;
A)中,托普利兹矩阵从左到右每一个下降对角线元素相等,只由其第一行和第一列元素决定,利用托普利兹矩阵结构特点并结合MDS矩阵分支数最大性质,构造MDS矩阵元素约束式;
约束式内容表示为:将矩阵T表示为n×n的Toeplitz矩阵,
Figure FDA0003837275330000011
且T中元素ai=ai+t=ai+2t,满足条件
Figure FDA0003837275330000012
则该矩阵T不是MDS矩阵。
2.根据权利要求1所述的分组密码设计中面向硬件实现的MDS矩阵构造方法,其特征在于,A)矩阵T中,设定每一个d×d的子矩阵为矩阵Tsub,则Tsub满足:Tsub的第一行元素属于矩阵T的第一行元素;Tsub的第一列元素属于矩阵T的第一列元素;获取矩阵T中不同d×d的子矩阵个数N,验证矩阵T的N个子矩阵是否为非奇异,来判定矩阵T是否为MDS矩阵。
3.根据权利要求1所述的分组密码设计中面向硬件实现的MDS矩阵构造方法,其特征在于,A)中,依据XORs性质,寻找有限域内异或最少的元素,其中,XORs性质包含:若矩阵元素a的最小多项式是m次不可约三项式,则该矩阵元素a异或数为1;若其最小多项式是m次不可约五项式,则其异或数为2;若XOR(a)=t,则XOR(as)≤|s×t|,XOR()为异或数运算,XORs为异或次数。
4.根据权利要求1所述的分组密码设计中面向硬件实现的MDS矩阵构造方法,其特征在于,B)中自动化搜索包含如下内容:选择若干矩阵元素候选集,构造托普利兹矩阵;判断矩阵元素是否满足约束式来输出托普利兹类型的MDS矩阵;计算输出的MDS矩阵所有元素的异或数之和,通过比较获得最小的异或数之和,并输出对应矩阵作为最终构造的MDS矩阵。
5.根据权利要求4所述的分组密码设计中面向硬件实现的MDS矩阵构造方法,其特征在于,B)中,判断矩阵是否为MDS矩阵时,首先依据矩阵元素是否满足约束式来判定矩阵,若是,返回,重新选择矩阵元素进行执行;否则,则进一步根据矩阵中所有维度不同子矩阵是否为非奇异来验证矩阵是否为MDS矩阵,对通过验证的矩阵,将该矩阵作为MDS输出矩阵。
6.根据权利要求5所述的分组密码设计中面向硬件实现的MDS矩阵构造方法,其特征在于,B)中,依据d×d的子矩阵Tsub,获取矩阵T中所有维度不同子矩阵,其中,子矩阵Tsub满足:Tsub第一行元素属于矩阵T的第一行元素,Tsub第一列元素属于矩阵T的第一列元素。
7.一种分组密码设计中面向硬件实现的MDS矩阵构造装置,其特征在于,基于权利要求1所述的方法实现,包含:构造模块和输出模块,其中,
构造模块,用于利用托普利兹矩阵类型,构造MDS矩阵元素所需满足的约束式;寻找有限域内异或数最少的元素,确定MDS矩阵元素候选集;
输出模块,用于借助MATLAB对满足约束式条件的矩阵进行自动化搜索并根据矩阵元素异或数输出异或数之和最小的矩阵,依据输出的矩阵获取最终面向硬件实现的MDS矩阵。
CN201910536682.0A 2019-06-20 2019-06-20 分组密码设计中面向硬件实现的mds矩阵构造方法及装置 Active CN110430038B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910536682.0A CN110430038B (zh) 2019-06-20 2019-06-20 分组密码设计中面向硬件实现的mds矩阵构造方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910536682.0A CN110430038B (zh) 2019-06-20 2019-06-20 分组密码设计中面向硬件实现的mds矩阵构造方法及装置

Publications (2)

Publication Number Publication Date
CN110430038A CN110430038A (zh) 2019-11-08
CN110430038B true CN110430038B (zh) 2022-11-29

Family

ID=68408786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910536682.0A Active CN110430038B (zh) 2019-06-20 2019-06-20 分组密码设计中面向硬件实现的mds矩阵构造方法及装置

Country Status (1)

Country Link
CN (1) CN110430038B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204771B (zh) * 2021-04-21 2022-02-22 北京连山科技股份有限公司 一种利用国密sm3改进分组密码cbc模式缺点的高效方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938352A (zh) * 2010-09-23 2011-01-05 北京航空航天大学 一种分组密码软件加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9112916B2 (en) * 2011-08-26 2015-08-18 Texas Instruments Incorporated Systems and methods for construction of and network coding using near-maximum distance separable (MDS) linear network codes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938352A (zh) * 2010-09-23 2011-01-05 北京航空航天大学 一种分组密码软件加密方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Analysis of Toeplitz MDS Matrices;Sumanta Sarkar and Habeeb Syed;《Australasian Conference on Information Security and Privacy》;20170531;正文第1-16页 *
Lightweight Multiplication in GF(2n) with Applications to MDS Matrices;Christof Beierle et al.;《IACR 2016》;20161231;全文 *
具有最小异或数的最大距离可分矩阵的构造;陈少真等;《电子与信息学报》;20191031;第41卷(第10期);全文 *

Also Published As

Publication number Publication date
CN110430038A (zh) 2019-11-08

Similar Documents

Publication Publication Date Title
Norouzi et al. A novel image encryption based on hash function with only two-round diffusion process
Mirzaei et al. A new image encryption method: parallel sub-image encryption with hyper chaos
Geng Homomorphic encryption technology for cloud computing
Chen et al. Privacy-preserving and verifiable protocols for scientific computation outsourcing to the cloud
JP2014126865A (ja) 暗号処理装置および方法
Yasuda et al. New packing method in somewhat homomorphic encryption and its applications
Liang et al. The hybrid encryption algorithm of lightweight data in cloud storage
CN104751065A (zh) 一种基于地理信息产品文件的加密方法
Zolfaghari et al. The odyssey of entropy: cryptography
CN107645376B (zh) 一种用于连续变量量子密钥分发中的长码私钥放大方法
Sarkar et al. A deeper understanding of the XOR count distribution in the context of lightweight cryptography
CN109359588A (zh) 一种新的隐私保护下非交互式的k近邻分类方法
Li et al. A image encryption algorithm based on coexisting multi-attractors in a spherical chaotic system
Liu et al. Secure KNN classification scheme based on homomorphic encryption for cyberspace
Luo et al. Secret image sharing scheme with lossless recovery and high efficiency
Wang et al. Image encryption algorithm based on lattice hash function and privacy protection
CN110430038B (zh) 分组密码设计中面向硬件实现的mds矩阵构造方法及装置
Ullah et al. An efficient construction of S-box based on the fractional-order Rabinovich–Fabrikant chaotic system
Song et al. Multi-image reorganization encryption based on SLF cascade chaos and bit scrambling
Verma Secure client-side deduplication scheme for cloud with dual trusted execution environment
Xu et al. Ring-explwe: A high-performance and lightweight post-quantum encryption scheme for resource-constrained iot devices
Wang et al. Improved lightweight encryption algorithm based on optimized S-box
Li et al. Enabling efficient publicly verifiable outsourcing computation for matrix multiplication
Ren et al. How to extract image features based on co-occurrence matrix securely and efficiently in cloud computing
WO2023093278A1 (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
GR01 Patent grant
GR01 Patent grant