CN108268243A - A kind of compositum multiplier based on lookup - Google Patents

A kind of compositum multiplier based on lookup Download PDF

Info

Publication number
CN108268243A
CN108268243A CN201810089913.3A CN201810089913A CN108268243A CN 108268243 A CN108268243 A CN 108268243A CN 201810089913 A CN201810089913 A CN 201810089913A CN 108268243 A CN108268243 A CN 108268243A
Authority
CN
China
Prior art keywords
layer
node
compositum
port
subdomain
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
Application number
CN201810089913.3A
Other languages
Chinese (zh)
Other versions
CN108268243B (en
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 CN201810089913.3A priority Critical patent/CN108268243B/en
Publication of CN108268243A publication Critical patent/CN108268243A/en
Application granted granted Critical
Publication of CN108268243B publication Critical patent/CN108268243B/en
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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only

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)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

The invention discloses a kind of compositum multiplier based on lookup, including input port, output port, controller, multiplying module and add operation module.Input port includes inputting compositum GF ((2n)2) first operand a (x) port a, for inputting compositum GF ((2n)2) second operand b (x) port b, for the port clk of input clock signal t, for inputting compositum GF ((2n)2) irreducible function q (x) port q and for inputting subdomain GF (2n) irreducible function p (x) port p;Output port includes exporting compositum GF ((2n)2) multiplication result c (x) port c;Controller includes control input/output port and scheduling connected components calculate compositum GF ((2n)2) multiplication control circuit;Add operation module includes calculating GF (2n) addition lookup structure;Multiplying module includes calculating GF (2n) multiplication lookup structure.The present invention is based on lookups to realize compositum multiplying, is calculating GF ((2n)2) on multiplying on it is highly efficient relative to existing compositum multiplier.

Description

A kind of compositum multiplier based on lookup
Technical field
It is more particularly to a kind of based on lookup the present invention relates to the device that a kind of two elements to compositum are multiplied Compositum multiplier.
Background technology
Compositum is a type of finite field, also known as compound finite field.Finite field finds first by Galois, be containing The number field of limited a element, is widely deployed in fields such as communication, safety, storages.Operation in finite field is referred to as limited Domain calculates, and including finite field addition, multiplication, inverts, division etc..
Common compositum is GF ((2n)2), the size in domain is (2n)2, its subdomain is GF (2n).Because compositum is GF ((2n)2) operation include subdomain GF (2n) operation, so by optimizing GF (2n) operation can promote GF ((2n)2) operation effect Rate.Compositum multiplication is one of most complicated operation of compositum, is the basic operations in cryptography, in cryptographic system and coding skill Important function has been played in art.The design method of compositum multiplication is generally basede on algebraic method, i.e., carries out multiplication using algebraic process Operation.It is relatively slow in arithmetic speed direction based on the multiplier of algebraically.
Invention content
In order to overcome the disadvantages mentioned above of the prior art, the purpose of the present invention is to provide a kind of answering based on lookup with insufficient Domain multiplier is closed, by searching for the multiplying of compositum is realized, is calculating GF ((2n)2) multiplying relative to existing Some Galois field multipliers are highly efficient.
The purpose of the present invention is achieved through the following technical solutions:
A kind of compositum multiplier based on lookup, including:
Input port inputs compositum GF ((2 including being used forn)2) first operand a (x) port a, for inputting Compositum GF ((2n)2) second operand b (x) port b, for the port clk of input clock signal t, multiple for inputting Close domain GF ((2n)2) irreducible function q (x) port q and for inputting subdomain GF (2n) irreducible function p (x) Port p;
Output port, for exporting compositum GF ((2n)2) multiplication result c (x), be denoted as port c;
Add operation module calculates GF (2 including being used forn) two known elements addition lookup tree construction;
Multiplying module calculates GF (2 including being used forn) two known elements multiplication lookup tree construction;
Controller controls input/output port control circuit and for dispatching add operation module and multiplication fortune including being used for It calculates module and calculates compositum GF ((2n)2) multiplication control circuit.
The addition searches tree construction and includes two search trees, and every tree includes n-layer, and one layer of the top is where root node Layer, referred to as the 0th layer;Then one layer bottom, i.e. layer where leaf node is (n-1)th layer;
One layer under the leaf node of search tree of extension layer, each node of extension layer is connected with three leaf nodes;
All tree nodes have left child nodes and right child nodes in addition to leaf node;
Left root node and left child nodes represent numerical value 0, and right radical node and right child nodes represent numerical value 1;
Each represents a GF (2 from root node respectively to the path of a leaf noden) element.
The calculating process of the add operation module is as follows:
For GF (2n) two known element f (x), addition h (x)=f (x)+g (x) of g (x), wherein,
F (x)=fn-1xn-1+fn-2xn-2+...+f0,
G (x)=gn-1xn-1+gn-2xn-2+...+g0,
H (x)=hn-1xn-1+hn-2xn-2+...+h0,
fn-1,fn-2,...,f0,gn-1,gn-2,...,g0,hn-1,hn-2,...,h0It is the element of finite field gf (2);
If GF (2n) addition h (x)=f (x)+g (x), and the node n from the 0th layer to (n-1)th layerfPath represent GF (2n) element f (x), the node n from the 0th layer to (n-1)th layergPath represent GF (2n) element g (x), then (n-1)th layer Node nfAnd ngWith the node n of extension layersIt is connected;If the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) element The node n of h (x), then (n-1)th layerhWith the node n of extension layersIt is connected;
The step of calculating h (x)=f (x)+g (x) is as follows:
Firstly, for f (x)=fn-1xn-1+fn-2xn-2+...+f0, judge the node n from the 0th layer to (n-1)th layerfPath Represent GF (2n) element f (x);
Then, for g (x)=gn-1xn-1+gn-2xn-2+...+g0, the node n from the 0th layer to (n-1)th layergPath represent GF(2n) element g (x);
If (n-1)th layer of node nfAnd ngWith the node n of extension layersIt is connected, and (n-1)th layer of node nhWith extension layer Node nsIt is connected, then the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) element be h (x)=f (x)+g (x), i.e.,It is the operation result of h (x)=f (x)+g (x).
The multiplication searches tree construction and includes two search trees, and every tree includes n-layer;Topmost where one layer i.e. root node Layer, referred to as the 0th layer;Then one layer bottom, i.e. layer where leaf node is (n-1)th layer;
One layer under the leaf node of search tree of extension layer, each node of extension layer is connected with three leaf nodes;
All tree nodes have left child nodes and right child nodes in addition to leaf node;
Left root node and left child nodes represent numerical value 0, and right radical node and right child nodes represent numerical value 1;
Each represents a GF (2 from root node respectively to the path of a leaf noden) element.
The calculating process of the multiplying module is as follows:
GF(2n) two known element f (x), multiplication h (x)=f (x) × g (x) of g (x), wherein,
F (x)=fn-1xn-1+fn-2xn-2+...+f0,
G (x)=gn-1xn-1+gn-2xn-2+...+g0,
H (x)=hn-1xn-1+hn-2xn-2+...+h0,
fn-1,fn-2,...,f0,gn-1,gn-2,...,g0,hn-1,hn-2,...,h0It is the element of finite field gf (2);
If GF (2n) multiplication h (x)=f (x) × g (x), and the node n from the 0th layer to (n-1)th layerfPath represent GF(2n) element f (x), the node n from the 0th layer to (n-1)th layergPath represent GF (2n) element g (x), then (n-1)th layer Node nfAnd ngWith the node n of extension layersIt is connected;If the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) member The node n of plain h (x), then (n-1)th layerhWith the node n of extension layersIt is connected;
The step of calculating h (x)=f (x) × g (x) is as follows:
Firstly, for f (x)=fn-1xn-1+fn-2xn-2+...+f0, judge the node n from the 0th layer to (n-1)th layerfPath Represent GF (2n) element f (x);
Then, for g (x)=gn-1xn-1+gn-2xn-2+...+g0, the node n from the 0th layer to (n-1)th layergPath represent GF(2n) element g (x);
If (n-1)th layer of node nfAnd ngWith the node n of extension layersIt is connected, and (n-1)th layer of node nhWith extension layer Node nsIt is connected, then the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) element be h (x)=f (x) × g (x), i.e.,It is the operation result of h (x)=f (x) × g (x).
The first operand a (x), second operand b (x), multiplication result c (x) polynomial expression difference For:
A (x)=ahx+al,
B (x)=bhx+bl,
C (x)=chx+cl,
ah,al,bh,blIt is finite field gf (2n) element;ch,clIt is finite field gf (2n) element;
The first operand a (x), second operand b (x), multiplication result c (x) coefficient form be:
A (x)=a (ah,al),
B (x)=b (bh,bl),
C (x)=c (ch,cl),
ah,al,bh,blIt is finite field gf (2n) element;ch,clIt is finite field gf (2n) element.
The scheduling add operation module and multiplying module calculate GF ((2n)2) multiplication c (x)=a (x) × b (x) The step of it is as follows:
Enable a (x)=ahx+alWith b (x)=bhx+bl,
Clock signal is waited for turn to high level by low level;First clock cycle calls multiplying module to calculate s0 =ahbh, s0,ah,bhIt is subdomain GF (2n) element;Second clock cycle calls multiplying module to calculate s1=ahbl, s1,ah,blIt is subdomain GF (2n) element;The third clock cycle calls multiplying module to calculate s2=albh, s2,al,bh It is subdomain GF (2n) element;4th clock cycle calls multiplying module to calculate s3=albl, s3,al,blIt is subdomain GF (2n) element;5th clock cycle calls multiplying module to calculate s4=s0E, s4,s0, e is subdomain GF (2n) member Element;6th clock cycle calls add operation module to calculate s5=s4+s3, s5,s4,s3It is subdomain GF (2n) element;7th A clock cycle calls add operation module to calculate s6=s0+s1, s6,s0,s1It is subdomain GF (2n) element;8th clock Period calls add operation module to calculate s7=s6+s2, s7,s6,s2It is subdomain GF (2n) element;Enable c (x)=chx+cl, ch =s7, cl=s5, ch,clIt is subdomain GF (2n) element, c (x) is compositum GF ((2n)2) element, c (x) is a (x)=ahx+ alWith b (x)=bhx+blMultiplication result.
The clock signal t is single-bit signal, and value is 0 or 1, represents low level or high level;Low level turns to high The beginning of one clock cycle of level representative.
Compared with prior art, the present invention has the following advantages and beneficial effect:
Add operation module, the multiplying module of the present invention includes two search trees, then by controller scheduling addition fortune It calculates module and multiplying module calculates compositum GF ((2n)2) multiplication.The present invention is by searching for realizing the multiplication of compositum Operation is calculating GF ((2n)2) multiplying can improve performance relative to existing Galois field multiplier, calculate it is compound The speed during multiplication of domain faster, can be widely used in cryptographic system and data communication, improve encrypting and decrypting speed and number According to the speed of coding and decoding.
Description of the drawings
Fig. 1 is a kind of structure diagram of compositum multiplier based on lookup of the embodiment of the present invention.
Fig. 2 is the lookup tree construction below figure GF (2 of add operation module4)。
Fig. 3 is the lookup tree construction below figure GF (2 of multiplying module4)。
Specific embodiment
With reference to embodiment, the present invention is described in further detail, but the implementation of the present invention is not limited to this.
Embodiment
As shown in Figure 1, the compositum multiplier based on lookup, including:
Input port inputs compositum GF ((2 including being used forn)2) first operand a (x) port a, for inputting Compositum GF ((2n)2) second operand b (x) port b, for the port clk of input clock signal t, multiple for inputting Close domain GF ((2n)2) irreducible function q (x) port q and for inputting subdomain GF (2n) irreducible function p (x) Port p;
Output port, for exporting compositum GF ((2n)2) multiplication result c (x), be denoted as port c;
Controller controls input/output port control circuit and for dispatching add operation module and multiplication fortune including being used for It calculates module and calculates compositum GF ((2n)2) multiplication control circuit;
Add operation module calculates GF (2 including being used forn) two known elements addition lookup tree construction.
Multiplying module calculates GF (2 including being used forn) two known elements multiplication lookup tree construction.
(1) input port
The input port includes inputting compositum GF ((2n)2) first operand a (x) port a, be used for Input compositum GF ((2n)2) second operand b (x) port b, for the port clk of input clock signal t, for defeated Enter compositum GF ((2n)2) irreducible function q (x) port q and for inputting subdomain GF (2n) irreducible function p (x) port p;
The the first operand a (x) and second operand b (x) of the input port, can be expressed as polynomial form:
A (x)=ahx+al,
B (x)=bhx+bl,
ah,al,bh,blIt is finite field gf (2n) element.
The the first operand a (x) and second operand b (x) of the input port can be expressed as the form of coefficient:
A (x)=a (ah,al),
B (x)=b (bh,bl),
ah,al,bh,blIt is finite field gf (2n) element.
The clock signal t of the input port is single-bit signal, and value is 0 or 1, represents low level or high level;It is low Level turns to the beginning that high level represents a clock cycle.
The compositum GF ((2 of the input portn)2) irreducible function q (x), polynomial shape can be expressed as Formula:
Q (x)=x2+ x+e,
E is finite field gf (2n) constant.
The subdomain GF (2 of the input portn) irreducible function p (x), polynomial form can be expressed as:
P (x)=xn+pn-1xn-1+pn-2xn-2+...+p1X+1,
pn-1,pn-2,...,p1The element of finite field gf (2), i.e. binary number (0)2(1)2In a number.
(2) output port
The compositum GF ((2 of output portn)2) multiplication result c (x), the form of coefficient can be expressed as:
C (x)=c (ch,cl),
ch,clIt is finite field gf (2n) element.
(3) add operation module
As shown in Fig. 2, the add operation module, searches tree construction, for calculating GF (2 comprising additionn) two The addition h (x) of major elements f (x), g (x)=f (x)+g (x), wherein,
F (x)=fn-1xn-1+fn-2xn-2+...+f0,
G (x)=gn-1xn-1+gn-2xn-2+...+g0,
H (x)=hn-1xn-1+hn-2xn-2+...+h0,
fn-1,fn-2,...,f0,gn-1,gn-2,...,g0,hn-1,hn-2,...,h0It is the element of finite field gf (2);
It calculates h (x)=f (x)+g (x) and searches tree construction using addition, be described as follows:
It searches tree construction and includes two search trees, every tree includes n-layer, topmost one layer, i.e. layer where root node Referred to as the 0th layer, then one layer bottom, i.e. layer where leaf node is (n-1)th layer;
One layer under the leaf node of search tree of extension layer, each node of extension layer is connected with three leaf nodes;
All tree nodes have left child nodes and right child nodes in addition to leaf node;
Left sibling (left root node and left child nodes) represents numerical value 0, right node (right radical node and right child nodes) generation Table numerical value 1;
Each represents a GF (2 from root node respectively to the path of a leaf noden) element;For example, by a left side Root node starts, the nodes such as the left child nodes including left root node, left child nodes of left child nodes of left root node, directly The path for terminating ((n-1)th layer of leftmost node) to leftmost leaf node represents GF (2n) element (00...00)2
If GF (2n) addition h (x)=f (x)+g (x), and the node n from the 0th layer to (n-1)th layerfPath represent GF (2n) element f (x), the node n from the 0th layer to (n-1)th layergPath represent GF (2n) element g (x), then (n-1)th layer Node nfAnd ngWith the node n of extension layersIt is connected;If the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) element The node n of h (x), then (n-1)th layerhWith the node n of extension layersIt is connected;
The step of calculating h (x)=f (x)+g (x) is as follows:
Firstly, for f (x)=fn-1xn-1+fn-2xn-2+...+f0, judge the node n from the 0th layer to (n-1)th layerfPath Represent GF (2n) element f (x);
Then, for g (x)=gn-1xn-1+gn-2xn-2+...+g0, the node n from the 0th layer to (n-1)th layergPath represent GF(2n) element g (x);
If (n-1)th layer of node nfAnd ngWith the node n of extension layersIt is connected, and (n-1)th layer of node nhWith extension layer Node nsIt is connected, then the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) element be h (x)=f (x)+g (x), i.e.,It is the operation result of h (x)=f (x)+g (x).
(4) multiplying module
As shown in figure 3, the multiplying module, searches tree construction, for calculating GF (2 comprising multiplicationn) two The multiplication h (x) of major elements f (x), g (x)=f (x) × g (x), wherein,
F (x)=fn-1xn-1+fn-2xn-2+...+f0,
G (x)=gn-1xn-1+gn-2xn-2+...+g0,
H (x)=hn-1xn-1+hn-2xn-2+...+h0,
fn-1,fn-2,...,f0,gn-1,gn-2,...,g0,hn-1,hn-2,...,h0It is the element of finite field gf (2);
It calculates h (x)=f (x) × g (x) and searches tree construction using multiplication, be described as follows:
It searches tree construction and includes two search trees, every tree includes n-layer, topmost one layer, i.e. layer where root node Referred to as the 0th layer, then one layer bottom, i.e. layer where leaf node is (n-1)th layer;
One layer under the leaf node of search tree of extension layer, each node of extension layer is connected with three leaf nodes;
All tree nodes have left child nodes and right child nodes in addition to leaf node;
Left sibling (left root node and left child nodes) represents numerical value 0, right node (right radical node and right child nodes) generation Table numerical value 1;
Each represents a GF (2 from root node respectively to the path of a leaf noden) element;For example, by a left side Root node starts, the nodes such as the left child nodes including left root node, left child nodes of left child nodes of left root node, directly The path for terminating ((n-1)th layer of leftmost node) to leftmost leaf node represents GF (2n) element (00...00)2
If GF (2n) multiplication h (x)=f (x) × g (x), and the node n from the 0th layer to (n-1)th layerfPath represent GF(2n) element f (x), the node n from the 0th layer to (n-1)th layergPath represent GF (2n) element g (x), then (n-1)th layer Node nfAnd ngWith the node n of extension layersIt is connected;If the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) member The node n of plain h (x), then (n-1)th layerhWith the node n of extension layersIt is connected;
The step of calculating h (x)=f (x) × g (x) is as follows:
Firstly, for f (x)=fn-1xn-1+fn-2xn-2+...+f0, judge the node n from the 0th layer to (n-1)th layerfPath Represent GF (2n) element f (x);
Then, for g (x)=gn-1xn-1+gn-2xn-2+...+g0, the node n from the 0th layer to (n-1)th layergPath represent GF(2n) element g (x);
If (n-1)th layer of node nfAnd ngWith the node n of extension layersIt is connected, and (n-1)th layer of node nhWith extension layer Node nsIt is connected, then the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) element be h (x)=f (x) × g (x), i.e.,It is the operation result of h (x)=f (x) × g (x).
(5) controller
The controller is connected with input port, monitors input port a, receives compound finite field gf ((2n)2) first fortune Count the port a of a (x);Input port b is monitored, receives compound finite field gf ((2n)2) second operand b (x) port b; Input port clk is monitored, receives clock signal t;Input port q is monitored, receives compound finite field gf ((2n)2) it is irreducible more Item formula q (x);Input port p is monitored, receives subdomain GF (2n) irreducible function p (x).The controller and add operation Module, multiplying module are connected, and the controller is connected with output port, calculate GF ((2n)2) multiplication c (x)=a (x) × After the completion of b (x), by c (x) outputs to output port c.
Enable a (x)=ahx+alWith b (x)=bhx+bl, calculate GF ((2n)2) multiplication c (x)=a (x) × b (x) the step of It is as follows:
Clock signal is waited for turn to high level by low level;
First clock cycle calls multiplying module to calculate s0=ahbh, s0,ah,bhIt is subdomain GF (2n) element;
Second clock cycle calls multiplying module to calculate s1=ahbl, s1,ah,blIt is subdomain GF (2n) element;
The third clock cycle calls multiplying module to calculate s2=albh, s2,al,bhIt is subdomain GF (2n) element;
4th clock cycle calls multiplying module to calculate s3=albl, s3,al,blIt is subdomain GF (2n) element;
5th clock cycle calls multiplying module to calculate s4=s0E, s4,s0, e is subdomain GF (2n) element;
6th clock cycle calls add operation module to calculate s5=s4+s3, s5,s4,s3It is subdomain GF (2n) member Element;
7th clock cycle calls add operation module to calculate s6=s0+s1, s6,s0,s1It is subdomain GF (2n) member Element;
8th clock cycle calls add operation module to calculate s7=s6+s2, s7,s6,s2It is subdomain GF (2n) member Element;
Enable c (x)=chx+cl, ch=s7, cl=s5, ch,clIt is subdomain GF (2n) element, c (x) is compositum GF ((2n )2) element, c (x) is a (x)=ahx+alWith b (x)=bhx+blMultiplication result.
The present embodiment illustrates the course of work of the calculating multiplication of the present invention by taking n=4 as an example.
First operand a (x) of input port is compositum GF ((24)2) element, polynomial shape can be expressed as Formula:
A (x)=ahx+al,
ah,alIt is finite field gf (24) element;
The second operand b (x) of input port is compositum GF ((24)2) element, polynomial shape can be expressed as Formula:
B (x)=bhx+bl,
bh,blIt is finite field gf (24) element;
The operand c (x) of output port is compositum GF ((24)2) element, polynomial form can be expressed as:
C (x)=chx+cl,
ch,clIt is finite field gf (24) element;
The clock signal t of input port is single-bit signal, and the clock cycle was 20 nanoseconds;
Controller calculates GF ((24)2) multiplication c (x)=a (x) × b (x) steps it is as follows:
Arithmetic and control unit receives the first operand a (x) of input, second operand b (x), clock signal t, GF ((24)2) Irreducible function q (x)=x2+ x+9, GF (24) irreducible function p (x)=x4+ x+1 waits for clock signal t by low electricity Flat turn by 0 to high level (becoming 1);
First clock cycle calls multiplying module to calculate s0=ahbh, s0,ah,bhIt is subdomain GF (2n) element;
Second clock cycle calls multiplying module to calculate s1=ahbl, s1,ah,blIt is subdomain GF (2n) element;
The third clock cycle calls multiplying module to calculate s2=albh, s2,al,bhIt is subdomain GF (2n) element;
4th clock cycle calls multiplying module to calculate s3=albl, s3,al,blIt is subdomain GF (2n) element;
5th clock cycle calls multiplying module to calculate s4=s0E, s4,s0, e is subdomain GF (2n) element;
6th clock cycle calls add operation module to calculate s5=s4+s3, s5,s4,s3It is subdomain GF (2n) member Element;
7th clock cycle calls add operation module to calculate s6=s0+s1, s6,s0,s1It is subdomain GF (2n) member Element;
8th clock cycle calls add operation module to calculate s7=s6+s2, s7,s6,s2It is subdomain GF (2n) member Element;
Enable c (x)=chx+cl, ch=s7, cl=s5, ch,clIt is subdomain GF (24) element, c (x) is compositum GF ((24 )2) element, c (x) is a (x)=ahx+alWith b (x)=bhx+blMultiplication result;Controller extremely exports c (x) outputs Port c.
Above-described embodiment is the preferable embodiment of the present invention, but embodiments of the present invention are not by the embodiment Limitation, other any Spirit Essences without departing from the present invention with made under principle change, modification, replacement, combine, simplification, Equivalent substitute mode is should be, is included within protection scope of the present invention.

Claims (8)

1. a kind of compositum multiplier based on lookup, which is characterized in that including:
Input port inputs compositum GF ((2 including being used forn)2) first operand a (x) port a, compound for inputting Domain GF ((2n)2) second operand b (x) port b, for the port clk of input clock signal t, for inputting compositum GF((2n)2) irreducible function q (x) port q and for inputting subdomain GF (2n) irreducible function p (x) port p;
Output port, for exporting compositum GF ((2n)2) multiplication result c (x), be denoted as port c;
Add operation module calculates GF (2 including being used forn) two known elements addition lookup tree construction;
Multiplying module calculates GF (2 including being used forn) two known elements multiplication lookup tree construction;
Controller controls input/output port control circuit and for dispatching add operation module and multiplying mould including being used for Block calculates compositum GF ((2n)2) multiplication control circuit.
2. the compositum multiplier according to claim 1 based on lookup, which is characterized in that the addition search tree knot Structure includes two search trees, and every tree includes n-layer, topmost one layer of layer where root node, referred to as the 0th layer;It is then bottom One layer, i.e. layer where leaf node is (n-1)th layer;
One layer under the leaf node of search tree of extension layer, each node of extension layer is connected with three leaf nodes;
All tree nodes have left child nodes and right child nodes in addition to leaf node;
Left root node and left child nodes represent numerical value 0, and right radical node and right child nodes represent numerical value 1;
Each represents a GF (2 from root node respectively to the path of a leaf noden) element.
3. the compositum multiplier according to claim 2 based on lookup, which is characterized in that the add operation module Calculating process it is as follows:
For GF (2n) two known element f (x), addition h (x)=f (x)+g (x) of g (x), wherein,
F (x)=fn-1xn-1+fn-2xn-2+...+f0,
G (x)=gn-1xn-1+gn-2xn-2+...+g0,
H (x)=hn-1xn-1+hn-2xn-2+...+h0,
fn-1,fn-2,...,f0,gn-1,gn-2,...,g0,hn-1,hn-2,...,h0It is the element of finite field gf (2);
If GF (2n) addition h (x)=f (x)+g (x), and the node n from the 0th layer to (n-1)th layerfPath represent GF (2n) Element f (x), the node n from the 0th layer to (n-1)th layergPath represent GF (2n) element g (x), then (n-1)th layer node nfAnd ngWith the node n of extension layersIt is connected;If the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) element h (x), then (n-1)th layer of node nhWith the node n of extension layersIt is connected;
The step of calculating h (x)=f (x)+g (x) is as follows:
Firstly, for f (x)=fn-1xn-1+fn-2xn-2+...+f0, judge the node n from the 0th layer to (n-1)th layerfPath represent GF(2n) element f (x);
Then, for g (x)=gn-1xn-1+gn-2xn-2+...+g0, the node n from the 0th layer to (n-1)th layergPath represent GF (2n) element g (x);
If (n-1)th layer of node nfAnd ngWith the node n of extension layersIt is connected, and (n-1)th layer of node nhWith the node of extension layer nsIt is connected, then the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) element be h (x)=f (x)+g (x), i.e.,It is the operation result of h (x)=f (x)+g (x).
4. the compositum multiplier according to claim 1 based on lookup, which is characterized in that the multiplication search tree knot Structure includes two search trees, and every tree includes n-layer;One layer of layer i.e. where root node topmost, referred to as the 0th layer;It is then bottom One layer, i.e. layer where leaf node is (n-1)th layer;
One layer under the leaf node of search tree of extension layer, each node of extension layer is connected with three leaf nodes;
All tree nodes have left child nodes and right child nodes in addition to leaf node;
Left root node and left child nodes represent numerical value 0, and right radical node and right child nodes represent numerical value 1;
Each represents a GF (2 from root node respectively to the path of a leaf noden) element.
5. the compositum multiplier according to claim 4 based on lookup, which is characterized in that
The calculating process of the multiplying module is as follows:
GF(2n) two known element f (x), multiplication h (x)=f (x) × g (x) of g (x), wherein,
F (x)=fn-1xn-1+fn-2xn-2+...+f0,
G (x)=gn-1xn-1+gn-2xn-2+...+g0,
H (x)=hn-1xn-1+hn-2xn-2+...+h0,
fn-1,fn-2,...,f0,gn-1,gn-2,...,g0,hn-1,hn-2,...,h0It is the element of finite field gf (2);
If GF (2n) multiplication h (x)=f (x) × g (x), and the node n from the 0th layer to (n-1)th layerfPath represent GF (2n) element f (x), the node n from the 0th layer to (n-1)th layergPath represent GF (2n) element g (x), then (n-1)th layer Node nfAnd ngWith the node n of extension layersIt is connected;If the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) element The node n of h (x), then (n-1)th layerhWith the node n of extension layersIt is connected;
The step of calculating h (x)=f (x) × g (x) is as follows:
Firstly, for f (x)=fn-1xn-1+fn-2xn-2+...+f0, judge the node n from the 0th layer to (n-1)th layerfPath represent GF(2n) element f (x);
Then, for g (x)=gn-1xn-1+gn-2xn-2+...+g0, the node n from the 0th layer to (n-1)th layergPath represent GF (2n) element g (x);
If (n-1)th layer of node nfAnd ngWith the node n of extension layersIt is connected, and (n-1)th layer of node nhWith the node of extension layer nsIt is connected, then the node n from the 0th layer to (n-1)th layerhPath represent GF (2n) element be h (x)=f (x) × g (x), i.e.,It is the operation result of h (x)=f (x) × g (x).
6. the compositum multiplier according to claim 1 based on lookup, which is characterized in that the first operand a (x), second operand b (x), multiplication result c (x) polynomial expression be respectively:
A (x)=ahx+al,
B (x)=bhx+bl,
C (x)=chx+cl,
ah,al,bh,blIt is finite field gf (2n) element;ch,clIt is finite field gf (2n) element;
The first operand a (x), second operand b (x), multiplication result c (x) coefficient form be:
A (x)=a (ah,al),
B (x)=b (bh,bl),
C (x)=c (ch,cl),
ah,al,bh,blIt is finite field gf (2n) element;ch,clIt is finite field gf (2n) element.
7. the compositum multiplier according to claim 6 based on lookup, which is characterized in that the scheduling add operation Module and multiplying module calculate GF ((2n)2) multiplication c (x)=a (x) × b (x) the step of it is as follows:
Enable a (x)=ahx+alWith b (x)=bhx+bl,
Clock signal is waited for turn to high level by low level;First clock cycle calls multiplying module to calculate s0= ahbh, s0,ah,bhIt is subdomain GF (2n) element;Second clock cycle calls multiplying module to calculate s1=ahbl, s1, ah,blIt is subdomain GF (2n) element;The third clock cycle calls multiplying module to calculate s2=albh, s2,al,bhIt is son Domain GF (2n) element;4th clock cycle calls multiplying module to calculate s3=albl, s3,al,blIt is subdomain GF (2n) Element;5th clock cycle calls multiplying module to calculate s4=s0E, s4,s0, e is subdomain GF (2n) element;The Six clock cycle call add operation module to calculate s5=s4+s3, s5,s4,s3It is subdomain GF (2n) element;At the 7th The clock period calls add operation module to calculate s6=s0+s1, s6,s0,s1It is subdomain GF (2n) element;8th clock cycle, Add operation module is called to calculate s7=s6+s2, s7,s6,s2It is subdomain GF (2n) element;Enable c (x)=chx+cl, ch=s7, cl =s5, ch,clIt is subdomain GF (2n) element, c (x) is compositum GF ((2n)2) element, c (x) is a (x)=ahx+alAnd b (x)=bhx+blMultiplication result.
8. the compositum multiplier according to claim 1 based on lookup, which is characterized in that the clock signal t is Single-bit signal, value are 0 or 1, represent low level or high level;Low level turns to high level and represents opening for clock cycle Begin.
CN201810089913.3A 2018-01-30 2018-01-30 Composite domain multiplication device based on search Active CN108268243B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810089913.3A CN108268243B (en) 2018-01-30 2018-01-30 Composite domain multiplication device based on search

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810089913.3A CN108268243B (en) 2018-01-30 2018-01-30 Composite domain multiplication device based on search

Publications (2)

Publication Number Publication Date
CN108268243A true CN108268243A (en) 2018-07-10
CN108268243B CN108268243B (en) 2021-06-04

Family

ID=62777118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810089913.3A Active CN108268243B (en) 2018-01-30 2018-01-30 Composite domain multiplication device based on search

Country Status (1)

Country Link
CN (1) CN108268243B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358836A (en) * 2018-10-22 2019-02-19 深圳职业技术学院 A kind of compositum devision device based on table structure

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080021947A1 (en) * 2006-07-18 2008-01-24 Amitabha Sinha Triple-base number digital signal and numerical processing system
CN101650644A (en) * 2009-04-10 2010-02-17 北京邮电大学 Galois field multiplying unit realizing device
CN101860413A (en) * 2009-01-27 2010-10-13 汤姆森许可贸易公司 Be used for network recodification method and apparatus that coded identification is recoded
CN106407400A (en) * 2016-09-21 2017-02-15 中国科学院信息工程研究所 A real-time summary generating method for streaming data
CN106909339A (en) * 2017-02-22 2017-06-30 深圳职业技术学院 A kind of Galois field multiplier based on binary tree structure
CN107015782A (en) * 2017-04-12 2017-08-04 深圳职业技术学院 A kind of Galois field multiplier based on irreducible trinomial

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080021947A1 (en) * 2006-07-18 2008-01-24 Amitabha Sinha Triple-base number digital signal and numerical processing system
CN101860413A (en) * 2009-01-27 2010-10-13 汤姆森许可贸易公司 Be used for network recodification method and apparatus that coded identification is recoded
CN101650644A (en) * 2009-04-10 2010-02-17 北京邮电大学 Galois field multiplying unit realizing device
CN106407400A (en) * 2016-09-21 2017-02-15 中国科学院信息工程研究所 A real-time summary generating method for streaming data
CN106909339A (en) * 2017-02-22 2017-06-30 深圳职业技术学院 A kind of Galois field multiplier based on binary tree structure
CN107015782A (en) * 2017-04-12 2017-08-04 深圳职业技术学院 A kind of Galois field multiplier based on irreducible trinomial

Non-Patent Citations (1)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358836A (en) * 2018-10-22 2019-02-19 深圳职业技术学院 A kind of compositum devision device based on table structure
CN109358836B (en) * 2018-10-22 2022-11-11 深圳职业技术学院 Composite domain division device based on table structure

Also Published As

Publication number Publication date
CN108268243B (en) 2021-06-04

Similar Documents

Publication Publication Date Title
Smart Elliptic curve cryptosystems over small fields of odd characteristic
Lee A high-speed low-complexity Reed-Solomon decoder for optical communications
CN106445464B (en) A kind of compound Galois field multiplier based on model aroused in interest
EP1653428A4 (en) Elliptic curve encrypting device, elliptic curve encrypting method, elliptic curve encrypting program and computer-readable recording medium recording that program
CN105322973B (en) A kind of RS code coder and coding method
CN104679474A (en) Multiplying unit on finite field GF (2 227) and modular multiplication algorithm
Cenk et al. Improved three-way split formulas for binary polynomial and Toeplitz matrix vector products
CN107885486A (en) A kind of compound finite field inversions device based on search tree
Li et al. A parallel and reconfigurable united architecture for Fibonacci and Galois LFSR
CN108268243A (en) A kind of compositum multiplier based on lookup
CN105721107B (en) A kind of piecemeal calculates device and method of the CRC to improve clock frequency
Rashidi Efficient hardware implementations of point multiplication for binary Edwards curves
CN109933304A (en) Quick Montgomery modular multiplier operation optimization method suitable for the close sm2p256v1 algorithm of state
Yoshioka et al. Periodic properties of Chebyshev polynomial sequences over the residue ring $\mathbb {Z}/2^{k}\mathbb {Z} $
CN117692126A (en) Paillier homomorphic encryption method and system based on low-complexity modular multiplication algorithm
CN106951210A (en) A kind of finite field multiplier device based on systolic array
CN102891689B (en) A kind of error location polynomial method for solving and device
CN108540128A (en) A kind of clock division circuits and its dividing method
CN106909339A (en) A kind of Galois field multiplier based on binary tree structure
CN108897526A (en) A kind of compound finite field inverter and its inversion technique based on multiple square operation
CN108008934A (en) A kind of compound finite field inversions device based on look-up table
CN102902510B (en) A kind of finite field inverter
KR101309797B1 (en) Method for generating sparse w-NAF key, method for processing and method for encrypting thereof
EP3107215B1 (en) Reed-solomon or bch decoding configurable for high rate decoding or multi-output low rate decoding.
Zierler A conversion algorithm for logarithms on GF (2n)

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