CN108509386B - 生成可逆模m矩阵的方法和装置 - Google Patents

生成可逆模m矩阵的方法和装置 Download PDF

Info

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
Application number
CN201810353989.2A
Other languages
English (en)
Other versions
CN108509386A (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.)
Wuhan Polytechnic University
Original Assignee
Wuhan Polytechnic University
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 Wuhan Polytechnic University filed Critical Wuhan Polytechnic University
Priority to CN201810353989.2A priority Critical patent/CN108509386B/zh
Publication of CN108509386A publication Critical patent/CN108509386A/zh
Application granted granted Critical
Publication of CN108509386B publication Critical patent/CN108509386B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix 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矩阵的问题。
为实现上述目的,本发明提供了一种生成可逆模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,
Figure BDA0001634622620000021
表示所述模m矩阵的第i行第j列的矩阵元素,i表示所述模m矩阵的行,j表示所述模m矩阵的列。
优选地,所述创对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵,具体还包括:
在所述模m矩阵中的第i行且i≠1第1列中至少存在一个满足
Figure BDA0001634622620000022
时,将所述模m矩阵A(0)的第i行元素和第1行元素互易位置,以使得当前模m矩阵的矩阵元素
Figure BDA0001634622620000023
与数值m互质,其中,
Figure BDA0001634622620000024
表示模m矩阵A(0)的第i行第一列矩阵元素
Figure BDA0001634622620000025
与数值m互质;
确定所述矩阵元素
Figure BDA0001634622620000026
的逆元
Figure BDA0001634622620000027
通过公式
Figure BDA0001634622620000028
将所述逆元
Figure BDA0001634622620000029
遍乘所述模m矩阵A(0)的第1行除第1列的矩阵元素;
通过公式
Figure BDA00016346226200000210
将所述模m矩阵A(0)的第i行减去变换后的第1行的ai1倍,获得
Figure BDA00016346226200000211
其中,
Figure BDA00016346226200000212
重复执行上述步骤k-1次之后,使得当前矩阵A(k-2)变成
Figure BDA00016346226200000213
其中第k次步骤为:从矩阵A(k-1)的第1列查找是否存在与数值m互质的矩阵元素,若找到的矩阵元素不是
Figure BDA00016346226200000214
则将该矩阵元素所在的行与
Figure BDA00016346226200000215
所在的行位置互换以使得新的
Figure BDA00016346226200000216
与数值m互素;
在不存在与数值m互质的矩阵元素时,返回所述确定并重新生成所述模m矩阵的矩阵元素的步骤;
通过公式
Figure BDA0001634622620000031
Figure BDA0001634622620000032
的逆元
Figure BDA0001634622620000033
乘以A(k-1)的第1行除
Figure BDA0001634622620000034
以外的矩阵元素;
通过公式
Figure BDA0001634622620000035
将A(k-1)的第i行减去变换后的第1行的
Figure BDA0001634622620000036
倍,以获得
Figure BDA0001634622620000037
其中
Figure BDA0001634622620000038
重复执行上述步骤n-1步之后,以使得当前模m矩阵变为
Figure BDA0001634622620000039
在矩阵元素与数值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)的矩阵元素分别记为
Figure BDA0001634622620000041
所述目标终端通过公式
Figure BDA0001634622620000042
将所述矩阵A(0)的第1行的矩阵元素遍乘所述逆元
Figure BDA0001634622620000043
从所述矩阵A(0)的其它行中消去第1列的矩阵元素;以及将所述矩阵B(0)的第1行的矩阵元素遍乘所述逆元
Figure BDA0001634622620000044
从所述矩阵B(0)的其它行中消去第1列的矩阵元素;
所述目标终端通过公式
Figure BDA0001634622620000045
将所述矩阵A(0)的第i行的矩阵元素分别减去第1行的ai1倍,并将所述矩阵B(0)的第i行的矩阵元素分别减去第1行的ai1倍;重复执行以上步骤k-1次,生成形式矩阵
Figure BDA0001634622620000046
从所述形式矩阵的
Figure BDA0001634622620000047
中选取与所述数值m互质矩阵元素;
在k≠1时,将所述形式矩阵中的第i行矩阵元素和第k行矩阵元素的位置互易;
通过公式
Figure BDA0001634622620000048
Figure BDA0001634622620000049
将所述形式矩阵的第k行乘以
Figure BDA00016346226200000410
的逆元
Figure BDA00016346226200000411
并从所述形式矩阵中比k大的行中消去第k列矩阵元素;重复执行以上步骤n次,获得最终形式矩阵
Figure BDA00016346226200000412
基于公式
Figure BDA0001634622620000051
获取所述模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-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矩阵。
引理设m是正整数,a是整数。如果m与a互素,即gcd(a,m)=1,则同余方程ax=1(mod m)有唯一解,即
Figure BDA0001634622620000071
s.t.aa-1=a-1a=1(mod 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)都是初等矩阵。
性质1Pij、Di(k)和Ti,j(k)都是可逆初等模m矩阵矩阵,且
Figure BDA0001634622620000081
Figure BDA0001634622620000082
(其中kk-1=1(mod m))、
Figure BDA0001634622620000083
证明:∵|Pij|=-1,|Di(k)|=k≠0(gcd(k,m)=1)),|Ti,j(k)|=1
∴Pij、Di(k)和Ti,j(k)都是可逆初等模m矩阵矩阵。
∵Pij Pij=En
Figure BDA0001634622620000084
Figure BDA0001634622620000085
Figure BDA0001634622620000086
定理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
证明:设
Figure BDA0001634622620000091
由|A|=k(mod m),gcd(k,m)=1及行列式的性质可知A的第一列必有元素与m互素(否则gcd(k,m)≠1).不妨设a11与m互素(否则对A进行行与行的互换可使第一行第一列的元素与m互素)。根据引理,
Figure BDA0001634622620000092
Figure BDA0001634622620000093
于是对A的第一行都乘以
Figure BDA0001634622620000094
Figure BDA0001634622620000095
其中
Figure BDA0001634622620000096
从A1的第i行减去第1行的ai1倍(i=2,…,n),从第i列减去第1列的a'1i倍(i=2,…,n),得:
Figure BDA0001634622620000097
其中a'ij=aij-ai1a'1j i,j=2,3,…,n
Figure BDA0001634622620000098
显然,
Figure BDA0001634622620000099
由gcd(k,m)=1和
Figure BDA00016346226200000910
Figure BDA00016346226200000911
和gcd(|B|,m)=1。对n-1阶矩阵B(mod m)重复以上步骤,即可把A(mod m)化成n阶矩阵单位矩阵En
定理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矩阵的逆矩阵的。
设n阶模m矩阵
Figure BDA0001634622620000101
且gcd(|A|,m)=1,则由改进的克拉姆法则可求出A-1。具体方法如下:
Figure BDA0001634622620000102
由于gcd(|A|,m)=1,故A可逆。不妨设
Figure BDA0001634622620000103
则由改进的克拉姆法则有
Figure BDA0001634622620000104
其中Aij表示A中的第i列被ej替换所成的矩阵,i,j=1,2,…,n。
∵gcd(|A|,m)=1,
Figure BDA0001634622620000105
s.t.|A||A|-1=1,从而
Figure BDA0001634622620000106
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,则可以通过矩阵变换得到
Figure BDA0001634622620000111
Figure BDA0001634622620000112
证明:由gcd(|A|,m)=1及行列式的性质可知A的第一列必有元素与m互素(否则gcd(|A|,m)≠1).。因此,对A进行行与行的互换可使第一行第一列的元素
Figure BDA0001634622620000113
与m互素。不妨设交换后的矩阵为
Figure BDA0001634622620000114
根据引理,
Figure BDA0001634622620000115
于是用
Figure BDA0001634622620000116
遍乘A(0)的第1行除
Figure BDA0001634622620000117
以外的其它元素,得
Figure BDA0001634622620000118
其中
Figure BDA0001634622620000119
从A1的第i行减去第1行的
Figure BDA00016346226200001110
倍(i=2,…,n)得:
Figure BDA00016346226200001111
其中
Figure BDA00016346226200001112
Figure BDA00016346226200001113
从而有
Figure BDA0001634622620000121
Figure BDA0001634622620000122
∴gcd(|B|,m)=1,其中
Figure BDA0001634622620000123
同理,可推导出
Figure BDA0001634622620000124
从而有
Figure BDA0001634622620000125
其中
Figure BDA0001634622620000126
依此类推,可以得到
Figure BDA0001634622620000127
Figure BDA0001634622620000128
定理8如果一个模m矩阵经过行变换成对角线矩阵后,对角线上的每个元素都与模m互素,则该模m矩阵是可逆模m矩阵。
证明:设n阶模m矩阵|A|经过行变换成对角线矩阵后的对角线元素为a11,a22,…,ann,且
Figure BDA0001634622620000129
有gcd(aii,m)=1。
Figure BDA00016346226200001210
gcd(aii,m)=1
Figure BDA00016346226200001211
有gcd(|aii|,m)=1。从而
Figure BDA00016346226200001212
Figure BDA00016346226200001213
故gcd(||A||,m)=1。所以gcd(|A|,m)=1,即A是n阶可逆模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)的元素记为
Figure BDA00016346226200001214
Figure BDA00016346226200001215
从A(0)的第1列选择与模m互素的元素。如果找不到与模m互素的元素,则返回Step1。否则,设找到的元素为
Figure BDA00016346226200001216
当i≠1时,我们先将矩阵A(0)的第i行元素与第1行元素互易位置,使得新的
Figure BDA00016346226200001217
成为主元素,然后在着手消元,这一手续称作选主元。设
Figure BDA0001634622620000131
的逆元为
Figure BDA0001634622620000132
Figure BDA0001634622620000133
遍乘矩阵A(0)第一行除
Figure BDA0001634622620000134
以外的所有元素,并从矩阵A(0)的其它行中消去第1列元素,使之变为
Figure BDA0001634622620000135
即先施行运算
Figure BDA0001634622620000136
然后从矩阵A(0)的第i((i≠1))行减去第1行的ai1倍,即令
Figure BDA0001634622620000137
Figure BDA0001634622620000138
Sttep2:第k次消元(2≤k≤n)
设第k-1次消元已经完成,即经过k-1次消元以后,所给矩阵A(k-2)被加工成下列形式
Figure BDA0001634622620000139
则消元的第k步是,从
Figure BDA00016346226200001310
查找与模m互素的元素
Figure BDA00016346226200001311
如果这样的元素
Figure BDA00016346226200001312
不存在,则返回Step1。否则,当i≠k时,将矩阵的第i行与第k行元素位置互易。接着用
Figure BDA00016346226200001313
的逆元
Figure BDA00016346226200001314
乘以第k行除第k列的其它元素,即所要施行的运算是
Figure BDA00016346226200001315
然后,从其它行减去第k行的
Figure BDA00016346226200001316
倍,即所要施行的运算是
Figure BDA00016346226200001317
这样做n步以后,所给矩阵最终被加工成对角线矩阵。由于对角线上的元素都与m互质,故矩阵A是n阶可逆模m矩阵。
7用改进的高斯消去法求模m矩阵的逆矩阵算法基础
定理9如果n阶模m矩阵A满足gcd(|A|,m)=1,则可以通过矩阵变换得到
Figure BDA0001634622620000141
证明:由gcd(|A|,m)=1及行列式的性质可知A的第一列必有元素与m互素(否则gcd(|A|,m)≠1).。因此,对A进行行与行的互换可使第一行第一列的元素
Figure BDA0001634622620000142
与m互素。不妨设交换后的矩阵为
Figure BDA0001634622620000143
根据引理,
Figure BDA0001634622620000144
于是对A的第一行都乘以
Figure BDA0001634622620000145
Figure BDA0001634622620000146
其中
Figure BDA0001634622620000147
从A1的第i行减去第1行的
Figure BDA0001634622620000148
倍(i=2,…,n)得:
Figure BDA0001634622620000149
其中
Figure BDA00016346226200001410
Figure BDA00016346226200001411
定理10如果n阶模m矩阵A满足gcd(|A|,m)=1,则A的各阶子矩阵存在且子矩阵的行列式与m互素。
证明:根据定理4,矩阵B是矩阵A的n-1阶子矩阵。由于
Figure BDA00016346226200001412
而gcd(|A|,m)=1和
Figure BDA00016346226200001413
故gcd(|B|,m)=1。根据定理4,n-1阶矩阵B又有n-2阶子矩阵。重复以上步骤,即可知矩阵A的各阶子矩阵存在且子矩阵的行列式与m互素。
定义8如果
Figure BDA00016346226200001414
n阶模m矩阵A具有n-i阶模m子矩阵并且每个子矩阵的第1行第1列的元素与m互素,则称矩阵A具有各阶模m子矩阵。其中
Figure BDA0001634622620000151
是A的n阶模子矩阵。
定理6如果n阶模m矩阵A的各阶子矩阵都存在且各个子矩阵的第1行第1列的元素分别为a11、a22、…、ann,则
Figure BDA0001634622620000152
Figure BDA0001634622620000153
Figure BDA0001634622620000154
有gcd(aiiajj,m)=1
证明:设n阶模m矩阵A的各阶模m子矩阵由大到小分别为A1、A2、…、An,则
Figure BDA0001634622620000155
从而有
Figure BDA0001634622620000156
Figure BDA0001634622620000157
Figure BDA0001634622620000158
∴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之间的整数;
第二子步骤,根据生成的n2个整数aij创建模m矩阵A(0),其中,n表示所述模m矩阵的阶数n,
Figure BDA0001634622620000161
表示所述模m矩阵的第i行第j列的矩阵元素,i表示所述模m矩阵的行,j表示所述模m矩阵的列。
步骤二:对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵;
具体地,步骤二又包括第三子步骤和第四子步骤:
第三子步骤,会对所述模m矩阵进行行变换,由于矩阵A(0)
Figure BDA0001634622620000162
可能与数值m不互素,因此,必须选择合适的
Figure BDA0001634622620000163
使得
Figure BDA0001634622620000164
如果
Figure BDA0001634622620000165
且i≠1
Figure BDA0001634622620000166
时,我们先将矩阵A(0)的第i行元素与第1行元素互易位置,使得新的
Figure BDA0001634622620000167
与m互素,然后在着手消元,这一手续称作选主元。
如果矩阵A(0)的第1列找不到与m互素的元素,则停止行变换,说明gcd(|A|,m)≠1,即n阶模m矩阵A不可逆,需要重新返回所述第一子步骤。否则,进行执行下面操作:
确定所述矩阵元素
Figure BDA0001634622620000168
的逆元
Figure BDA0001634622620000169
先用
Figure BDA00016346226200001610
的逆元
Figure BDA00016346226200001611
遍乘A(0)的第1行除第1列的矩阵元素,即施行运算
Figure BDA00016346226200001612
然后将A(0)的第i行减去变换后的第1行的ai1倍,即施行
Figure BDA00016346226200001613
从而获得
Figure BDA00016346226200001614
其中,
Figure BDA00016346226200001615
第四子步骤,进行第k次消元(2≤k≤n)
设第k-1次消元已经完成,即以上经过k-1次以后,所给A(k-2)矩阵被加工成下列形式
Figure BDA00016346226200001616
具体地,高斯消去法的第k步是,先从A(k-1)的第1列查找是否存在与m互质的数,如果不存在与m互质的数,则返回所述第一子步骤。否则,如果找到的矩阵元素不是
Figure BDA0001634622620000171
则将该素数所在的行与
Figure BDA0001634622620000172
所在的行位置互换使,得新的
Figure BDA0001634622620000173
与m互质。先用
Figure BDA0001634622620000174
的逆元
Figure BDA0001634622620000175
乘以A(k-1)的第1行除
Figure BDA0001634622620000176
以外的矩阵元素,即
Figure BDA0001634622620000177
然后将A(k-1)的第i行减去变换后的第1行的
Figure BDA0001634622620000178
倍,即施行
Figure BDA0001634622620000179
从而得到
Figure BDA00016346226200001710
其中
Figure BDA00016346226200001711
重复执行上述步骤n-1步之后,以使得当前模m矩阵变为
Figure BDA00016346226200001712
在当前模m矩阵元素与数值m互质时,认定所述当前模m矩阵为可逆模m矩阵;
进一步地,在成功认定所述当前模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的步骤为:
记AY=B为A(0)Y=B(0),其中A(0)和B(0)的元素分别记为
Figure BDA00016346226200001713
i、j=1,2,…,n.下面就是将[A|En]转化成[En|A-1]的详细过程:
求逆第一子步骤(第一次消元):由于上述矩阵的第一行中的
Figure BDA00016346226200001714
可能与模m不互素,但A的第1列一定存在与模m互素的矩阵元素
Figure BDA0001634622620000181
当i≠1时,我们先将第i行数据与第1行数据互易位置,使得新的
Figure BDA0001634622620000182
成为主元素,然后在着手消元,这一手续称作选主元。设
Figure BDA0001634622620000183
的逆元为
Figure BDA0001634622620000184
先将矩阵第1行数据遍乘
Figure BDA0001634622620000185
再从矩阵的其它行中消去第1列的矩阵元素。即先施行运算
Figure BDA0001634622620000186
然后将矩阵的第i行数据减去第1行的ai,1倍,即令
Figure BDA0001634622620000187
求逆第二子步骤(第k次消元,2≤k≤n)
设第k-1此消元已经完成,即经过k-1以后,所给矩阵被加工成下列形式
Figure BDA0001634622620000188
具体地,高斯消去法的第k步是,先从
Figure BDA0001634622620000189
选择与模m互素的元素,当k≠i时,将上述矩阵中第i行与第k行位置互易。将矩阵的第k行乘以
Figure BDA00016346226200001810
的逆元
Figure BDA00016346226200001811
并且从矩阵比k大的行中消去第k列元素,为此所要施行的运算是
Figure BDA00016346226200001812
Figure BDA00016346226200001813
这样做n步以后,所给矩阵最终被加工成
Figure BDA00016346226200001814
Figure BDA00016346226200001815
此即为所求的n阶可逆模m矩阵A的逆矩阵A-1=Y=(yij)n×n。在成功求取所述可逆模m矩阵的逆之后,即可对所述加密数据进行解密,同时也进一步验证了模m矩阵的可逆性。
需要说明的是,以上算法推导利用可逆模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矩阵为
Figure BDA0001634622620000201
具体验证过程如下:
(1)第1步
Figure BDA0001634622620000202
(2)第2步
Figure BDA0001634622620000203
(3)第3步
Figure BDA0001634622620000204
(4)第4步
Figure BDA0001634622620000205
Figure BDA0001634622620000206
Figure BDA0001634622620000207
Figure BDA0001634622620000208
又例如,若想用改进的高斯消去法求出例3产生的4阶可逆模256矩阵的逆,要具体消元过程如下:
(1)第1步
Figure BDA0001634622620000209
(2)第2步
Figure BDA0001634622620000211
(3)第3步
Figure BDA0001634622620000212
(4)第4步
Figure BDA0001634622620000213
通过回代,得
Figure BDA0001634622620000214
即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,
Figure FDA0003350816450000011
表示所述模m矩阵的第i行第j列的矩阵元素,i表示所述模m矩阵的行,j表示所述模m矩阵的列;所述对所述模m矩阵的矩阵元素进行遍历,在遍历到的目标矩阵元素与数值m互质时,认定所述模m矩阵为可逆模m矩阵,具体还包括:
在所述模m矩阵中的第i行且i≠1第1列中至少存在一个满足
Figure FDA0003350816450000012
时,将所述模m矩阵A(0)的第i行元素和第1行元素互易位置,以使得当前模m矩阵的矩阵元素
Figure FDA0003350816450000013
与数值m互质,其中,
Figure FDA0003350816450000014
表示模m矩阵A(0)的第i行第一列矩阵元素
Figure FDA0003350816450000015
与数值m 互质;
第三子步骤:确定所述矩阵元素
Figure FDA0003350816450000021
的逆元
Figure FDA0003350816450000022
通过公式
Figure FDA0003350816450000023
将所述逆元
Figure FDA0003350816450000024
遍乘所述模m矩阵A(0)的第1行除第1列的矩阵元素;
通过公式
Figure FDA0003350816450000025
将所述模m矩阵A(0)的第i行减去变换后的第1行的ai1倍,获得
Figure FDA0003350816450000026
其中,
Figure FDA0003350816450000027
重复执行上述步骤k-1次之后,使得当前矩阵A(k-2)变成A(k-1)
Figure FDA0003350816450000028
其中第k次步骤为:从矩阵A(k-1)的第1列查找是否存在与数值m互质的矩阵元素,若找到的矩阵元素不是
Figure FDA0003350816450000029
则将该矩阵元素所在的行与
Figure FDA00033508164500000210
所在的行位置互换以使得新的
Figure FDA00033508164500000211
与数值m互素;
否则
在不存在与数值m互质的矩阵元素时,返回所述确定并重新生成所述模m矩阵的矩阵元素的步骤;
第四子步骤:通过公式
Figure FDA00033508164500000212
Figure FDA00033508164500000213
的逆元
Figure FDA00033508164500000214
乘以A(k-1)的第1行除
Figure FDA00033508164500000215
以外的矩阵元素;
通过公式
Figure FDA00033508164500000216
将A(k-1)的第i行减去变换后的第1行的
Figure FDA00033508164500000217
倍,以获得
Figure FDA0003350816450000031
其中
Figure FDA0003350816450000032
重复执行上述步骤n-1步之后,以使得当前模m矩阵变为
Figure FDA0003350816450000033
在矩阵元素与数值m互质时,认定所述当前模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)的矩阵元素分别记为
Figure FDA0003350816450000034
所述目标终端通过公式
Figure FDA0003350816450000035
将所述矩阵A(0)的第1行的矩阵元素遍乘所述逆元
Figure FDA0003350816450000036
从所述矩阵A(0)的其它行中消去第1列的矩阵元素;以及将所述矩阵B(0)的第1行的矩阵元素遍乘所述逆元
Figure FDA0003350816450000037
从所述矩阵B(0)的其它行中消去第1列的矩阵元素;
目标终端通过公式
Figure FDA0003350816450000038
将所述矩阵A(0)的第i行的矩阵元素分别减去第1行的ai1倍,并将所述矩阵B(0)的第i行的矩阵元素分别减去第1行的ai1倍;重复执行以上步骤k-1次,生成形式矩阵
Figure FDA0003350816450000041
从所述形式矩阵的
Figure FDA0003350816450000042
中选取与所述数值m互质矩阵元素;
在k≠1时,将所述形式矩阵中的第i行矩阵元素和第k行矩阵元素的位置互易;
通过公式
Figure FDA0003350816450000043
Figure FDA0003350816450000044
将所述形式矩阵的第k行乘以
Figure FDA0003350816450000045
的逆元
Figure FDA0003350816450000046
并从所述形式矩阵中比k大的行中消去第k列矩阵元素;重复执行以上步骤n次,获得最终形式矩阵
Figure FDA0003350816450000047
基于公式
Figure FDA0003350816450000048
获取所述模m矩阵A的逆A-1=Y=(yij)n×n
通过所述模m矩阵的逆对所述加密数据进行解密,获得所述待处理数据。
3.一种基于改进的高斯消去法生成可逆模m矩阵的装置,其特征在于,所述基于改进的高斯消去法生成可逆模m矩阵的装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于改进的高斯消去法生成可逆模m矩阵的程序,所述基于改进的高斯消去法生成可逆模m矩阵的程序配置为实现如权利要求1或2中任一项所述的基于改进的高斯消去法生成可逆模m矩阵的方法的步骤。
CN201810353989.2A 2018-04-19 2018-04-19 生成可逆模m矩阵的方法和装置 Expired - Fee Related CN108509386B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510292B (zh) * 2020-04-22 2021-09-21 华南理工大学 hill高阶密钥矩阵随机生成方法、系统、装置和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
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 北京邮电大学 一种基于非交换群上的对称乘法同态加密方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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