CN108268243A - A kind of compositum multiplier based on lookup - Google Patents
A kind of compositum multiplier based on lookup Download PDFInfo
- 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
Links
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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying 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
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.
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)
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)
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 |
-
2018
- 2018-01-30 CN CN201810089913.3A patent/CN108268243B/en active Active
Patent Citations (6)
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)
Title |
---|
易海博: ""有限域运算和多变量公钥密码硬件的优化和设计"", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
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 |