CN112051983B - 一种基于流水线的有限域高斯约当消元装置 - Google Patents

一种基于流水线的有限域高斯约当消元装置 Download PDF

Info

Publication number
CN112051983B
CN112051983B CN202010917081.7A CN202010917081A CN112051983B CN 112051983 B CN112051983 B CN 112051983B CN 202010917081 A CN202010917081 A CN 202010917081A CN 112051983 B CN112051983 B CN 112051983B
Authority
CN
China
Prior art keywords
node
tree
elimination
finite field
leaf node
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
CN202010917081.7A
Other languages
English (en)
Other versions
CN112051983A (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.)
Shenzhen Polytechnic
Original Assignee
Shenzhen Polytechnic
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 Shenzhen Polytechnic filed Critical Shenzhen Polytechnic
Priority to CN202010917081.7A priority Critical patent/CN112051983B/zh
Publication of CN112051983A publication Critical patent/CN112051983A/zh
Application granted granted Critical
Publication of CN112051983B publication Critical patent/CN112051983B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/724Finite 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表示两者的除法结果;
(2)令ai,分别表示被乘数、乘数和结果的第i比特;
(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表示两者的除法结果;
(2)令bi,/>表示被除数、除数和结果的第i比特;
(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表示两者的除法结果;
(2)令ai,分别表示被乘数、乘数和结果的第i比特;
(3)被乘数、乘数的第i比特被输送到第i层的节点上,第i层的节点输出运算结果的第i比特。
综上所述,本发明的基于流水线的有限域高斯约当消元装置中,通过设置独立的归一树模块和消元树模块,在一定范围内实现了比特流水线运算,求解速度快,设计简单;可以广泛运用于各种工程领域,特别是密码算法的硬件实现和各种数学问题的求解中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于流水线的有限域高斯约当消元装置,其特征在于,包括输入端口、归一树模块、消元树模块及输出端口,
所述输入端口,用于输入有限域上线性方程组的系数矩阵A,所述系数矩阵A的规模是m×m,m是正整数,第i行第j列的元素表示为ai,j
所述归一树模块的运算结构如下:
(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)令bi,/>表示被除数、除数和结果的第i比特;
(3)被除数、除数的第i比特被输送到第i层的节点上,第i层的节点输出运算结果的第i比特;
所述消元树模块的运算结构如下:
(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表示两者的除法结果;
(2)令ai,分别表示被乘数、乘数和结果的第i比特;
(3)被乘数、乘数的第i比特被输送到第i层的节点上,第i层的节点输出运算结果的第i比特;
所述输出端口,用于输出运算结果;
所述高斯约当消元装置对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.如权利要求1所述的基于流水线的有限域高斯约当消元装置,其特征在于,所述消元树模块用于对非主行进行消元,即aj,i,aj,i+1,...,aj,m被送到进行所述消元树模块进行消元,即aj,k=aj,k+aj,i×ai,k,j=i+1,...,m,其中,参与运算的运算数以二进数的形式表示,每个二进制运算数的长度是n,n是正整数。
CN202010917081.7A 2020-09-03 2020-09-03 一种基于流水线的有限域高斯约当消元装置 Active CN112051983B (zh)

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 CN112051983A (zh) 2020-12-08
CN112051983B true 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)

* Cited by examiner, † Cited by third party
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 南昌大学 基于对称稀疏矩阵技术的分段对称反向高斯-约当消元法

Patent Citations (9)

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

* Cited by examiner, † Cited by third party
Title
易海博.有限域运算和多变量公钥密码硬件的优化和设计.《中国博士学位论文全文数据库 信息科技辑》.2015,I136-11. *

Also Published As

Publication number Publication date
CN112051983A (zh) 2020-12-08

Similar Documents

Publication Publication Date Title
CN110765709B (zh) 一种基于fpga的基2-2快速傅里叶变换硬件设计方法
CN103970720B (zh) 基于大规模粗粒度嵌入式可重构系统及其处理方法
Kasianchuk et al. Theory and methods of constructing of modules system of the perfect modified form of the system of residual classes
Kanhe et al. Design and implementation of floating point multiplier based on vedic multiplication technique
CN107967132B (zh) 一种用于神经网络处理器的加法器和乘法器
Nykolaychuk et al. Theoretical foundations of the modified perfect form of residue number system
CN105608055B (zh) 一种基于位串架构的蝶形运算单元、fft处理器及方法
CN102521211A (zh) 一种求解有限域上线性方程组的并行装置
CN112799634B (zh) 一种基于基22mdc ntt结构的高性能环多项式乘法器
Brito et al. EULER, LAMBERT, AND THE LAMBERT W-FUNCTION TODAY.
CN112051983B (zh) 一种基于流水线的有限域高斯约当消元装置
Singh et al. Design of radix 2 butterfly structure using vedic multiplier and CLA on xilinx
CN110166060B (zh) 高吞吐流水线型极化码bp译码器及其实现方法
Liu et al. New results on multivariate polynomial matrix factorizations
CN108897526B (zh) 一种基于多次平方运算的复合有限域求逆器及其求逆方法
CN111401533A (zh) 一种神经网络专用计算阵列及其计算方法
CN115034360A (zh) 三维卷积神经网络卷积层的处理方法和处理装置
Hertz et al. Parabolic synthesis methodology implemented on the sine function
Liu et al. On general factorizations for n-D polynomial matrices
RU2477513C1 (ru) Ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю
Anuhya et al. ASIC implementation of efficient floating point multiplier
Jia et al. Symbolic algorithm for solving cyclic penta-diagonal linear systems
Park et al. Fast bit-parallel shifted polynomial basis multiplier using weakly dual basis over $ GF (2^{m}) $
Ghosh et al. FPGA implementation of MAC unit for double base ternary number system (DBTNS) and its performance analysis
Singha et al. A New Architecture for Transformation of Binary to Double Base Number System (DBNS) with Bases 2 and 5 using Different Search Algorithms

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