生成可逆模m矩阵的方法和装置制造方法及图纸

技术编号:18894452 阅读:55 留言:0更新日期:2018-09-08 10:56
本发明专利技术公开了一种生成可逆模m矩阵的方法和装置。本发明专利技术的结合高斯消去算法和模m矩阵的特性,进而得出更快生成可逆模m矩阵的方法,本发明专利技术利用模m矩阵的行列式与模m的互质性,从大量随机产生的模m矩阵中,可以快速淘汰不满足互质性的矩阵,保留满足互质性的矩阵,进而能够精确快速地生成一个可逆模m矩阵,通用性好。

Method and device for generating reversible module M matrix

The invention discloses a method and a device for generating reversible matrix M. The invention combines the characteristics of the Gaussian elimination algorithm and the modular m matrix, and then obtains a method for faster generation of the reversible modular m matrix. By utilizing the determinant of the modular M matrix and the reciprocity of the modular m matrix, from a large number of randomly generated modular m matrices, the matrix which does not satisfy the reciprocity can be quickly eliminated, and the matrix which satisfies the reciprocity can be retained. It is able to generate a reversible M matrix accurately and quickly.

【技术实现步骤摘要】
生成可逆模m矩阵的方法和装置
本专利技术涉及信息安全领域,尤其涉及一种生成可逆模m矩阵的方法和装置。
技术介绍
可逆模m矩阵在很多领域得到广泛应用,如抽象代数,电网优化,人工智能等。同时,它在信息安全领域中起着及其重要的作用,比如密码学协议,密钥管理,身份认证都需要用可逆模m矩阵。然而目前用手工的方式只能计算低阶模m矩阵的逆,而目前用递归计算行列式方式随机生成可逆模m矩阵,在生产过程中所耗费的时间会随着模m矩阵阶数的变多而增长,即阶数越高的模m矩阵在生成过程中随耗费的时间越长。由于可逆模m矩阵在应用方面非常广泛,但目前并没有解决如何得到一个高阶可逆模m矩阵的问题,这在一定程度上限制了可逆模m矩阵的应用。因此如何能够快速高效地得到一个高阶可逆模m矩阵是目前亟需解决的技术问题。
技术实现思路
本专利技术的主要目的在于提供了一种生成可逆模m矩阵的方法和装置,旨在解决现有技术中如何能够快速高效地得到一个高阶可逆模m矩阵的问题。为实现上述目的,本专利技术提供了一种生成可逆模m矩阵的方法,所述方法包括以下步骤:接收用户输入的矩阵阶数n,产生n2个整数,基于所产生的n2个整数生成模m矩阵,将所产生的n2个整数作为所述模m矩阵的矩阵元素;对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵。优选地,所述接收用户输入的矩阵阶数n,产生n2个整数,基于所产生的n2个整数生成模m矩阵,具体包括:随机生成n2个值在0到m-1之间的整数aij,其中,i为1到n之间的整数,j为1到n之间的整数;根据生成的n2个整数aij创建所述模m矩阵A(0),其中,n表示所述模m矩阵的阶数n,表示所述模m矩阵的第i行第j列的矩阵元素,i表示所述模m矩阵的行,j表示所述模m矩阵的列。优选地,所述创对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵,具体还包括:在所述模m矩阵中的第i行且i≠1第1列中至少存在一个满足时,将所述模m矩阵A(0)的第i行元素和第1行元素互易位置,以使得当前模m矩阵的矩阵元素与数值m互质,其中,表示模m矩阵A(0)的第i行第一列矩阵元素与数值m互质;确定所述矩阵元素的逆元通过公式将所述逆元遍乘所述模m矩阵A(0)的第1行除第1列的矩阵元素;通过公式将所述模m矩阵A(0)的第i行减去变换后的第1行的ai1倍,获得其中,重复执行上述步骤k-1次之后,使得当前矩阵A(k-2)变成其中第k次步骤为:从矩阵A(k-1)的第1列查找是否存在与数值m互质的矩阵元素,若找到的矩阵元素不是则将该矩阵元素所在的行与所在的行位置互换以使得新的与数值m互素;或在不存在与数值m互质的矩阵元素时,返回所述确定并重新生成所述模m矩阵的矩阵元素的步骤;通过公式将的逆元乘以A(k-1)的第1行除以外的矩阵元素;通过公式将A(k-1)的第i行减去变换后的第1行的倍,以获得其中重复执行上述步骤n-1步之后,以使得当前模m矩阵变为在矩阵元素与数值m互质时,认定所述当前模m矩阵为可逆模m矩阵;优选地,所述在矩阵元素与数值m互质时,认定所述当前模m矩阵为可逆模m矩阵之后,还包括:通过所述当前模m矩阵对所述待处理数据进行加密,以生成加密数据。优选地,所述通过所述当前模m矩阵对所述待处理数据进行加密,以生成加密数据之后,还包括:求取所述模m矩阵的逆,通过所述模m矩阵的逆对所述加密数据进行解密,获得所述待处理数据。优选地,所述求取所述模m矩阵的逆,通过所述模m矩阵的逆对所述加密数据进行解密,获得所述待处理数据,具体包括:设AY=B,Y=(yij)n×n=A-1,B=(bij)n×n=En,A=(aij)n×n表示所述模m矩阵,A-1表示所述模m矩阵的逆;AY=B表征为A(0)Y=B(0),A(0)和B(0)的矩阵元素分别记为所述目标终端通过公式将所述矩阵A(0)的第1行的矩阵元素遍乘所述逆元从所述矩阵A(0)的其它行中消去第1列的矩阵元素;以及将所述矩阵B(0)的第1行的矩阵元素遍乘所述逆元从所述矩阵B(0)的其它行中消去第1列的矩阵元素;所述目标终端通过公式将所述矩阵A(0)的第i行的矩阵元素分别减去第1行的ai1倍,并将所述矩阵B(0)的第i行的矩阵元素分别减去第1行的ai1倍;重复执行以上步骤k-1次,生成形式矩阵从所述形式矩阵的中选取与所述数值m互质矩阵元素;在k≠1时,将所述形式矩阵中的第i行矩阵元素和第k行矩阵元素的位置互易;通过公式和将所述形式矩阵的第k行乘以的逆元并从所述形式矩阵中比k大的行中消去第k列矩阵元素;重复执行以上步骤n次,获得最终形式矩阵基于公式获取所述模m矩阵A的逆A-1=Y=(yij)n×n;通过所述模m矩阵的逆对所述加密数据进行解密,获得所述待处理数据。此外,为实现上述目的,本专利技术还提出一种生成可逆模m矩阵的装置,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的生成可逆模m矩阵的程序,所述生成可逆模m矩阵的程序配置为实现如上所述生成可逆模m矩阵的方法的步骤。本专利技术的结合高斯消去算法和模m矩阵的特性,进而得出更快生成可逆模m矩阵的方法,本专利技术利用模m矩阵的行列式与模m的互质性,从大量随机产生的模m矩阵中,可以快速淘汰不满足互质性的矩阵,保留满足互质性的矩阵,进而能够精确快速地生成一个可逆模m矩阵,通用性好。附图说明图1是本专利技术实施例方案涉及的硬件运行环境的生成可逆模m矩阵的装置的结构示意图;图2为本专利技术一种生成可逆模m矩阵的方法第一实施例的流程示意图;图3为本专利技术一实施例中通过目前递归求行列式的方法随机生成一个10阶模546矩阵的仿真示意图;图4为本专利技术一实施例中通过使用改进的约当消去法随机生成一个200阶模678矩阵的仿真示意图;图5为本专利技术一实施例中通过使用改进的高斯消去法随机生成一个200阶模678矩阵的仿真示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参照图1,图1为本专利技术实施例方案涉及的硬件运行环境的装置结构示意图。如图1所示,该生成可逆模m矩阵的装置可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的生成可逆模m矩阵的装置结构并不构成对生成可逆模m矩阵的装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、用户接口模块、网络通信模块以及生成可逆模m矩阵的程序。本文档来自技高网...

【技术保护点】
1.一种生成可逆模m矩阵的方法,其特征在于,所述方法包括:接收用户输入的矩阵阶数n,产生n2个整数,基于所产生的n2个整数生成模m矩阵,将所产生的n2个整数作为所述模m矩阵的矩阵元素;对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵。

【技术特征摘要】
1.一种生成可逆模m矩阵的方法,其特征在于,所述方法包括:接收用户输入的矩阵阶数n,产生n2个整数,基于所产生的n2个整数生成模m矩阵,将所产生的n2个整数作为所述模m矩阵的矩阵元素;对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵。2.如权利要求1所述的方法,其特征在于,所述接收用户输入的矩阵阶数n,产生n2个整数,基于所产生的n2个整数生成模m矩阵,具体包括:随机生成n2个值在0到m-1之间的整数aij,其中,i为1到n之间的整数,j为1到n之间的整数;根据生成的n2个整数aij创建所述模m矩阵A(0),其中,n表示所述模m矩阵的阶数n,表示所述模m矩阵的第i行第j列的矩阵元素,i表示所述模m矩阵的行,j表示所述模m矩阵的列。3.如权利要求2所述的方法,其特征在于,所述创对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵,具体还包括:在所述模m矩阵中的第i行且i≠1第1列中至少存在一个满足时,将所述模m矩阵A(0)的第i行元素和第1行元素互易位置,以使得当前模m矩阵的矩阵元素与数值m互质,其中,表示模m矩阵A(0)的第i行第一列矩阵元素与数值m互质;确定所述矩阵元素的逆元通过公式将所述逆元遍乘所述模m矩阵A(0)的第1行除第1列的矩阵元素;通过公式将所述模m矩阵A(0)的第i行减去变换后的第1行的ai1倍,获得其中,重复执行上述步骤k-1次之后,使得当前矩阵A(k-2)变成其中第k次步骤为:从矩阵A(k-1)的第1列查找是否存在与数值m互质的矩阵元素,若找到的矩阵元素不是则将该矩阵元素所在的行与所在的行位置互换以使得新的与数值m互素;或在不存在与数值m互质的矩阵元素时,返回所述确定并重新生成所述模m矩阵的矩阵元素的步骤;通过公式将的逆元乘以A(k-1)的第1行除以外的矩阵元素;通过公式将A(k-1)的第i行减去变换后的第1行的倍,以获得其中重复执行上述步骤n-1步之后,以使得当前模m矩阵变为在矩阵元素与数值m互质时,认定所述当前模m矩阵为...

【专利技术属性】
技术研发人员:王防修
申请(专利权)人:武汉轻工大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1