CN108509386B - 生成可逆模m矩阵的方法和装置 - Google Patents
生成可逆模m矩阵的方法和装置 Download PDFInfo
- Publication number
- CN108509386B CN108509386B CN201810353989.2A CN201810353989A CN108509386B CN 108509386 B CN108509386 B CN 108509386B CN 201810353989 A CN201810353989 A CN 201810353989A CN 108509386 B CN108509386 B CN 108509386B
- Authority
- CN
- China
- Prior art keywords
- matrix
- modulo
- row
- reversible
- elements
- 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.)
- Expired - Fee Related
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 424
- 230000002441 reversible effect Effects 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000008030 elimination Effects 0.000 claims description 45
- 238000003379 elimination reaction Methods 0.000 claims description 45
- 230000001172 regenerating effect Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 24
- 230000009466 transformation Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000009795 derivation Methods 0.000 description 6
- 238000000844 transformation Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- OBUUFWIMEGVAQS-UHFFFAOYSA-N Pleuromutenol Natural products CC1C(O)C(C)(C=C)CC(O)C2(C)C(C)CCC31C2C(=O)CC3 OBUUFWIMEGVAQS-UHFFFAOYSA-N 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- STZYTFJPGGDRJD-NHUWBDDWSA-N retapamulin Chemical compound C([C@H]([C@@]1(C)[C@@H](C[C@@](C)(C=C)[C@@H](O)[C@@H]2C)OC(=O)CS[C@@H]3C[C@H]4CC[C@H](N4C)C3)C)C[C@]32[C@H]1C(=O)CC3 STZYTFJPGGDRJD-NHUWBDDWSA-N 0.000 description 2
- 229960002771 retapamulin Drugs 0.000 description 2
- 235000019687 Lamb Nutrition 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 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
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种生成可逆模m矩阵的方法和装置。本发明的结合高斯消去算法和模m矩阵的特性,进而得出更快生成可逆模m矩阵的方法,本发明利用模m矩阵的行列式与模m的互质性,从大量随机产生的模m矩阵中,可以快速淘汰不满足互质性的矩阵,保留满足互质性的矩阵,进而能够精确快速地生成一个可逆模m矩阵,通用性好。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种生成可逆模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之间的整数;
优选地,所述创对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵,具体还包括:
在所述模m矩阵中的第i行且i≠1第1列中至少存在一个满足时,将所述模m矩阵A(0)的第i行元素和第1行元素互易位置,以使得当前模m矩阵的矩阵元素与数值m互质,其中,表示模m矩阵A(0)的第i行第一列矩阵元素与数值m互质;
重复执行上述步骤k-1次之后,使得当前矩阵A(k-2)变成
或
在不存在与数值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列的矩阵元素;
在k≠1时,将所述形式矩阵中的第i行矩阵元素和第k行矩阵元素的位置互易;
通过所述模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-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的生成可逆模m矩阵的装置结构并不构成对生成可逆模m矩阵的装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、用户接口模块、网络通信模块以及生成可逆模m矩阵的程序。
在图1所示的生成可逆模m矩阵的装置中,本发明生成可逆模m矩阵的装置中的处理器1001、存储器1005可以设置在生成可逆模m矩阵的装置中,所述生成可逆模m矩阵的装置通过处理器1001调用存储器1005中存储的生成可逆模m矩阵的程序,并执行以下操作:
接收用户输入的矩阵阶数n,产生n2个整数,基于所产生的n2个整数生成模m矩阵,将所产生的n2个整数作为所述模m矩阵的矩阵元素;
对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵。
本实施例的生成可逆模m矩阵的程序基于以下算法推导,以下推导包括模m矩阵的定义及性质、可逆模m矩阵的存在定理、用改进的克拉姆法则求可逆模m矩阵的逆矩阵算法原理,此外还包括:用改进的约当消去法快速生成可逆模m矩阵的算法描述以及用改进的高斯消去法求模m矩阵的逆矩阵算法基础。
可理解的是,模m矩阵的定义及性质为:
定义1如果一个n阶矩阵A(aij)的所有元素都是整数,则称A为n阶整数矩阵。
定义2如果a是整数,b是正整数,那么a对b的取模运算a mod b∈{0,1,…,b-1}。
定义3如果a是整数,b是正整数,那么a与b的最大公约数]gcd(a,b)∈{0,1,…,b-1}。
定义4如果一个n阶整数矩阵A(mod m)是可逆矩阵,并且它的逆矩阵A-1(mod m)也是一个n阶整数矩阵,则称A为n阶可逆模m矩阵。
定义5模m矩阵的初等行(列)变换[5]指的是对矩阵施行以下变换:
(1)变换模m矩阵的两行(列);
(2)用一个与模m互素的整数乘以模m矩阵的某一行(列)的每一个元素;
(3)用一个整数乘模m矩阵的某一行(列)加到另一行(列),即用这个整数乘某一行(列)的每一个元素加到另一行(列)的对应元素上。
定义6对n阶单位矩阵En施行一次初等变换得到的矩阵称为初等矩阵.
设A是一个n阶模m矩阵,Pij是由En的第i行与第j交换得到的矩阵,Di(k)由En的第i行元素乘以k得到的矩阵(其中gcd(k,m)=1),Ti,j(k)是由En的第j行乘以k加到第i行所得到的矩阵,则有下列性质:
(1)PijA(mod m)表示将矩阵A(mod m)的第i行与第j行交换;
(2)APij(mod m)表示将矩阵A(mod m)的第i列与第j列交换;
(3)Di(k)A(mod m)表示将矩阵A(mod m)的第i行元素乘以k,其中k满足gcd(k,m)=1;
(4)ADi(k)(mod m)表示将矩阵A(mod m)的第i列元素乘以k,其中k满足gcd(k,m)=1;
(5)Ti,j(k)A(mod m)表示将矩阵A(mod m)的第j行元素乘以k后加到第i行上;
(6)ATi,j(k)(mod m)表示将矩阵A(mod m)的第j列元素乘以k后加到第i列上。
Ti,j(k)A(mod m)表示将矩阵A(mod m)的第j行元素乘以k后加到第i行上;
Ti,j(k)A(mod m)表示将矩阵A(mod m)的第j行元素乘以k后加到第i行上;
Ti,j(k)A(mod m)表示将矩阵A(mod m)的第j行元素乘以k后加到第i行上;
Ti,j(k)A(mod m)表示将矩阵A(mod m)的第j行元素乘以k后加到第i行上;
Ti,j(k)A(mod m)表示将矩阵A(mod m)的第j行元素乘以k后加到第i行上;
Ti,j(k)A(mod m)表示将矩阵A(mod m)的第j行元素乘以k后加到第i行上;
Ti,j(k)A(mod m)表示将矩阵A(mod m)的第j行元素乘以k后加到第i行上;
Ti,j(k)A(mod m)表示将矩阵A(mod m)的第j行元素乘以k后加到第i行上;
Ti,j(k)A(mod m)表示将矩阵A(mod m)的第j行元素乘以k后加到第i行上;
由定义5和定义6可知,Pij、Di(k)和Ti,j(k)都是初等矩阵。
证明:∵|Pij|=-1,|Di(k)|=k≠0(gcd(k,m)=1)),|Ti,j(k)|=1
∴Pij、Di(k)和Ti,j(k)都是可逆初等模m矩阵矩阵。
定理1如果n阶模m矩阵A的行列式|A|=k(mod m),且gcd(k,m)=1,则A可以经过一系列初等变换成+n阶单位矩阵En。
定理2如果n阶模m矩阵A可经一系列初等变换化成单位矩阵En,则gcd(|A|,m)=1。
定理3n阶模m矩阵A是可逆矩阵的充分必要条件是gcd(|A|,m)=1。
2、可逆模m矩阵的存在定理
定理4如果n阶模m矩阵A的行列式|A|=k(mod m),且gcd(k,m)=1,则A可以经过一系列初等变换成n阶单位矩阵En。
证明:设
由|A|=k(mod m),gcd(k,m)=1及行列式的性质可知A的第一列必有元素与m互素(否则gcd(k,m)≠1).不妨设a11与m互素(否则对A进行行与行的互换可使第一行第一列的元素与m互素)。根据引理, 于是对A的第一行都乘以得
从A1的第i行减去第1行的ai1倍(i=2,…,n),从第i列减去第1列的a'1i倍(i=2,…,n),得:
其中a'ij=aij-ai1a'1j i,j=2,3,…,n
定理5如果n阶模m矩阵A可经一系列初等变换化成单位矩阵En,则gcd(|A|,m)=1。
证明:设初等变换C1,C2,…,Cs,CS+1,…,Ct将n阶模m矩阵A转化成单位矩阵,即C1…CsACS=1…Ct=En,从而有|C1|…|Cs||A||CS+1|…|Ct|=1。由于|Pij|=-1,|Di(k)|=k,gcd(k,m)=1,|Ti,j(k)|=1,故|C1|…|Ct|=k。从而k|A|=1和gcd(k|A|,m)=1,又gcd(k,m)=1,所以gcd(|A|,m)=1。
定理6n阶模m矩阵A是可逆矩阵的充分必要条件是gcd(|A|,m)=1。
3用改进的克拉姆法则求可逆模m矩阵的逆矩阵算法原理
传统意义上的克拉姆法则只能求实数范围内的逆矩阵,而模m矩阵的逆矩阵是整数范围内的。克拉姆法则所求的逆矩阵往往是近似的,而模m矩阵的逆矩阵必须是精确的。所以,如果不对现有的克拉姆法则加以改进,是无法求出模m矩阵的逆矩阵的。
设
由于gcd(|A|,m)=1,故A可逆。不妨设
xij=|A|-1|Aij|,i,j=1,2,…,n。
4生成可逆模m矩阵以及模m矩阵求逆算法描述
4.1随机生成可逆的模m矩阵
步骤1输入模m矩阵的阶数n;
步骤2产生n2个随机整数,然后由这些元素组成矩阵A;
步骤3判断是否有gcd(|A|,m)=1,如果是,则结束;否则返回步骤2。
4.2求模m矩阵的逆矩阵
步骤1随机产生n阶可逆的模m矩阵A;
步骤2依次求出|Aij|,i,j=1,2,…,n;
步骤3求出|A|-1;
步骤4根据xij=|A|-1|Aij|,i,j=1,2,…,n计算A-1中的相应元素。
5用改进的约当消去法快速生成可逆模m矩阵的算法原理
定理7如果n阶模m矩阵A满足gcd(|A|,m)=1,则可以通过矩阵变换得到
∴gcd(|B|,m)=1,其中
定理8如果一个模m矩阵经过行变换成对角线矩阵后,对角线上的每个元素都与模m互素,则该模m矩阵是可逆模m矩阵。
6用改进的约当消去法快速生成可逆模m矩阵的算法描述
n阶可逆模m矩阵快速生成算法如下:
Step1:随机生成n×n个值在0~m-1间的整数aij,i,j=1,2,…,n;
Step2:由Step1产生的整数aij,i,j=1,2,…,n构造矩阵A=(aij)n×n;
Step3:为方便算法描述,记A=A(0)且A(0)的元素记为则从A(0)的第1列选择与模m互素的元素。如果找不到与模m互素的元素,则返回Step1。否则,设找到的元素为当i≠1时,我们先将矩阵A(0)的第i行元素与第1行元素互易位置,使得新的成为主元素,然后在着手消元,这一手续称作选主元。设的逆元为用遍乘矩阵A(0)第一行除以外的所有元素,并从矩阵A(0)的其它行中消去第1列元素,使之变为
Sttep2:第k次消元(2≤k≤n)
设第k-1次消元已经完成,即经过k-1次消元以后,所给矩阵A(k-2)被加工成下列形式
这样做n步以后,所给矩阵最终被加工成对角线矩阵。由于对角线上的元素都与m互质,故矩阵A是n阶可逆模m矩阵。
7用改进的高斯消去法求模m矩阵的逆矩阵算法基础
定理9如果n阶模m矩阵A满足gcd(|A|,m)=1,则可以通过矩阵变换得到
定理10如果n阶模m矩阵A满足gcd(|A|,m)=1,则A的各阶子矩阵存在且子矩阵的行列式与m互素。
证明:根据定理4,矩阵B是矩阵A的n-1阶子矩阵。由于而gcd(|A|,m)=1和故gcd(|B|,m)=1。根据定理4,n-1阶矩阵B又有n-2阶子矩阵。重复以上步骤,即可知矩阵A的各阶子矩阵存在且子矩阵的行列式与m互素。
证明:设n阶模m矩阵A的各阶模m子矩阵由大到小分别为A1、A2、…、An,则
∴gcd(aiiajj,m)=1..
定理11如果n阶模m矩阵A满足gcd(|A|,m)=1,则存在对角线元素都是1的上三角矩阵U,使得通过行变换有(A|En)→(U|B)。
基于上述硬件结构以算法推导,提出本发明一种生成可逆模m矩阵的方法实施例。
参照图2,图2为本发明一种生成可逆模m矩阵的方法第一实施例的流程示意图。
本实施例中,所述方法包括以下步骤:
步骤一:接收用户输入的矩阵阶数n,产生n2个整数,基于所产生的n2个整数生成模m矩阵,将所产生的n2个整数作为所述模m矩阵的矩阵元素;
需要说明的是,本实施例的执行主体是生成可逆模m矩阵的装置,在具体实现中,步骤一包括第一子步骤和第二子步骤:
第一子步骤,根据上述算法推导中的定理3和定理6,要产生一个n阶可逆模m矩阵,可通过随机生成n2个值在0到m-1之间的整数aij,其中,i为1到n之间的整数,j为1到n之间的整数;
步骤二:对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵;
具体地,步骤二又包括第三子步骤和第四子步骤:
第三子步骤,会对所述模m矩阵进行行变换,由于矩阵A(0)中可能与数值m不互素,因此,必须选择合适的使得如果且i≠1时,我们先将矩阵A(0)的第i行元素与第1行元素互易位置,使得新的与m互素,然后在着手消元,这一手续称作选主元。
如果矩阵A(0)的第1列找不到与m互素的元素,则停止行变换,说明gcd(|A|,m)≠1,即n阶模m矩阵A不可逆,需要重新返回所述第一子步骤。否则,进行执行下面操作:
第四子步骤,进行第k次消元(2≤k≤n)
设第k-1次消元已经完成,即以上经过k-1次以后,所给A(k-2)矩阵被加工成下列形式
具体地,高斯消去法的第k步是,先从A(k-1)的第1列查找是否存在与m互质的数,如果不存在与m互质的数,则返回所述第一子步骤。否则,如果找到的矩阵元素不是则将该素数所在的行与所在的行位置互换使,得新的与m互质。先用的逆元乘以A(k-1)的第1行除以外的矩阵元素,即然后将A(k-1)的第i行减去变换后的第1行的倍,即施行从而得到
进一步地,在成功认定所述当前模m矩阵为可逆模m矩阵之后,通过所述当前模m矩阵对所述待处理数据进行加密,以生成加密数据。
进一步地,所述通过所述当前模m矩阵对所述待处理数据进行加密,以生成加密数据之后,还包括:
求取所述模m矩阵的逆,通过所述模m矩阵的逆对所述加密数据进行解密,获得所述待处理数据。
设A=(aij)n×n是n阶可逆模m矩阵,为了叙述的方便,不妨假设AY=B,其中Y=(yij)n×n=A-1,B=(bij)n×n=En。具体求取所述模m矩阵的逆A-1的步骤为:
求逆第一子步骤(第一次消元):由于上述矩阵的第一行中的可能与模m不互素,但A的第1列一定存在与模m互素的矩阵元素当i≠1时,我们先将第i行数据与第1行数据互易位置,使得新的成为主元素,然后在着手消元,这一手续称作选主元。设的逆元为先将矩阵第1行数据遍乘再从矩阵的其它行中消去第1列的矩阵元素。即先施行运算
然后将矩阵的第i行数据减去第1行的ai,1倍,即令
求逆第二子步骤(第k次消元,2≤k≤n)
设第k-1此消元已经完成,即经过k-1以后,所给矩阵被加工成下列形式
和
这样做n步以后,所给矩阵最终被加工成
需要说明的是,以上算法推导利用可逆模m矩阵存在的一些性质,可判定一个模m矩阵是否可逆,并可计算出可逆模m矩阵的逆矩阵。一般情况下,人工只能产生一些低阶的可逆模m矩阵,同时也只能求一些低阶的模m矩阵的逆矩阵,而对于高阶可逆模m矩阵的生成和求逆,用手工进行是无能为力的。因此,本实施例必须先设计可逆模m矩阵的生成和求逆算法,然后用计算机程序实现该算法,就可以实现任意阶可逆模m矩阵的生成和求逆,大大提高了运算效率。
上文的算法推导还包括对传统意义上的约当消去法进行了改进,运用改进的约当消去法能够快速地得到任意阶可逆模m矩阵,极大地满足了实际应用的需要。充分利用约当消去法和模m矩阵的数学原理,从理论和算法的实现上均解决了可逆模m矩阵的生成问题。需要指出的是,以上算法推导是在约当消去法的基础上建立的新算法,而约当消去法比高斯消去法具有更高的时间复杂度,如果能用改进的高斯消去法得到任意阶可逆模m矩阵,则可以降低得到可逆模m矩阵的时间复杂度。
因此,本实施例基于以上算法推导进一步结合高斯消去算法和模m矩阵的特性,进而得出更快生成可逆模m矩阵的方法,本发明利用模m矩阵的行列式与模m的互质性,从大量随机产生的模m矩阵中,可以快速淘汰不满足互质性的矩阵,保留满足互质性的矩阵,进而能够精确快速地生成一个可逆模m矩阵,通用性好。
进一步地,为了进一步验证上述步骤中基于改进的高斯消去法快速生成可逆模m矩阵的可行性,本实施例中对以上改进的高斯消去法快速生成可逆模m矩阵进行了测试。
例如,若用改进的高斯消去法产生一个4阶可逆模256矩阵,并验证该矩阵可逆,可通过改进的高斯消去法的算法原理,随机产生的一个4阶可逆模256矩阵为
具体验证过程如下:
(1)第1步
(2)第2步
(3)第3步
(4)第4步
又例如,若想用改进的高斯消去法求出例3产生的4阶可逆模256矩阵的逆,要具体消元过程如下:
(1)第1步
(2)第2步
(3)第3步
(4)第4步
通过回代,得
即A是4阶可逆模256矩阵。
进一步地,在证明基于上述改进的高斯消去法快速生成可逆模m矩阵的可行性的基础上,本实施例继续证明基于上述改进的高斯消去法快速生成可逆模m矩阵的生成速度要快于目前的常规的技术方案和改进的约当消去法,例如目前采用最新的递归计算行列式方式随机生成可逆模m矩阵,系统测试表明,用该递归计算行列式的方法只能比较快地得到阶数不超过10的可逆模m矩阵,如图3所示,用递归求行列式的方法随机生成一个10阶模546矩阵,就需要花费124112毫秒;
参考图4,本实施例通过使用改进的约当消去法随机生成一个200阶模678矩阵,需要花费6390毫秒;而采用同一算法建立矩阵,矩阵阶数的越高矩阵的生成速度会越慢;
因此通过以上数据对比可知本实施例所采用的改进的约当消去法生成可逆模m矩阵的速度要远远快于目前最新的递归计算行列式方式所生成的可逆模m矩阵的速度。
进一步地,参考图5,通过使用改进的高斯消去法随机生成一个200阶模678矩阵,仅仅需要花费630毫秒,在相同阶数的条件下,使用改进的高斯消去法比使用改进的约当消去法还要快近10倍。
进一步需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台装置(可以是手机,,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (3)
1.一种基于改进的高斯消去法生成可逆模m矩阵的方法,其特征在于,包括:
步骤一:接收用户输入的矩阵阶数n,产生n2个整数,基于所产生的n2个整数生成模m矩阵,将所产生的n2个整数作为所述模m矩阵的矩阵元素;
步骤二:对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵,其中,所述可逆模m矩阵为高阶可逆模m矩阵,以解除对可逆模m矩阵的应用的限制;
所述认定所述模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 互质;
重复执行上述步骤k-1次之后,使得当前矩阵A(k-2)变成A(k-1)
否则
在不存在与数值m互质的矩阵元素时,返回所述确定并重新生成所述模m矩阵的矩阵元素的步骤;
2.如权利要求1所述的方法,其特征在于,求取所述模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列的矩阵元素;
在k≠1时,将所述形式矩阵中的第i行矩阵元素和第k行矩阵元素的位置互易;
通过所述模m矩阵的逆对所述加密数据进行解密,获得所述待处理数据。
3.一种基于改进的高斯消去法生成可逆模m矩阵的装置,其特征在于,所述基于改进的高斯消去法生成可逆模m矩阵的装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于改进的高斯消去法生成可逆模m矩阵的程序,所述基于改进的高斯消去法生成可逆模m矩阵的程序配置为实现如权利要求1或2中任一项所述的基于改进的高斯消去法生成可逆模m矩阵的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810353989.2A CN108509386B (zh) | 2018-04-19 | 2018-04-19 | 生成可逆模m矩阵的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810353989.2A CN108509386B (zh) | 2018-04-19 | 2018-04-19 | 生成可逆模m矩阵的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108509386A CN108509386A (zh) | 2018-09-07 |
CN108509386B true CN108509386B (zh) | 2022-04-08 |
Family
ID=63382603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810353989.2A Expired - Fee Related CN108509386B (zh) | 2018-04-19 | 2018-04-19 | 生成可逆模m矩阵的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108509386B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111510292B (zh) * | 2020-04-22 | 2021-09-21 | 华南理工大学 | hill高阶密钥矩阵随机生成方法、系统、装置和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828773A (zh) * | 2005-03-04 | 2006-09-06 | 中国科学院计算技术研究所 | 多维数组在动态随机存取存储器上的快速读写方法及装置 |
JP2010020479A (ja) * | 2008-07-09 | 2010-01-28 | Nippon Hoso Kyokai <Nhk> | 逆行列演算回路及び逆行列演算方法 |
CN102567283A (zh) * | 2011-12-08 | 2012-07-11 | 清华大学 | 一种利用gpu对小矩阵求逆的方法 |
CN103927290A (zh) * | 2014-04-18 | 2014-07-16 | 南京大学 | 一种任意阶下三角复矩阵求逆运算方法 |
CN105426345A (zh) * | 2015-12-25 | 2016-03-23 | 南京大学 | 一种矩阵求逆运算方法 |
CN106921484A (zh) * | 2017-05-02 | 2017-07-04 | 北京邮电大学 | 一种基于非交换代数结构的乘法同态映射构造方法及装置 |
CN107104796A (zh) * | 2017-05-02 | 2017-08-29 | 北京邮电大学 | 一种基于非交换群上的对称乘法同态加密方法及装置 |
-
2018
- 2018-04-19 CN CN201810353989.2A patent/CN108509386B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828773A (zh) * | 2005-03-04 | 2006-09-06 | 中国科学院计算技术研究所 | 多维数组在动态随机存取存储器上的快速读写方法及装置 |
JP2010020479A (ja) * | 2008-07-09 | 2010-01-28 | Nippon Hoso Kyokai <Nhk> | 逆行列演算回路及び逆行列演算方法 |
CN102567283A (zh) * | 2011-12-08 | 2012-07-11 | 清华大学 | 一种利用gpu对小矩阵求逆的方法 |
CN103927290A (zh) * | 2014-04-18 | 2014-07-16 | 南京大学 | 一种任意阶下三角复矩阵求逆运算方法 |
CN105426345A (zh) * | 2015-12-25 | 2016-03-23 | 南京大学 | 一种矩阵求逆运算方法 |
CN106921484A (zh) * | 2017-05-02 | 2017-07-04 | 北京邮电大学 | 一种基于非交换代数结构的乘法同态映射构造方法及装置 |
CN107104796A (zh) * | 2017-05-02 | 2017-08-29 | 北京邮电大学 | 一种基于非交换群上的对称乘法同态加密方法及装置 |
Non-Patent Citations (2)
Title |
---|
利用行列式、 矩阵求解线性方程组;付美鑫;《黑龙江科学》;20170228;第8卷(第3期);72-73 * |
可迭代译码纠错码的译码算法和硬件实现技术的研究;张佰林;《中国优秀硕士学位论文全文数据库 信息科技辑》;20090615;I136-39 * |
Also Published As
Publication number | Publication date |
---|---|
CN108509386A (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598254B (zh) | 联邦学习建模方法、设备及可读存储介质 | |
Arnon-Friedman et al. | Simple and tight device-independent security proofs | |
Pornin et al. | More efficient algorithms for the NTRU key generation using the field norm | |
JP6730741B2 (ja) | 処理装置、処理方法、処理プログラム、及び暗号処理システム | |
CN104468476B (zh) | 无证书多重代理签名的方法和装置 | |
CN104270247A (zh) | 适用于量子密码系统的高效泛Hash函数认证方案 | |
TW201320701A (zh) | 資訊處理裝置、資訊處理方法及程式 | |
CN102187615A (zh) | 生成加密密钥的方法、网络及其计算机程序 | |
CN114417414A (zh) | 一种基于边缘计算的隐私性保护方法 | |
JP2022095852A (ja) | デジタル署名方法、署名情報の検証方法、関連装置及び電子機器 | |
DE112015006865T5 (de) | Vorrichtung zum Erzeugen eines Nachrichten-Authenticators, Verfahren zum Erzeugen eines Nachrichten-Authenticators und Programm zum Erzeugen eines Nachrichten-Authenticators | |
CN105245343A (zh) | 一种基于多变量密码技术的在线离线签名系统及方法 | |
CN110545289B (zh) | 基于混合同态加密的错误数据注入攻击防御方法 | |
CN108509386B (zh) | 生成可逆模m矩阵的方法和装置 | |
CN112202562A (zh) | Rsa密钥生成方法、计算机设备及介质 | |
Dai et al. | Novel discrete chaotic system via fractal transformation and its DSP implementation | |
CN103368725B (zh) | 一种g0类s盒构造方法及其电路 | |
CN108536651B (zh) | 生成可逆模m矩阵的方法和装置 | |
CN117527223A (zh) | 一种基于格的抗量子密码的分布式解密方法及系统 | |
CN103929305A (zh) | Sm2签名算法的实现方法 | |
CN116488806A (zh) | 一种密钥封装方法、装置、设备及存储介质 | |
KR102364047B1 (ko) | 구조화된 행렬들에 기초한 공개키 암호를 위한 방법과 장치 | |
CN108632033A (zh) | 一种外包计算中基于随机加权酉矩阵的同态加密方法 | |
CN112818362A (zh) | 基于r-lwe的公钥加密方法 | |
CN112804062A (zh) | 一种基于sm2算法的无证书签名方法、装置、设备及介质 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220408 |