WO2013034000A1 - 一种复合有限域乘法器 - Google Patents

一种复合有限域乘法器 Download PDF

Info

Publication number
WO2013034000A1
WO2013034000A1 PCT/CN2012/076053 CN2012076053W WO2013034000A1 WO 2013034000 A1 WO2013034000 A1 WO 2013034000A1 CN 2012076053 W CN2012076053 W CN 2012076053W WO 2013034000 A1 WO2013034000 A1 WO 2013034000A1
Authority
WO
WIPO (PCT)
Prior art keywords
multiplier
lookup table
operands
processor
multiplication
Prior art date
Application number
PCT/CN2012/076053
Other languages
English (en)
French (fr)
Inventor
唐韶华
易海博
Original Assignee
华南理工大学
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 华南理工大学 filed Critical 华南理工大学
Priority to US14/123,761 priority Critical patent/US9201847B2/en
Priority to EP12830518.2A priority patent/EP2755127B1/en
Publication of WO2013034000A1 publication Critical patent/WO2013034000A1/zh

Links

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7209Calculation via subfield, i.e. the subfield being GF(q) with q a prime power, e.g. GF ((2**m)**n) via GF(2**m)

Definitions

  • the present invention relates to an apparatus for multiplying elements of a composite finite field, and more particularly to a multiplier for multiplying three operands of a complex finite field. Background technique
  • the finite field is a domain containing only a limited number of elements and is widely used in various engineering fields.
  • the multiplication of the limited domain can be roughly divided into four categories according to the design basis: standard base based multiplication, normal base based multiplication, dual base based multiplication and triangular base based multiplication.
  • the compound finite field is a special form of finite field, and the compound finite field GF ((2 «n is a finite field GF(2) isomorphic form) is effectively applied to various cryptographic applications and coding techniques.
  • the multiplication design of the composite finite field plays an important role in the implementation of the cryptographic algorithm.
  • the multiplication of the three operands is widely used in solving mathematical problems and engineering fields, such as the values commonly used in the field of cryptography to solve the oil and vinegar polynomial.
  • the oil and vinegar polynomial structure consists of a multiplication of multiple three operands, such as the following form:
  • the oil and vinegar polynomial is a common polynomial form in the multivariate public key cryptosystem. Each element in this polynomial is an element on the operand.
  • the multiplication of the three operands is used multiple times.
  • the application of multiplication of three operands is not limited to this.
  • a composite finite field multiplier comprising: The input port of the manual is used to input the operand, the operand (x), the operand c(x), the GF(2") domain, and the selected polynomial p(), GF((2")TM) field. Selected approximate polynomial g(x) and control signal
  • GF(2" standard base multiplier for performing three operands "W, W” and c(x) based on standard base multiplication on GF(2") ( ⁇ ( ⁇ ) X b(x ) ⁇ c(x)) mod(p(x));
  • GF(2" lookup table multiplier for performing three operands ⁇ ( c), W ) and c(c) based on lookup table multiplication on GF(2") ((x) xb(x )xc(x)) mod(p(x));
  • a GF((2") 2 ) multiplier comprising a first processor and a scheduler connected to each other; the first processor is configured to execute three operands fl(x), Hx) f P c ⁇ x) 3 ⁇ 4 GF ⁇ T f ) ⁇ (a(x)xb(x) xc(x)) mod(q(x)), where mod is a modulo operation; the scheduler is used to call the GF(2") standard base multiplier And GF(2") lookup table multipliers;
  • a controller for implementing control of a GF((2") 2 ) multiplier, a GF(2") standard base multiplier, and a GF(2") lookup table multiplier;
  • the controller is respectively connected to an input port, an output port, a GF ((2") 2 ) multiplier, a GF (2") standard base multiplier, and a (2") lookup table multiplier;
  • the GF((2") 2 ) multipliers are respectively coupled to a GF(2") standard base multiplier, GF(2") lookup table multiplier.
  • the first processor includes an exclusive OR gate circuit for processing additions on the GF(2") domain.
  • the control signal is a 2-bit value, and there are four binary values, which are (00) 2 , (01) 2 , (10) 2 and (11) 2 .
  • the controller includes a parser and a third processor connected to each other;
  • the parser is configured to parse the input control signal
  • the third processor is configured to receive a data signal input by the input port, and notify the GF((2") 2 ) multiplier, the GF(2") standard base multiplier, and the GF(2") lookup according to the parsing result of the parser.
  • the table multiplier performs functions corresponding to the parsing results.
  • operands ⁇ ( ⁇ ), operands ( ⁇ ), and operands have the following form:
  • b(x) b m _ l x m - l +b m _ 2 x m - 2 +... + b 0 ;
  • the selected polynomial p) on the GF(2") domain has the following form:
  • the selected polynomial g(x) on the GF((2")TM) domain has the following form: Instruction manual
  • the present invention has the following advantages and technical effects:
  • the present invention implements multiplication of three operands by GF((2") 2 ) multiplier, GF(2") standard base multiplier and GF(2") look-up table multiplier, in calculating GF((2 «)
  • the multiplication of the three operands on r) has obvious speed advantages over the existing multipliers, and can be widely used in various engineering fields, especially the hardware implementation of cryptographic algorithms and the solution of various mathematical problems.
  • FIG. 1 is a schematic structural diagram of a composite finite field multiplier according to an embodiment of the present invention.
  • FIG. 2 is a schematic structural view of a controller according to an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a GF((2") 2 ) multiplier according to an embodiment of the present invention.
  • FIG. 4 is a schematic structural view of a GF(2") standard base multiplier according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a GF(2") lookup table multiplier according to an embodiment of the present invention.
  • the composite finite field multiplier of the present invention includes a controller, an input port, an output port, a GF ((2") 2 ) multiplier, a GF (2") standard base multiplier, and a GF (2").
  • a lookup table multiplier connection the controller being coupled to an input port, an output port, a GF((2") 2 ) multiplier, a GF(2") standard base multiplier, and a GF(2") lookup table multiplier, respectively;
  • the GF((2") 2 ) multiplier is connected to a GF(2") standard base multiplier, GF(2") lookup table multiplier, respectively.
  • Input port As shown in FIG. 1, the multiplier of the embodiment of the present invention has six input ports, including five data signals and one control signal, wherein input ports a, b, and c are respectively used for inputting three. Input operands, ) and ), input ports p and q are used to input GF(2") and GF((2)) respectively selected polynomial ⁇ ( and 3 ⁇ 4( ; input port k for input control Signal.
  • a(x) , b(x) , c(x) , /?( ⁇ ) and ( ⁇ ) can be expressed as the following:
  • Ti(jc) ti m — ⁇ ; ⁇ " 1 + a ra — 2 m — 2 +... + ⁇ 0 ;
  • b(x) b m _ 1 x m - l + b m _ 2 x m - 2 + ... + b 0 ;
  • c(x) c m _ 1 x m - 1 + c m _ 2 x m - 2 + ... + c 0 ;
  • Both are elements on GF(2"), / 2 ,. .., A is an element on GF(2).
  • the control signal t is a 2-bit value and has four binary values, which are (00) 2 , (01) 2 , (10) 2 and (11) 2 , respectively .
  • the controller is the only component that can communicate with the I/O port. It is the core component of the multiplier of the present invention and can control the GF((2") 2 ) multiplier, GF(2") standard. The base multiplier and the GF(2") lookup table multiplier.
  • the controller consists of interconnected parsers and processors.
  • the parser is used to parse the input control signal. For example, if the value of the input control signal is (00) 2 , the parser will notify the processor to perform standard base multiplication of the three operands on GF(2"); the value of the input control signal is (01) 2 , parsing The program will notify the processor to perform lookup table multiplication of the three operands on GF(2"); the value of the input control signal t is (10) 2 , and the parser will notify the processor to execute ( ⁇ ((2») 2 The standard base multiplication of the three operands; the value of the input control signal it is (11) 2 , and the parser will inform the processor to perform lookup table multiplication of the three operands on GF((2") 2 ) .
  • the processor is configured to receive the input data signal, and notify the function component to perform the corresponding function according to the parsing result of the parser. For example, if the parsing result is a standard base multiplication that requires three operands on ⁇ (2"), the processor will send ⁇ ( ⁇ ), b(x), ⁇ ) and ⁇ ) to the GF(2") standard. The base multiplier, and waiting for feedback, once the result of the feedback is obtained, the result is output to the output port d; if the parsing result is a lookup table multiplication of three operands on the GF(2"), the processor will send "(x), b(x), and ⁇ (2") lookup table multipliers, and wait for feedback.
  • the result is output to the output port.
  • the processor will send "(x), b(x) , c(x) , p(x) and ⁇ give the GF((2") 2 ) multiplier and wait for feedback. Once the result of the feedback is obtained, the result is output to the output port d.
  • the GF((2") 2 ) multiplier includes interconnected processors and schedulers, and the processor is used to execute three operands. Multiplication on GF((2") 2 )(a(x)xb(x)xc(x))mod(q(x)), and the scheduler is used to call the (2") standard base multiplier and GF ( 2") lookup table multiplier.
  • the processor includes an exclusive OR gate circuit for processing additions on the GF(2") domain.
  • the GF((2") 2 ) multiplier uses the XOR gate circuit to obtain the operation result when processing the addition on the GF(2 «) domain, and the multiplication (x) ⁇ kj in the processing GF (2" ) domain (x) ⁇ k m (x)) mod(p(x)) is scheduled by the scheduler ( 2 " ) lookup table
  • the book multiplier or GF(2 «) standard base multiplier is used to obtain the result of the operation.
  • GF(2" standard base multiplier includes an internal processor for executing three operands "(x), (X) and c(x) is based on standard base multiplication on GF(2") (a(x)xb(x)xc(x)) mod(p(x)) 0 three operands, and at OF(2")
  • the standard base multiplication on the above steps includes the following steps:
  • GF(2" lookup table multiplier is used to perform three operands "W, WJC" and multiplication based on lookup table on GF(2") (a(x )x (x)xc( )) modCp(jc);) As shown in Figure 5, the lookup table multiplier includes interconnected processors and GF(2") lookup tables.
  • the construction principle of the GF(2") lookup table is as follows: (2") There are 2" elements in total. If ⁇ is the primitive root on GF(2"), each non-zero element on GF(2") It can be expressed as a power of ⁇ , that is, an element in ⁇ «..., ⁇ 2 "- 2 ⁇ . If ( ⁇ ) is an element on GF(2"), and can be expressed as ⁇ '', ie, fe ; (x) ⁇ is stored in the lookup table.
  • the internal processor It is only necessary to find ( ), ⁇ ( ⁇ ), (X) corresponding to ( ) by the already constructed lookup table (the power of X, ie, ⁇ . Then, calculate ( + J' + m) m 0 d ( The value of 2"-l) M. Finally, through the lookup table, find an element k u ) on the corresponding "GF(2") of ⁇ ". So k u (x) is the result of ( (x) . kj (x) ⁇ k m (x)) mod(p(x)).
  • the parser in the controller notifies the processor in the controller to perform standard base multiplication of the three operands on GF(2 4 ).
  • the processor in the controller receives the input data signals a(x), b(x), ( ⁇ ) and ⁇ ).
  • ⁇ 3 , ⁇ 2 , ⁇ , ⁇ ., & 3 , ., ( 3 , c 2 , Cl , c. and ⁇ , / ⁇ are Description
  • ⁇ 1 is the product of the three operands on GF(2 4 ), and the GF(2") standard base multiplier sends the result of the operation to the controller, which outputs the result to the output port d.
  • the control signal k is (01) 2 and the parser in the controller notifies the processor in the controller to perform lookup table multiplication of the three operands on GF(2").
  • the processor in the controller receives the input data signals a(x), b(x), (and ;? ⁇ ).
  • the processor in the controller sends a(x), b(x), c(x), and 7(x) to the GF(2") lookup table multiplier and waits for the result of the feedback.
  • G (2«)
  • the lookup table multiplier starts its processor and performs the multiplication of the three operands on ⁇ (2"). The specific process is as follows:
  • GF (2 ) in the lookup table processor multiplier lookup tables configured according to the following principle GF (2 4) of: GF (2 4) a total of 16 elements, are provided a primitive on GF (2 4) Root, then each non-zero element on GF(2 4 ) can be expressed as a power of ex, an element in BWcAcx 1 ,..., ⁇ ; let fe ; (x) be GF(2 4 ) The upper element, and can be expressed as ⁇ '', ie, (x) ⁇ is stored in the lookup table.
  • the processor in the GF(2" lookup table multiplier finds (x),it through the already constructed lookup table when calculating W. ( ).t m ( ))m 0 d(p( )) 7. (x), it m (x) respectively correspond to the power of ⁇ , that is, ⁇ . Then, calculate the value of ( + ' + ) mod (15) ". Finally, through the lookup table, find the corresponding GF of a" One on (2 4 ) Description Book element W. So) is the result of ( ⁇ )' ( possibly( ) ⁇ 10(1(; ⁇ )). The GF(2") lookup table multiplier sends the result of this operation to the controller, which outputs the result to the controller. Output port d.
  • the processor receives the input data signals aW, b(x), c(x), ⁇ ( ⁇ ) ⁇ Wq(x) where "( , b(x) , c(x) is used as three operands, as follows
  • the elements, a h , a t , b h , b t and are all elements on the finite field GF(2 4 );
  • p(x) and as input data signals are GF(2 4 ) and
  • the processor in the controller sends a(x), b ⁇ x), c ⁇ x), p(x), and g(x) to the GF((2") 2 ) multiplier and waits for the result of the feedback.
  • the operator ⁇ is a multiplication operation on the subfield GF(2 4 ), and the operator + is an addition operation on the subfield GF(2 4 ).
  • the processor of the multiplier performs the multiplication operation on the subfield GF(2 4 ) by starting its internal scheduler. The internal scheduler will need to participate in the operation.
  • the three operands are sent to the GF(2") standard base multiplier or GF, the lookup table multiplier (when sent to GF 2 for (10) 2 ), the standard base multiplier, when (11) 2 Send to the GF(2") lookup table multiplier) and wait for the result of the feedback.
  • GF(2") GF(2"
  • the processor in the GF((2") 2 ) multiplier performs the addition operation on the subfield GF(2 4 ), and the result is obtained by the XOR gate circuit.
  • d(x) d h x + d t is the result of (a(x) xb(x)xc(x)) mod(q(x)), which is an element on GF ((2 4 ) 2 ), And ⁇ is an element on GF(2 4 ).
  • the internal processor sends the result of this operation to the controller, which outputs the result to output port d.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)

Abstract

一种复合有限域乘法器,包括控制器、输入端口、输出端口、GF((2n)2)乘法器、GF(2n)标准基乘法器和GF(2n)查找表乘法器。控制器分别与输入端口、输出端口、GF((2n)2)乘法器、GF(2n)标准基乘法器和GF(2n)查找表乘法器连接;GF((2n)2)乘法器分别与GF(2n)标准基乘法器和GF(2n)查找表乘法器连接。GF(2n)标准基乘法器,用于执行三个运算数a(x),b(x)和c(x)在GF(2n)上基于标准基的乘法(a(x)×b(x)×c(x))mod(p(x))。GF(2n)查找表乘法器,用于执行三个运算数a(x),b(x)和c(x)在GF(2n)上基于查找表的乘法(a(x)×b(x)×c(x))mod(p(x))。GF((2n)2)乘法器,包括相互连接的第一处理器和调度器,第一处理器用于执行三个运算数a(x),b(x)和c(x)在GF((2n)2)上的乘法(a(x)×b(x)×c(x))mod(p(x)),调度器用于调用GF(2n)标准基乘法器和GF(2n)查找表乘法器。通过GF((2n)2)乘法器、GF(2n)标准基乘法器和GF(2n)查找表乘法器实现了三个运算数的乘法运算,在计算GF((2n)m)上的三个运算数的乘法上相对于现有的乘法器有着明显的速度优势。

Description

说 明 书 一种复合有限域乘法器
技术领域
本发明涉及一种对复合有限域的元素进行相乘的装置, 特别涉及一种对复 合有限域的三个运算数进行相乘的乘法器。 背景技术
有限域是仅含有限多个元素的域, 广泛地运用于各种工程领域。 目前, 有 限域的乘法根据设计的基底不同, 大致可以分为四类: 基于标准基的乘法, 基 于正规基的乘法, 基于双基底的乘法和基于三角基的乘法。
复合有限域作为有限域的一种特殊形式, 复合有限域 GF((2«n是有限域 GF(2自)的同构形式, 被有效地运用于各种密码应用和编码技术中。 有效的复合 有限域的乘法设计, 对于密码算法的实现, 起着至关重要的作用。 现有技术中 存在的多种公知的复合有限域的乘法器, 包括软件乘法器和硬件乘法器, 均是 针对两个运算数进行乘法运算的器件。
三个运算数的乘法广泛地运用在求解数学问题和工程领域中, 例如在密码 学领域中常用到的求解油醋多项式的值。 油醋多项式结构包括多个三个运算数 的乘法, 如以下形式:
Figure imgf000003_0001
油醋多项式是多变量公钥密码体制中的常见的一种多项式形式。此多项式 中的各个元素均是运算域上的元素, 在计算油醋多项式的值, 特别是计算前两 项 o .和 py. 时, 要多次用到三个运算数的乘法。三个运算数的乘法的应用不 仅限于此。
现有技术求解三个运算数的乘法是利用两个运算数的乘法器来实现的。但 是在实时和对速度敏感的环境下, 需要使用特定的硬件装置来实现三个运算数 的乘法。 发明内容
为了克服现有技术的不足, 本发明的目的在于提供一种高速计算三个运算 数的复合有限域乘法器。
本发明的目的通过以下技术方案实现: 一种复合有限域乘法器, 包括: 说 明 书 输入端口, 用于输入运算数 、 运算数 (x)、 运算数 c(x)、 GF(2")域上选 定的既约多项式 p( )、 GF((2")™)域上选定的既约多项式 g(x)和控制信号
GF(2")标准基乘法器, 用于执行三个运算数《W, W )和 c(x)在 GF(2")上基 于标准基的乘、法 (α(χ) X b(x) χ c(x)) mod(p(x));
GF(2")査找表乘法器, 用于执行三个运算数 β ( c), W )和 c(c)在 GF(2")上基 于查找表的乘、法 ( (x) xb(x)x c(x)) mod(p(x));
GF((2")2)乘法器,包括相互连接的第一处理器和调度器;所述第一处理器用 于执行三个运算数 fl(x), Hx) f P c{x) ¾ GF{{T f ) ± (a(x)xb(x) x c(x)) mod(q(x)), 其中 mod为求模运算; 所述调度器用于调用 GF(2")标准基乘法器和 GF(2")査找 表乘法器;
控制器, 用于实现对 GF((2")2)乘法器、 GF(2")标准基乘法器和 GF(2")查找表 乘法器的控制;
输出端口, 用于输出结果;
所述控制器分别与输入端口、 输出端口、 GF((2")2)乘法器、 GF(2")标准基乘 法器和 (2")査找表乘法器连接;
所述 GF((2")2)乘法器分别与 GF(2")标准基乘法器、 GF(2" )查找表乘法器连 接。
所述第一处理器包括用于处理 GF(2")域上的加法运算的异或门电路。
所述控制信号 为 2比特数值,共有四种二进制取值,分别是 (00)2,(01)2,(10)2 禾口(11)2
所述控制器包括相互连接的解析器和第三处理器;
所述解析器用于解析输入的控制信号;
所述第三处理器用于接收输入端口输入的数据信号, 并根据解析器的解析 结果通知 GF((2")2)乘法器、 GF(2" )标准基乘法器和 GF(2")査找表乘法器执行与解 析结果相应的功能。
所述运算数 α(χ)、 运算数 (χ)、 运算数 具有如下形式:
fl(x) = am— "11 2_rm2 + + ;
b(x) = bm_lxm-l+bm_2xm-2+... + b0
C( ) = cm— ― 2xm- 2 + ... + c0
所述 GF(2")域上选定的既约多项式 p )具有如下形式:
p(x) = xn - - pn_xxn~ + / 22 +— + + 1 o
所述 GF((2")™)域上选定的既约多项式 g(x)具有如下形式: 说 明 书
与现有技术相比, 本发明具有以下优点和技术效果:
本发明通过 GF((2")2)乘法器、 GF(2")标准基乘法器和 GF(2")查找表乘法器实 现了三个运算数的乘法运算, 在计算 GF((2«r)上的三个运算数的乘法上相对于 现有的乘法器有着明显的速度优势, 并可以广泛运用于各种工程领域, 特别是 密码算法的硬件实现和各种数学问题的求解中。 附图说明
图 1为本发明的实施例的复合有限域乘法器的结构示意图。
图 2为本发明的实施例的控制器的结构示意图。
图 3为本发明的实施例的 GF((2")2)乘法器的结构示意图。
图 4为本发明的实施例的 GF(2")标准基乘法器的结构示意图。
图 5为本发明的实施例的 GF(2")查找表乘法器的结构示意图。 具体实施方式
下面结合实施例及附图, 对本发明作进一步地详细说明, 但本发明的实施 方式不限于此。
实施例
如图 1所示, 本发明的复合有限域乘法器包括控制器、 输入端口、 输出端 口、 GF((2")2)乘法器、 GF(2")标准基乘法器和 GF(2")査找表乘法器连接, 所述控 制器分别与输入端口、输出端口、 GF((2")2)乘法器、 GF(2")标准基乘法器和 GF(2") 查找表乘法器连接; 所述 GF((2")2)乘法器分别与 GF(2")标准基乘法器、 GF(2")查 找表乘法器连接。
下面分别对本发明的乘法器的各组成部分做详细介绍:
( 1 )输入端口: 如图 1所示, 本发明的实施例的乘法器共有六个输入端口, 包括 5个数据信号和 1个控制信号, 其中输入端口 a、 b和 c分别用于输入三个 运算数 ), )和 ), 输入端口 p和 q分别用于输入 GF(2")和 GF((2了)上选 定的既约多项式 ^( 和¾( ; 输入端口 k用于输入控制信号。
a(x) , b(x) , c(x) , /?(χ)和 (χ)可以表示为以下开式:
ti(jc) = tim—丄; Ϊ" 1 + ara2 m2 +… + α0
b(x) = bm_1xm-l + bm_2xm-2 + ... + b0 ;
c(x) = cm_1xm-1 + cm_2xm-2 + ... + c0 ;
p (x) = x" + 1 + pn2xn2十… + + 1; 说 明 书 q(x) = qmxm + q^x^ + 。
其中 H- w,q。,am-i,am- 2, '··,"。, b^A—wA和 cm2,...,c。均是 GF(2")上的元 素, / 2,...,A均是 GF(2)上的元素。
控制信号t是 2 比特数值, 共有四种二进制取值, 分别是 (00)2,(01)2,(10)2和 (11)2
(2) 输出端口: 如图 1 所示, 输出端口 d 用于输出求解表达式 (^ ^^:^^!^^^^之后获得的运算结果^ , 其中 mod为求模运算。
(3)控制器: 控制器作为唯一能够和 I/O端口通信的部件, 是本发明的乘 法器中的核心部件, 可以控制 GF((2")2)乘法器、 GF(2")标准基乘法器和 GF(2")查 找表乘法器。
如图 2所示, 控制器由相互连接的解析器和处理器组成。
解析器用于解析输入的控制信号。例如, 输入的控制信号 的值是 (00)2, 解 析器将通知处理器执行 GF(2")上的三个运算数的标准基乘法; 输入的控制信号 的值是 (01)2,解析器将通知处理器执行 GF(2")上的三个运算数的査找表乘法; 输 入的控制信号t的值是 (10)2, 解析器将通知处理器执行 (^((2»)2)上的三个运算数 的标准基乘法;输入的控制信号 it的值是 (11)2,解析器将通知处理器执行 GF((2")2) 上的三个运算数的查找表乘法。
处理器用于接收输入的数据信号, 并根据解析器的解析结果通知功能部件 执行相应的功能。例如,若解析结果是需要执行^ (2")上的三个运算数的标准基 乘法,处理器将发送 α(χ), b(x) , ^)和 ^)给 GF(2")标准基乘法器,并等待反馈, 一旦获得获得反馈的结果, 即将此结果输出到输出端口 d; 若解析结果是需要执 行 GF(2")上的三个运算数的查找表乘法, 处理器将发送《(x), b(x) , 和 给 ^(2")查找表乘法器, 并等待反馈, 一旦获得获得反馈的结果, 即将此结果输出 到输出端口山 若解析结果是需要执行 GF((2")2)上的三个运算数的标准基乘法或 者是 GF((2")2)上的三个运算数的査找表乘法,处理器将发送《(x), b(x) , c(x) , p(x) 和^ 给 GF((2")2)乘法器, 并等待反馈, 一旦获得获得反馈的结果, 即将此结果 输出到输出端口 d。
(4) GF((2")2)乘法器: 如图 3所示, GF((2")2)乘法器包括相互连接的处理 器和调度器, 处理器是用于执行三个运算数在 GF((2")2)上的乘法 (a(x)xb(x)xc(x))mod(q(x)), 而调度器用于调用 (2")标准基乘法器和 GF(2")查找 表乘法器。处理器包括用于处理 GF(2")域上的加法运算的异或门电路。 GF((2")2) 乘法器在处理 GF(2«)域上的加法运算时利用异或门电路来获得运算结果,而在处 理 GF (2" )域上的乘法 (x) · kj (x) · km (x)) mod(p(x))时通过调度器调度 (2" )查找表 说 明 书 乘法器或 GF(2«)标准基乘法器来获得运算结果。
(5) GF(2")标准基乘法器: 如图 4所示, GF(2")标准基乘法器包括一个内 部处理器, 用于执行三个运算数《(x), (X)和 c(x)在 GF(2")上基于标准基的乘法 (a(x)xb(x)xc(x))mod(p(x)) 0 三个运算数 , 和 在 OF(2")上的标准基乘法 包括以下步骤:
(5-1 ) Hffi xl mod p(x) = ¾ν.. ' , 计算 , 其中, = 0,1,.··,3(ίί 1), j' = 0,l,...,《— 1。 (5-2) 根据& = ∑ a kCl , 计算 , 其中, =0,1,...,3(«-1)。
(5-3) 根据 4=3§ ^, 计算 , 其中, ,· = 0,1,...,《- 1。
(5-4) ^d( ) = ¾di. I , 则 d(x)是三个运算数 , ( 和 c(x)在 GF(2")上的乘 积, 且 d(x)也是 GF(2")上的元素。
(6) GF(2")查找表乘法器: GF(2")查找表乘法器用于执行三个运算数《W, WJC)和 在 GF(2")上基于查找表的乘法(a(x)x (x)xc( ))modCp(jc);)。 如图 5所示, 查找表乘法器包括相互连接的处理器和 GF(2")查找表。
GF(2")査找表的构造原理如下: (2")上一共有 2"个元素。 假如 α是 GF(2") 上的本原根, GF(2")上的每一个非零元素都可以表示成 α的一个乘幂, 即 {«...,α2"-2 }中的一个元素。 假如 (χ)是 GF(2")上的元素, 并且可以表示成 α'', 即将 , fe;(x) }存入查找表中。 在计算 ^W^W C^mocKpW)时, 内部处理器 只需要通过已经构造好的査找表, 查找到 ( ),^(χ), (X)分别对应的 (X的乘幂, 即 ,^。 然后, 计算 ( + J' + m)m0d(2"-l)的值 M。最后通过查找表, 査找到 α"对应 的 GF(2" )上的一个元素 ku )。 所以 ku (x)即是( (x) . kj (x) · km (x)) mod(p(x))的结果。
下面以《 = 4为例说明本发明的乘法器的工作过程。
令输入控制信号 k为 (00)2, 控制器中的解析器通知控制器中的处理器执行 GF(24)上的三个运算数的标准基乘法。 控制器中的处理器接收输入的数据信号 a(x) , b(x) , (^)和 ^)。 其中 α(χ), b(x), c(x)作为三个运算数, 有如下的表示 形式 a(x) - a3x3 +a2x2 + α + α0, b(x) -b3x3 +b2x2 + byx + b0禾口 c(x) = c3x3 +c2x2 + x + c0 > 并 且均是 GF(24)上的元素; /?(; 有固定的输入形式/?( = + /^3 + /^2 + /^ + 1, 是 GF(24)上选定的既约多项式。 其中 α3,α2αια。,& 3, 。,( 3,c2Cl,c。和 Α,/^Α均是 说 明 书
GF(2)上的元素。
控制器中的处理器发送。 (x), b(x) , ^ 和;^ 给 GF(2")标准基乘法器, 等待 获得反馈的结果。此时, GF(2«)标准基乘法器启动其处理器, 执行三个运算数在 GF(2")上 , 过 : 根据 0,1,...,9, ; = 0,1,...,3;
Figure imgf000008_0001
根据 X afikCl , 计算 , / = 0,1,...,9; 根据 = v75., 计算^ = 0,1,...,3。
Σά 1即是三个运算数的在 GF(24)上的乘积, GF(2")标准基乘法器把此运算 结果发送给控制器, 控制器即将此结果输出到输出端口 d。 令输入控制信号 k为 (01)2, 控制器中的解析器通知控制器中的处理器执行 GF(2")上的三个运算数的査找表乘法。 控制器中的处理器接收输入的数据信号 a(x) , b(x) , ( 和;?^)。 其中 α(χ), b{x) , c(x)作为三个运算数, 有如下的表示 形式 a(x) = a3x3 +a2x2 + αγχ + α0, b(x) =b3x3 +b2x2 + byx + b0禾口 c(x) = c3x3 +c2x2 + x + c0? 均 是 GF(24)上的元素; ;?( 有固定的输入形式;7( = 4 + ; (;3 + /^2 + /^ + 1, iGF(24) 上选定的既约多项式。其中^^,^^ ^^^, ^^和;^;^ 均是^ 上的 元素。
控制器中的处理器发送 a(x), b(x) , c(x)和; 7(x)给 GF(2")查找表乘法器, 并等 待获得反馈的结果。 G (2«)查找表乘法器启动其处理器, 执行三个运算数在 <^(2")上的乘法, 具体过程如下:
GF(2")查找表乘法器中的处理器按以下原理构造 GF(24)的查找表: GF(24)上 一共有 16个元素, 设 a是 GF(24)上的本原根, 则 GF(24)上的每一个非零元素都 可以表示成 ex的一个乘幂, BWcAcx1,..., }中的一个元素; 设 fe;(x)是 GF(24)上的 元素, 并且可以表示成 α'', 即将 , (x)}存入査找表中。
GF(2")查找表乘法器中的处理器在计算 W. ( ).tm( ))m0d(p( ))时,通过已 经构造好的查找表, 查找到 (x),it7.(x),itm(x)分别对应的 α的乘幂, 即^ 。然后, 计算 ( + ' + )mod(15)的值《。 最后通过查找表, 查找到 a"对应的 GF(24)上的一个 说 明 书 元素 W。所以 )即是(^^)' ( „( )^10(1(;^))的结果。 GF(2")查找表乘法器 把此运算结果发送给控制器, 控制器即将此结果输出到输出端口 d。
令输入控制信号 k为 (10)2或 (11)2, 控制器中的解析器通知控制器中的处理器 执行 GF((2«)2)上的三个运算数的标准基乘法或者查找表乘法。处理器接收输入的 数据信号 aW, b(x) , c(x) , ρ(χ) ^Wq(x) 其中 "( , b(x) , c(x)作为三个运算数, 有如下的表示形式 a(x) = akx + at, b(x) = bhx + bt和 c(;c) = chx + ,并且均是 GF((24)2)上 的元素, ah , at , bh , bt , 和 均是有限域 GF(24)上的元素; p(x)和 作为输 入数据信号, 是 GF(24)和 GF((24)2)上选定的既约多项式, 有如下的表示形式 /7(x) = 4 + jc + 1禾口 - X2 -- x-- e, 其中 e = 9是 GF(24)上的常数。
控制器中的处理器发送 a(x), b{x) , c{x) , p(x)和 g(x)给 GF((2")2)乘法器, 并 等待获得反馈的结果。此时, GF((2«)2)乘法器启动其处理器, 执行三个运算数在 (^((2")2)上的乘法, 分别计算 di = e(ah -bh -ch+ah -bt -ch +a, -bh -ch+ah -bh 'c,) + , -bt -ct
运算符 ·是子域 GF(24)上的乘法运算, 运算符 +是子域 GF(24)上的加法运算。 (^((2")2)乘法器的处理器在处理子域 GF(24)上的乘法运算时,通过启动其内部的 调度器来完成运算。 此时内部的调度器将需要参加运算的三个运算数发送给 GF(2")标准基乘法器或者 GF、 )查找表乘法器 ( 为 (10)2的时候发给 GF 2" )标 准基乘法器, 为 (11)2的时候发给 GF(2")查找表乘法器),并等待获得反馈的结果。 一旦 GF(2")标准基乘法器或者 GF(2")查找表乘法器完成所需的运算并发送结果 到调度器, 调度器马上将此结果发给 GF((2")2)乘法器中的处理器。 GF((2")2)乘法 器中的处理器在处理子域 GF(24)上的加法运算时,则是通过异或门电路来获得运 算结果的。 d(x) = dhx + dt即 (a(x) xb(x)x c(x)) mod(q(x))的计算结果, 是 GF ((24 )2 )上的 元素, 和 ^是 GF(24)上的元素。 内部处理器将此运算结果发送给控制器, 控制 器即将此结果输出到输出端口 d。 上述实施例为本发明较佳的实施方式, 但本发明的实施方式并不受所述实 施例的限制, 其他的任何未背离本发明的精神实质与原理下所作的改变、 修饰、 替代、 组合、 简化, 均应为等效的置换方式, 都包含在本发明的保护范围之内。

Claims

权 利 要 求 书
1、 一种复合有限域乘法器, 其特征在于, 包括:
输入端口, 用于输入运算数 α(χ)、 运算数 (χ)、 运算数 c(x)、 GF(2")域上选 定的既约多项式 PW、 GF((2«)™)域上选定的既约多项式 (x)和控制信号
GF(2")标准基乘法器, 用于执行三个运算数 , Wx)和 c( )在 GF(2")上基 于标准基的乘、法 ( (χ) X b(x) x c(x)) mod(p(x));
GF(2")查找表乘法器, 用于执行三个运算数《(x), W )和 c(x)在 GF(2")上基 于查找表的乘、法 (α(χ) xb(x)x c(x)) mod(p(x));
GF((2")2)乘法器,包括相互连接的第一处理器和调度器;所述第一处理器用 于执行三个运算数 α(χ), b{x) P c{x) ¾ G ((2")2) ± (α(χ) x b(x) x c(x)) mod(q(x)), 其中 mod为求模运算; 所述调度器用于调用 GF(2")标准基乘法器和 GF(2")查找 表乘法器;
控制器, 用于实现对 GF((2")2)乘法器、 GF(2")标准基乘法器和 GF(2")查找表 乘法器的控制;
输出端口, 用于输出结果;
所述控制器分别与输入端口、 输出端口、 GF((2")2)乘法器、 GF(2")标准基乘 法器和 GF(2" )查找表乘法器连接;
所述 GF((2" )2)乘法器分别与 GF(2")标准基乘法器、 GF(2")査找表乘法器连 接。
2、 根据权利要求 1所述的复合有限域的乘法器, 其特征在于, 所述第一处 理器包括用于处理 GF(2")域上的加法运算的异或门电路。
3、 根据权利要求 1所述的复合有限域乘法器, 其特征在于, 所述控制信号 为 2比特数值, 共有四种二进制取值, 分别是 (00)2,(01)2,(10)2和(11)2
4、 根据权利要求 1所述的复合有限域的乘法器, 其特征在于, 所述控制器 包括相互连接的解析器和第三处理器;
所述解析器用于解析输入的控制信号;
所述第三处理器用于接收输入端口输入的数据信号, 并根据解析器的解析 权 利 要 求 书
结果通知 GF((2")2)乘法器、 GF(2")标准基乘法器和 GF(2")查找表乘法器执行与解 析结果相应的功能。
5、根据权利要求 1所述的复合有限域乘法器,其特征在于,所述运算数《(x)、 运算数 &W、 运算数 c(x)具有如下形式:
α(χ) = am_xx + am_2x +.,, + α0; ) = m_,xm-1 + cm_2xm-2 + ·.· + C0 o
6、 根据权利要求 1所述的复合有限域乘法器, 其特征在于, 所述 域 上选定的既约多项式 具有如下形式:
p(x) = xn -\- pn_xxn~ + / 2 "— 2屮… 7^ + 1 °
7、 根据权利要求 1所述的复合有限域乘法器, 其特征在于, 所述 GF((2"n 域上选定的既约多项式 (x)具有如下形式:
PCT/CN2012/076053 2011-09-09 2012-05-25 一种复合有限域乘法器 WO2013034000A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/123,761 US9201847B2 (en) 2011-09-09 2012-05-25 Composite finite field multiplier
EP12830518.2A EP2755127B1 (en) 2011-09-09 2012-05-25 Composite finite field multiplier

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2011102672724A CN102314330B (zh) 2011-09-09 2011-09-09 一种复合有限域乘法器
CN201110267272.4 2011-09-09

Publications (1)

Publication Number Publication Date
WO2013034000A1 true WO2013034000A1 (zh) 2013-03-14

Family

ID=45427532

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/076053 WO2013034000A1 (zh) 2011-09-09 2012-05-25 一种复合有限域乘法器

Country Status (5)

Country Link
US (1) US9201847B2 (zh)
EP (1) EP2755127B1 (zh)
CN (1) CN102314330B (zh)
HK (1) HK1163857A1 (zh)
WO (1) WO2013034000A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314330B (zh) * 2011-09-09 2013-12-25 华南理工大学 一种复合有限域乘法器
CN103729162A (zh) * 2012-10-15 2014-04-16 北京兆易创新科技股份有限公司 伽罗瓦域运算系统和方法
CN102929574A (zh) * 2012-10-18 2013-02-13 复旦大学 Gf(2163)域上的脉动乘法器设计方法
CN106445464B (zh) * 2016-10-13 2019-04-02 深圳职业技术学院 一种基于心动模型的复合有限域乘法器
CN106951210B (zh) * 2017-03-21 2020-09-29 深圳职业技术学院 一种基于心动阵列的有限域乘法装置
CN108874367B (zh) * 2018-06-29 2022-05-13 深圳职业技术学院 一种基于乘方运算的复合有限域求逆器及其求逆方法
NL2026356B1 (en) * 2020-08-27 2021-10-04 Shenzhen Polytechnic A 5G-oriented Cardiac Composite Finite Field Multiplication Device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701336B1 (en) * 1999-11-12 2004-03-02 Maxtor Corporation Shared galois field multiplier
CN101095102A (zh) * 2004-11-22 2007-12-26 阿纳洛格装置公司 压缩伽罗瓦域计算系统
CN101739233A (zh) * 2008-11-11 2010-06-16 财团法人工业技术研究院 半循序输入的伽罗瓦乘法器与其执行方法
CN101819519A (zh) * 2009-02-26 2010-09-01 航天信息股份有限公司 多功能数字签名电路
CN102314330A (zh) * 2011-09-09 2012-01-11 华南理工大学 一种复合有限域乘法器
CN202217262U (zh) * 2011-09-09 2012-05-09 华南理工大学 一种复合有限域乘法器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4251875A (en) * 1979-02-12 1981-02-17 Sperry Corporation Sequential Galois multiplication in GF(2n) with GF(2m) Galois multiplication gates
EP0566215B1 (en) * 1986-09-30 1996-11-20 Canon Kabushiki Kaisha Error correction apparatus
US5931894A (en) * 1997-11-07 1999-08-03 National Science Council Power-sum circuit for finite field GF(2m)
US6263470B1 (en) * 1998-02-03 2001-07-17 Texas Instruments Incorporated Efficient look-up table methods for Reed-Solomon decoding
US7133889B2 (en) * 2001-09-20 2006-11-07 Stmicroelectronics, Inc. Flexible galois field multiplier
US8577026B2 (en) * 2010-12-29 2013-11-05 Ternarylogic Llc Methods and apparatus in alternate finite field based coders and decoders
CN100555213C (zh) * 2003-10-14 2009-10-28 松下电器产业株式会社 数据转换器
US7464128B1 (en) * 2004-03-12 2008-12-09 Altera Corporation Methods and apparatus for single stage Galois field operations
US8200734B1 (en) * 2008-02-07 2012-06-12 At&T Intellectual Property Ii L.P. Lookup-based Galois field operations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701336B1 (en) * 1999-11-12 2004-03-02 Maxtor Corporation Shared galois field multiplier
CN101095102A (zh) * 2004-11-22 2007-12-26 阿纳洛格装置公司 压缩伽罗瓦域计算系统
CN101739233A (zh) * 2008-11-11 2010-06-16 财团法人工业技术研究院 半循序输入的伽罗瓦乘法器与其执行方法
CN101819519A (zh) * 2009-02-26 2010-09-01 航天信息股份有限公司 多功能数字签名电路
CN102314330A (zh) * 2011-09-09 2012-01-11 华南理工大学 一种复合有限域乘法器
CN202217262U (zh) * 2011-09-09 2012-05-09 华南理工大学 一种复合有限域乘法器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2755127A4 *

Also Published As

Publication number Publication date
EP2755127B1 (en) 2019-07-10
US9201847B2 (en) 2015-12-01
CN102314330A (zh) 2012-01-11
CN102314330B (zh) 2013-12-25
HK1163857A1 (en) 2012-09-14
EP2755127A1 (en) 2014-07-16
US20140101220A1 (en) 2014-04-10
EP2755127A4 (en) 2015-04-01

Similar Documents

Publication Publication Date Title
WO2013034000A1 (zh) 一种复合有限域乘法器
Orlando et al. A high-performance reconfigurable elliptic curve processor for GF (2m)
McIvor et al. Hardware Elliptic Curve Cryptographic Processor Over $ rm GF (p) $
Chung et al. A high-performance elliptic curve cryptographic processor over GF (p) with SPA resistance
JP2013080487A (ja) 拡張精度アキュムレータ
JP2012185517A5 (zh)
Zhao et al. Ultra high-speed SM2 ASIC implementation
Gong et al. High-throughput FPGA implementation of 256-bit Montgomery modular multiplier
Azarderakhsh et al. Fast software implementations of bilinear pairings
US7809783B2 (en) Booth multiplier with enhanced reduction tree circuitry
TW201017525A (en) Semi-sequential Galois field multiplier and the method for performing the same
CN202217262U (zh) 一种复合有限域乘法器
Chen et al. A high-performance unified-field reconfigurable cryptographic processor
US20190253396A1 (en) Systems and methods for providing secure communications using a protocol engine
CN114650135B (zh) 一种软硬件协同的sm2椭圆曲线密码算法实现方法
McIvor et al. An FPGA elliptic curve cryptographic accelerator over GF (p)
Choi et al. High performance elliptic curve cryptographic processor over GF (2^ 163)
Srinivasan et al. VLSI implementation of low power high speed ECC processor using versatile bit serial multiplier
KR20090113138A (ko) MSD first GF(3^m) 직렬 곱셈 장치, 그방법 및 이를 기록한 기록매체
WO2014026451A1 (zh) 一种有限域求逆器
CN108268243B (zh) 一种基于查找的复合域乘法装置
Hossain et al. Efficient FPGA Implementation of unified point operation for twisted Edward curve cryptography
CN115062565B (zh) 一种低时延椭圆曲线点乘电路设计方法
Ors et al. Hardware implementation of an elliptic curve processor over GF (p) with montgomery modular multiplier
JP5822757B2 (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12830518

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14123761

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE