CN112051983A - 一种基于流水线的有限域高斯约当消元装置 - Google Patents
一种基于流水线的有限域高斯约当消元装置 Download PDFInfo
- Publication number
- CN112051983A CN112051983A CN202010917081.7A CN202010917081A CN112051983A CN 112051983 A CN112051983 A CN 112051983A CN 202010917081 A CN202010917081 A CN 202010917081A CN 112051983 A CN112051983 A CN 112051983A
- Authority
- CN
- China
- Prior art keywords
- node
- tree
- finite field
- elimination
- layer
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于流水线的有限域高斯约当消元装置,其特征在于,包括输入端口、归一树模块、消元树模块及输出端口,所述输入端口,用于输入有限域上线性方程组的系数矩阵A,所述系数矩阵A的规模是m×m,m是正整数,第i行第j列的元素表示为ai,j;所述归一树用于对主元所在行进行归一;所述消元树模块用于对非主行进行消元所述输出端口,用于输出运算结果。采用本发明的技术方案,可提高约当消元运算的运算效率。
Description
技术领域
本发明涉及一种高斯约当消元装置,特别涉及一种基于流水线的有限域高斯约当消元装置。
背景技术
有限域是仅含有限多个元素的域,有限域上的线性方程组是指方程组中的每个系数都是有限域上的元素。有限域上的线性方程组的求解广泛的被运用于各种工程领域,例如密码学领域、通信领域、存储领域中。
运用于求解线性方程组的方法主要有高斯消元法和高斯约当法。高斯消元法是通过多次迭代求解线性方程组,将方程组化成上三角或下三角的形式,其中每次迭代的操作包括找主元,归一和消元三个操作。若方程组有解,再利用代入法求解出方程组的最终解。高斯约当法是高斯消元法的一个变种,能够通过多次迭代求解线性方程组,比高斯消元法要使用更多的资源但速度更快。
求解线性方程组是一个计算复杂度高且非常耗时的问题。目前对于求解线性方程组的优化,特别在有限域上的优化还存在较大的提升空间。
发明内容
本发明的目的是针对上述现有技术中高斯消元法求解线性方程组计算复杂度高且非常耗时的问题,消耗资源多的问题的技术问题,提供一种基于流水线的有限域高斯约当消元装置。
本发明实施例中,提供了一种基于流水线的有限域高斯约当消元装置,其特征在于,包括输入端口、归一树模块、消元树模块及输出端口,
所述输入端口,用于输入有限域上线性方程组的系数矩阵A,所述系数矩阵A的规模是m×m,m是正整数,第i行第j列的元素表示为ai,j;
所述输出端口,用于输出运算结果;
所述高斯约当消元装置对m×m的矩阵进行高斯高斯约当消元的过程如下:
步骤(1):令i=1;
步骤(2):若ai,i==0,寻找下一层具有非0元素aj,i,交换这两层;
步骤(3):ai,i,ai,i+1,...,ai,m被输送至所述归一树模块进行有限域除法,即,ai,j=ai,j/ai,i,j=i+1,...,m;
步骤(4):若ai,i=1,ai,i+1,...,ai,m分别被输送至m个消元树模块;
步骤(5):在这些消元树模块,有限域乘法被运算,即aj,k=aj,k+aj,i×ai,k;
步骤(6):令i=i+1,重复上述过程,当i<=m时,返回步骤(2)。
本发明实施例中,所述系数矩阵A的元素是有限域GF(p)的元素,p是正整数,元素的取值范围是0到p-1
本发明实施例中,所述归一树模块用于对主元所在行进行归一,即ai,i,ai,i+1,...,ai,m被送到所述归一树模块进行归一,即ai,j=ai,j/ai,i,j=i+1,...,m,每个参与运算的运算数以二进数的形式表示,每个二进制运算数的长度是n,n是正整数。
本发明实施例中,所述归一树模块的运算结构如下:
(1)包含两颗n层二叉树,左树和右树;
(2)根节点在第一层,叶子节点在第n层;
(3)每个非叶子节点包含最多两个子节点,即左孩子节点和右孩子节点;
(4)每个左节点代表0,每个右节点代表1;
(5)二进制运算数可以表示成从根节点到叶子节点的一条路径;
(6)若表示a被除数,b表示除数,c表示除法结果;假设根节点到叶子节点代表a,根节点到叶子节点代表b,根节点到叶子节点代表c,则将它们连接至扩展层,借助扩展层即可完成a和b的除法。
本发明实施例中,所述归一树模块基于比特流水线进行除法,过程如下:
(1)令aj=ai,j表示第j个被除数,b=ai,i表示除数,cj表示两者的除法结果;
(2)令ai j,bi,ci j表示被除数、除数和结果的第i比特;
(3)被除数、除数的第i比特被输送到第i层的节点上,第i层的节点输出运算结果的第i比特。
本发明实施例中,所述消元树模块用于对非主行进行消元,即aj,i,aj,i+1,...,aj,m被送到进行所述消元树模块进行消元,即aj,k=aj,k+aj,i×ai,k,j=i+1,...,m,其中,参与运算的运算数以二进数的形式表示,每个二进制运算数的长度是n,n是正整数。
本发明实施例中,所述消元树模块的运算结构如下:
(1)包含两颗n层二叉树,左树和右树;
(2)根节点在第一层,叶子节点在第n层;
(3)每个非叶子节点包含最多两个子节点,即左孩子节点和右孩子节点;
(4)每个左节点代表0,每个右节点代表1;
(5)二进制运算数可以表示成从根节点到叶子节点的一条路径;
(6)若表示a被乘数,b表示乘数,c表示乘法结果;假设根节点到叶子节点代表a,根节点到叶子节点代表b,根节点到叶子节点代表c,则它们连接至扩展层,借助扩展层即可完成a和b的乘法。
本发明实施例中,所述消元树模块基于比特流水线进行乘法,过程如下:
(1)令a=aj,i表示被乘数,b=ai,k表示第k个乘数,ck表示两者的除法结果;
(3)被乘数、乘数的第i比特被输送到第i层的节点上,第i层的节点输出运算结果的第i比特。
与现有技术相比较,本发明的基于流水线的有限域高斯约当消元装置中,通过设置独立的归一树模块和消元树模块,在一定范围内实现了比特流水线运算,求解速度快,设计简单;可以广泛运用于各种工程领域,特别是密码算法的硬件实现和各种数学问题的求解中。
附图说明
图1为本发明的实施例的一种基于流水线的有限域高斯约当消元装置的结构示意图。
图2为本发明的实施例的归一树模块的输入输出的结构示意图。
图3为本发明的实施例的二叉树的结构示意图。
图4为本发明的实施例的比特流水线归一的结构示意图。
图5为本发明的实施例的消元树模块的输入输出的结构示意图。
图6为本发明的实施例的比特流水线消元的结构示意图。
具体实施方式
如图1所示,本发明实施例中,提供了一种基于流水线的有限域高斯约当消元装置,其包括输入端口(图未示)、归一树模块NOR-TREE、消元树模块ELI-TREE(图未示)及输出端口(图未示)。
所述输入端口,用于输入有限域上线性方程组的系数矩阵A;
所述归一树模块NOR-TREE,用于完成归一运算;
所述消元树模块ELI-TREE,用于完成归一运算;
所述输出端口,用于输出每一轮迭代的结果。
其中,所述输入端口的系数矩阵A的规模是m×m,m是正整数;
所述输入端口的系数矩阵A的第i行第j列的元素表示为ai,j;
所述输入端口的系数矩阵A的元素是有限域GF(p)的元素,p是正整数,元素的取值范围是0到p-1。
所述归一树模块NOR-TREE,总共1个,可运行m次归一运算。
所述消元树模块ELI-TREE,总共m个,以运行m次消元运算。
所述高斯约当消元装置对m×m的矩阵进行高斯高斯约当消元的过程如下:
步骤(1):令i=1;
步骤(2):若ai,i==0,寻找下一层具有非0元素aj,i,交换这两层;
步骤(3):ai,i,ai,i+1,...,ai,m被输送至所述归一树模块进行有限域除法,即,ai,j=ai,j/ai,i,j=i+1,...,m;
步骤(4):若ai,i=1,ai,i+1,...,ai,m分别被输送至m个消元树模块;
步骤(5):在这些消元树模块,有限域乘法被运算,即aj,k=aj,k+aj,i×ai,k;
步骤(6):令i=i+1,重复上述过程,当i<=m时,返回步骤(2)。
如图2所示,所述归一树模块NOR-TREE,用于对主元所在行进行归一,即ai,i,ai,i+1,...,ai,m被送到进行所述归一树模块NOR-TREE进行归一,即ai,j=ai,j/ai,i,j=i+1,...,m。
所述归一树模块NOR-TREE,主要运算是有限域除法,ai,i是被除数,ai,i+1,ai,i+2,...,ai,m是除数。
所述归一树模块NOR-TREE,参与运算的运算数以二进数的形式表示,每个二进制运算数的长度是n,n是正整数。
如图3所示,所述归一树模块NOR-TREE,运算结构如下:
(1)包含两颗n层二叉树,左树和右树;
(2)根节点在第一层,叶子节点在第n层;
(3)每个非叶子节点包含最多两个子节点,即左孩子节点和右孩子节点;
(4)每个左节点代表0,每个右节点代表1;
(5)二进制运算数可以表示成从根节点到叶子节点的一条路径;
(6)若表示a被除数,b表示除数,c表示除法结果;假设根节点到叶子节点nodea代表a,根节点到叶子节点nodeb代表b,根节点到叶子节点nodec代表c,则它们连接至扩展层;借助扩展层可以很容易完成a和b的除法。
如图4所示,所述归一树模块基于比特流水线进行除法,过程如下:
(1)令aj=ai,j表示第j个被除数,b=ai,i表示除数,cj表示两者的除法结果;
(3)被除数、除数的第i比特被输送到第i层的节点上,第i层的节点输出运算结果的第i比特。
如图5所示,所述消元树模块ELI-TREE,用于对非主行进行消元,即aj,i,aj,i+1,...,aj,m被送到进行所述消元树模块ELI-TREE进行消元,得到aj,k=aj,k+aj,i×ai,k,j=i+1,...,m。
所述消元树模块ELI-TREE,主要运算是有限域乘法,aj,i是被乘数,ai,i+1,ai,i+2,...,ai,m是乘数。
所述消元树模块ELI-TREE,参与运算的运算数以二进数的形式表示,每个二进制运算数的长度是n,n是正整数。
所述消元树模块ELI-TREE也采用如图3所示的二叉树运算结构,具体如下:
(1)包含两颗n层二叉树,左树和右树;
(2)根节点在第一层,叶子节点在第n层;
(3)每个非叶子节点包含最多两个子节点,即左孩子节点和右孩子节点;
(4)每个左节点代表0,每个右节点代表1;
(5)二进制运算数可以表示成从根节点到叶子节点的一条路径;
(6)若表示a被乘数,b表示乘数,c表示乘法结果;假设根节点到叶子节点nodea代表a,根节点到叶子节点nodeb代表b,根节点到叶子节点nodec代表c,则它们连接至扩展层;借助扩展层可以很容易完成a和b的乘法。
如图6所示,所述消元树模块基于比特流水线进行乘法,过程如下:
(1)令a=aj,i表示被乘数,b=ai,k表示第k个乘数,ck表示两者的除法结果;
(3)被乘数、乘数的第i比特被输送到第i层的节点上,第i层的节点输出运算结果的第i比特。
综上所述,本发明的基于流水线的有限域高斯约当消元装置中,通过设置独立的归一树模块和消元树模块,在一定范围内实现了比特流水线运算,求解速度快,设计简单;可以广泛运用于各种工程领域,特别是密码算法的硬件实现和各种数学问题的求解中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于流水线的有限域高斯约当消元装置,其特征在于,包括输入端口、归一树模块、消元树模块及输出端口,
所述输入端口,用于输入有限域上线性方程组的系数矩阵A,所述系数矩阵A的规模是m×m,m是正整数,第i行第j列的元素表示为ai,j;
所述输出端口,用于输出运算结果;
所述高斯约当消元装置对m×m的矩阵进行高斯高斯约当消元的过程如下:
步骤(1):令i=1;
步骤(2):若ai,i==0,寻找下一层具有非0元素aj,i,交换这两层;
步骤(3):ai,i,ai,i+1,...,ai,m被输送至所述归一树模块进行有限域除法,即,ai,j=ai,j/ai,i,j=i+1,...,m;
步骤(4):若ai,i=1,ai,i+1,...,ai,m分别被输送至m个消元树模块;
步骤(5):在这些消元树模块,有限域乘法被运算,即aj,k=aj,k+aj,i×ai,k;
步骤(6):令i=i+1,重复上述过程,当i<=m时,返回步骤(2)。
2.如权利要求1所述的基于流水线的有限域高斯约当消元装置,其特征在于,所述系数矩阵A的元素是有限域GF(p)的元素,p是正整数,元素的取值范围是0到p-1。
3.如权利要求1所述的基于流水线的有限域高斯约当消元装置,其特征在于,所述归一树模块用于对主元所在行进行归一,即ai,i,ai,i+1,...,ai,m被送到所述归一树模块进行归一,即ai,j=ai,j/ai,i,j=i+1,...,m,每个参与运算的运算数以二进数的形式表示,每个二进制运算数的长度是n,n是正整数。
4.如权利要求3所述的基于流水线的有限域高斯约当消元装置,其特征在于,所述归一树模块的运算结构如下:
(1)包含两颗n层二叉树,左树和右树;
(2)根节点在第一层,叶子节点在第n层;
(3)每个非叶子节点包含最多两个子节点,即左孩子节点和右孩子节点;
(4)每个左节点代表0,每个右节点代表1;
(5)二进制运算数可以表示成从根节点到叶子节点的一条路径;
(6)若表示a被除数,b表示除数,c表示除法结果;假设根节点到叶子节点代表a,根节点到叶子节点代表b,根节点到叶子节点代表c,则将它们连接至扩展层,借助扩展层即可完成a和b的除法。
6.如权利要求1所述的基于流水线的有限域高斯约当消元装置,其特征在于,所述消元树模块用于对非主行进行消元,即aj,i,aj,i+1,...,aj,m被送到进行所述消元树模块进行消元,即aj,k=aj,k+aj,i×ai,k,j=i+1,...,m,其中,参与运算的运算数以二进数的形式表示,每个二进制运算数的长度是n,n是正整数。
7.如权利要求6所述的基于流水线的有限域高斯约当消元装置,其特征在于,所述消元树模块的运算结构如下:
(1)包含两颗n层二叉树,左树和右树;
(2)根节点在第一层,叶子节点在第n层;
(3)每个非叶子节点包含最多两个子节点,即左孩子节点和右孩子节点;
(4)每个左节点代表0,每个右节点代表1;
(5)二进制运算数可以表示成从根节点到叶子节点的一条路径;
(6)若表示a被乘数,b表示乘数,c表示乘法结果;假设根节点到叶子节点代表a,根节点到叶子节点代表b,根节点到叶子节点代表c,则它们连接至扩展层,借助扩展层即可完成a和b的乘法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010917081.7A CN112051983B (zh) | 2020-09-03 | 2020-09-03 | 一种基于流水线的有限域高斯约当消元装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010917081.7A CN112051983B (zh) | 2020-09-03 | 2020-09-03 | 一种基于流水线的有限域高斯约当消元装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112051983A true CN112051983A (zh) | 2020-12-08 |
CN112051983B CN112051983B (zh) | 2023-08-11 |
Family
ID=73606923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010917081.7A Active CN112051983B (zh) | 2020-09-03 | 2020-09-03 | 一种基于流水线的有限域高斯约当消元装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112051983B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094000A (zh) * | 2007-06-20 | 2007-12-26 | 北京大学 | 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器 |
CN101860413A (zh) * | 2009-01-27 | 2010-10-13 | 汤姆森许可贸易公司 | 用于对已编码符号进行重编码的网络重编码方法和设备 |
CN102521211A (zh) * | 2011-11-17 | 2012-06-27 | 华南理工大学 | 一种求解有限域上线性方程组的并行装置 |
CN106596506A (zh) * | 2016-12-16 | 2017-04-26 | 温州大学 | 一种基于压缩存储和列选主元高斯消去法的airPLS实现方法 |
CN106909339A (zh) * | 2017-02-22 | 2017-06-30 | 深圳职业技术学院 | 一种基于二叉树结构的有限域乘法器 |
CN108897526A (zh) * | 2018-06-29 | 2018-11-27 | 深圳职业技术学院 | 一种基于多次平方运算的复合有限域求逆器及其求逆方法 |
CN110083795A (zh) * | 2019-04-24 | 2019-08-02 | 深圳职业技术学院 | 高斯消元装置 |
CN110110281A (zh) * | 2019-05-06 | 2019-08-09 | 深圳职业技术学院 | 高斯约当消元装置 |
CN110717145A (zh) * | 2019-09-19 | 2020-01-21 | 南昌大学 | 基于对称稀疏矩阵技术的分段对称反向高斯-约当消元法 |
-
2020
- 2020-09-03 CN CN202010917081.7A patent/CN112051983B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094000A (zh) * | 2007-06-20 | 2007-12-26 | 北京大学 | 一种基于peg算法的时不变ldpcc码的构造方法及其编译码器 |
CN101860413A (zh) * | 2009-01-27 | 2010-10-13 | 汤姆森许可贸易公司 | 用于对已编码符号进行重编码的网络重编码方法和设备 |
CN102521211A (zh) * | 2011-11-17 | 2012-06-27 | 华南理工大学 | 一种求解有限域上线性方程组的并行装置 |
CN106596506A (zh) * | 2016-12-16 | 2017-04-26 | 温州大学 | 一种基于压缩存储和列选主元高斯消去法的airPLS实现方法 |
CN106909339A (zh) * | 2017-02-22 | 2017-06-30 | 深圳职业技术学院 | 一种基于二叉树结构的有限域乘法器 |
CN108897526A (zh) * | 2018-06-29 | 2018-11-27 | 深圳职业技术学院 | 一种基于多次平方运算的复合有限域求逆器及其求逆方法 |
CN110083795A (zh) * | 2019-04-24 | 2019-08-02 | 深圳职业技术学院 | 高斯消元装置 |
CN110110281A (zh) * | 2019-05-06 | 2019-08-09 | 深圳职业技术学院 | 高斯约当消元装置 |
CN110717145A (zh) * | 2019-09-19 | 2020-01-21 | 南昌大学 | 基于对称稀疏矩阵技术的分段对称反向高斯-约当消元法 |
Non-Patent Citations (2)
Title |
---|
HAIBO YI ETC.: "Small FPGA Implementations for Solving Systems of Linear Equations in Finite Fields", 《PROCEEDINGS OF 2015 IEEE 6TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AN;D SERVICE SCIENCE(ICSESS 2015) 》, pages 585 - 588 * |
易海博: "有限域运算和多变量公钥密码硬件的优化和设计", 《中国博士学位论文全文数据库 信息科技辑》, pages 136 - 11 * |
Also Published As
Publication number | Publication date |
---|---|
CN112051983B (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103984521B (zh) | Gpdsp中simd结构浮点除法的实现方法及装置 | |
Xia et al. | An efficient design of reversible multi-bit quantum comparator via only a single ancillary bit | |
CN102521211B (zh) | 一种求解有限域上线性方程组的并行装置 | |
Kasianchuk et al. | Theory and methods of constructing of modules system of the perfect modified form of the system of residual classes | |
CN110007896A (zh) | 具有时钟选通的用于执行矩阵乘法的硬件单元 | |
Li et al. | MeNTT: A compact and efficient processing-in-memory number theoretic transform (NTT) accelerator | |
CN107992283A (zh) | 一种基于降维实现有限域乘法的方法和装置 | |
Brito et al. | EULER, LAMBERT, AND THE LAMBERT W-FUNCTION TODAY. | |
CN110166060B (zh) | 高吞吐流水线型极化码bp译码器及其实现方法 | |
CN112799634A (zh) | 一种基于基22mdc ntt结构的高性能环多项式乘法器 | |
CN112051983B (zh) | 一种基于流水线的有限域高斯约当消元装置 | |
CN106909339A (zh) | 一种基于二叉树结构的有限域乘法器 | |
CN108897526B (zh) | 一种基于多次平方运算的复合有限域求逆器及其求逆方法 | |
Jahani et al. | Efficient big integer multiplication and squaring algorithms for cryptographic applications | |
Laxman et al. | FPGA implementation of different multiplier architectures | |
Zhang et al. | The multiplier based on quantum fourier transform | |
CN115033204A (zh) | 一种精度与位宽可重构的高能效近似乘法器 | |
RU2477513C1 (ru) | Ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю | |
Hertz et al. | Parabolic synthesis methodology implemented on the sine function | |
Owens et al. | On-line algorithms for the design of pipeline architectures | |
Anuhya et al. | ASIC implementation of efficient floating point multiplier | |
Hedtke | Strassen's Matrix Multiplication Algorithm for Matrices of Arbitrary Order | |
Iwashita et al. | An integer arithmetic-based sparse linear solver using a GMRES method and iterative refinement | |
Nirmala et al. | On the solution of system of interval linear equations | |
De et al. | Fast parallel algorithm for ternary multiplication using multivalued I/sup 2/L technology |
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 |