CN108008934A - A kind of compound finite field inversions device based on look-up table - Google Patents
A kind of compound finite field inversions device based on look-up table Download PDFInfo
- Publication number
- CN108008934A CN108008934A CN201711259902.7A CN201711259902A CN108008934A CN 108008934 A CN108008934 A CN 108008934A CN 201711259902 A CN201711259902 A CN 201711259902A CN 108008934 A CN108008934 A CN 108008934A
- Authority
- CN
- China
- Prior art keywords
- finite field
- module
- look
- calculate
- square
- 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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
- G06F7/726—Inversion; Reciprocal calculation; Division of elements of a finite field
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
The invention discloses a kind of compound finite field inversions device based on look-up table, including controller, input port, output port and arithmetic unit;The input port is used to input compound finite field gf ((2n)2) inversion operation number a (x);The controller is used to call the arithmetic unit to carry out inversion operation to the inversion operation number a (x), obtains compound finite field gf ((2n)2) inversion operation result b (x);The arithmetic unit is used to run add operation and multiplying, square operation and inversion operation based on look-up table;The output port is used to export the inversion operation result b (x).The present invention can effectively improve the operation efficiency of finite field inversions.
Description
Technical field
The present invention relates to field of computer technology, more particularly to a kind of compound finite field inversions device based on look-up table.
Background technology
Finite field inversions belong to finite field operations, with finite field addition, multiplication, division, square, together with the computing such as power by
Cryptographic algorithm widely uses.The characteristics of compound finite field belongs to finite field, compound finite field inversions is the fortune for needing to carry out subdomain
Calculate.Common compound finite field is GF ((2n)2), the size in domain is (2n)2, its subdomain is GF (2n)。GF((2n)2) invert
Computing generally requires subdomain GF (2n) addition, multiplication, the computing such as invert.Because compound finite field is GF ((2n)2) inverting includes
Subdomain GF (2n) computing, so by optimizing GF (2n) computing can lift GF ((2n)2) efficiency of inverting.
Compound finite field inverter of the prior art can not realize finite field in real time and in the environment of responsive to speed
Invert the operation efficiency to be reached.
The content of the invention
The present invention is directed to problems of the prior art, there is provided a kind of compound finite field inversions dress based on look-up table
Put, the operation efficiency of finite field inversions can be effectively improved.
The technical solution that the present invention is proposed with regard to above-mentioned technical problem is as follows:
The present invention provides a kind of compound finite field inversions device based on look-up table, including controller, input port, output
Port and arithmetic unit;
The input port is used to input compound finite field gf ((2n)2) inversion operation number a (x);
The controller is used to call the arithmetic unit to carry out inversion operation to the inversion operation number a (x), obtains compound
Finite field gf ((2n)2) inversion operation result b (x);
The arithmetic unit is used to run add operation and multiplying, square operation and fortune of inverting based on look-up table
Calculate;
The output port is used to export the inversion operation result b (x).
Further, the polynomial repressentation form of the inversion operation number a (x) is a (x)=ahx+al;
The polynomial repressentation form of the inversion operation result b (x) is b (x)=bhx+bl;B (x)=a (x)-1;
Wherein, ah,al,bh,blIt is finite field gf (2n) element.
Further, the arithmetic unit includes add operation module, the first multiplying module, the second multiplying mould
Block, the first square operation module, the second square operation module and inversion operation module;
The input port is additionally operable to input clock signal;
The controller is specifically used for, in first clock cycle, calling the first square operation module to calculate s0=
ah 2, call the second square operation module to calculate s1=al 2, call the add operation module to calculate s2=ah+al;
In second clock cycle, the first multiplying module is called to calculate s3=al×s2, call described second to multiply
Method computing module calculates s4=s0×e;
In the 3rd clock cycle, the add operation module is called to calculate s5=s4+s3;
In the 4th clock cycle, the inversion operation module is called to calculate s6=s5 -1;
In the 5th clock cycle, the first multiplying module is called to calculate bl=s2×s6, call described second to multiply
Method computing module calculates bh=ah×s6, and then calculate b (x)=bhx+bl;
Wherein, s0,ah,s1,al,s2,s3,s4,s5,s6,bl,bhIt is finite field gf (2n) element, e is finite field gf
(2n) constant.
Further, the add operation module includes n exclusive or logic gate, for for finite field gf (2n) two
Known element c (x) and d (x), calculate ei=ci+di, and then obtain add operation result
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, d (x)=dn-1xn-1+dn-2xn-2+...+d0, e (x)=en- 1xn-1+en-2xn-2+...+e0, i=0,1 ..., n-1, n >=1 ,+it is finite field gf (2n) add operation, cn-1,cn-2,...,
c0,dn-1,dn-2,...,d0,en-1,en-2,...,e0It is finite field gf (2n) element.
Further, the first square operation module and the second square operation module are respectively used to be directed to finite field
GF(2n) known element c (x), search c from the first row of square look-up table pre-establishedi, obtain ciSecond to be expert at
The element e of rowi, and then obtain the square operation result of c (x)
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, e (x)=en-1xn-1+en-2xn-2+...+e0, i=0,1 ...,
N-1, cn-1,cn-2,...,c0,en-1,en-2,...,e0It is finite field gf (2n) element.
Further, the first square operation module and the second square operation module are additionally operable to for limited respectively
Domain GF (2n) each element α, calculate β=α2Modp (x), and α is stored in the first row of form, β is stored in the form
The secondary series that middle α is expert at, to establish square look-up table;
Wherein, mod is modular arithmetic, p (x)=xn+pn-1xn-1+ ...+1 is finite field gf (2n) irreducible function,
pn-1,pn-2,...,p1It is finite field gf (2 with βn) element.
Further, the first multiplying module and the second multiplying module are respectively used to be directed to finite field gf
(2n) two known element c (x) and d (x), find out all c from the first row of the multiplication look-up table pre-establishedi, from ci
D is searched in the secondary series being expert ati, obtain the d found outiThe 3rd column element e being expert ati, and then obtain c's (x) and d (x)
Multiplication result
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, d (x)=dn-1xn-1+dn-2xn-2+...+d0, e (x)=en- 1xn-1+en-2xn-2+...+e0, cn-1,cn-2,...,c0,dn-1,dn-2,...,d0,en-1,en-2,...,e0It is finite field gf (2n)
Element, i=0,1 ..., n-1, n >=1.
Further, the first multiplying module and the second multiplying module are additionally operable to be directed to finite field gf respectively
(2n) any two element α and β, calculate δ=α × β modp (x), and α is stored in the first row of form, β be stored in institute
The secondary series that α in form is expert at is stated, δ storages the 3rd row that β is expert in the table are searched with establishing the multiplication
Table;
Wherein, mod is modular arithmetic, p (x)=xn+pn-1xn-1+ ...+1 is finite field gf (2n) irreducible function,
pn-1,pn-2,...,p1, δ is finite field gf (2n) element.
Further, the inversion operation module is used to be directed to finite field gf (2n) known element c (x), built from advance
C is searched in the first row of vertical look-up table of invertingiIf find ci, then c is obtainediThe element e for the secondary series being expert ati, and then
Obtain the inversion operation result of c (x)
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, e (x)=en-1xn-1+en-2xn-2+...+e0, i=0,1 ...,
N-1, cn-1,cn-2,...,c0,en-1,en-2,...,e0It is finite field gf (2n) element.
Further, the inversion operation module is additionally operable to be directed to finite field gf (2n) each element α, calculate β=α- 1Modp (x), and α is stored in the first row of form, by the β storages secondary series that α is expert in the table, to construct
State look-up table of inverting;
Wherein, mod is modular arithmetic, p (x)=xn+pn-1xn-1+ ...+1 is finite field gf (2n) irreducible function,
pn-1,pn-2,...,p1, δ is finite field gf (2n) element.
The beneficial effect that technical solution provided in an embodiment of the present invention is brought is:
In compound finite field inversion operation, multiplying, square operation and inversion operation are carried out based on look-up table, relatively
In finite field inverter of the prior art, operation efficiency is effectively improved, can be widely applied to symmetric cryptography (such as DES, AES),
Art of mathematics and the engineering field such as public key cryptography and Rainbow, TTS, UOV signature.
Brief description of the drawings
To describe the technical solutions in the embodiments of the present invention more clearly, make required in being described below to embodiment
Attached drawing is briefly described, it should be apparent that, drawings in the following description are only some embodiments of the present invention, for
For those of ordinary skill in the art, without creative efforts, other can also be obtained according to these attached drawings
Attached drawing.
Fig. 1 is the structure diagram for the compound finite field inversions device based on look-up table that the embodiment of the present invention one provides.
Embodiment
To make the object, technical solutions and advantages of the present invention clearer, below in conjunction with attached drawing to embodiment party of the present invention
Formula is described in further detail.
Embodiment one
An embodiment of the present invention provides a kind of compound finite field inversions device based on look-up table, referring to Fig. 1, the device bag
Include controller 1, input port, output port b and arithmetic unit;
The input port includes port a, for inputting compound finite field gf ((2n)2) inversion operation number a (x);
The controller 1 is used to call the arithmetic unit to carry out inversion operation to the inversion operation number a (x), is answered
Close finite field gf ((2n)2) inversion operation result b (x);
The arithmetic unit is used to run add operation and multiplying, square operation and fortune of inverting based on look-up table
Calculate;
The output port b is used to export the inversion operation result b (x).
Wherein, controller is connected with input port, output port, arithmetic unit respectively, for dispatching the component being connected.It is defeated
Inbound port includes port a, for inputting compound finite field gf ((2n)2) inversion operation number a (x), output port includes port b,
For exporting compound finite field gf ((2n)2) inversion operation result b (x).
Further, the polynomial repressentation form of the inversion operation number a (x) is a (x)=ahx+al;
The polynomial repressentation form of the inversion operation result b (x) is b (x)=bhx+bl;B (x)=a (x)-1;
Wherein, ah,al,bh,blIt is finite field gf (2n) element.
It should be noted that GF ((2n)2) irreducible function be q (x)=x2+ x+e, e are finite field gfs (2n) it is normal
Number.Inversion operation number a (x) is by the array of two n-bits into can be expressed as polynomial form, may also indicate that into the shape of coefficient
Formula, such as a (x)=a (ah,al), ah,alIt is finite field gf (2n) element.The number by two n-bits of inversion operation result b (x)
Composition, can be expressed as polynomial form, may also indicate that into the form of coefficient, such as b (x)=b (bh,bl), bh,blIt is limited
Domain GF (2n) element.
Further, the arithmetic unit includes add operation module 4, the first multiplying module 5, the second multiplying mould
Block 6, the first square operation module 7, the second square operation module 8 and inversion operation module 9;
The input port further includes port clk, for input clock signal;
The controller is specifically used for, in first clock cycle, calling the first square operation module to calculate s0=
ah 2, call the second square operation module to calculate s1=al 2, call the add operation module to calculate s2=ah+al;
In second clock cycle, the first multiplying module is called to calculate s3=al×s2, call described second to multiply
Method computing module calculates s4=s0×e;
In the 3rd clock cycle, the add operation module is called to calculate s5=s4+s3;
In the 4th clock cycle, the inversion operation module is called to calculate s6=s5 -1;
In the 5th clock cycle, the first multiplying module is called to calculate bl=s2×s6, call described second to multiply
Method computing module calculates bh=ah×s6, and then calculate b (x)=bhx+bl;
Wherein, s0,ah,s1,al,s2,s3,s4,s5,s6,bl,bhIt is finite field gf (2n) element, e is finite field gf
(2n) constant.
It should be noted that controller 1 is transported with add operation module 4, the first multiplying module 5, the second multiplication respectively
Module 6, the first square operation module 7, the second square operation module 8 and inversion operation module 9 is calculated to connect.Input port further includes
Port clk, for input clock signal.Controller is additionally operable to parse the clock signal.Clock signal is single-bit signal, is taken
Value is 0 or 1, represents low level or high level, and low level turns to the beginning that high level represents a clock cycle.Add operation mould
Block includes being used to calculate GF (2n) addition logic gates;First multiplying module and the second multiplying module are wrapped respectively
Include for calculating GF (2n) multiplication look-up table configuration and counting circuit;First square operation module and the second square operation module
Include being used to calculate GF (2 respectivelyn) square look-up table configuration and counting circuit;Inversion operation module includes being used to calculate GF
(2n) look-up table configuration inverted and counting circuit.
Further, the add operation module includes n exclusive or logic gate, for for finite field gf (2n) two
Known element c (x) and d (x), calculate ei=ci+di, and then obtain add operation result
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, d (x)=dn-1xn-1+dn-2xn-2+...+d0, e (x)=en- 1xn-1+en-2xn-2+...+e0, i=0,1 ..., n-1, n >=1 ,+it is finite field gf (2n) add operation, cn-1,cn-2,...,
c0,dn-1,dn-2,...,d0,en-1,en-2,...,e0It is finite field gf (2n) element.
It should be noted that finite field gf (2n) addition use exclusive or logic gate, therefore add operation module includes n
Exclusive or logic gate, for calculating GF (2n) two known element c (x) and d (x) addition e (x)=c (x)+d (x).Specific
During operation, for i=0,1 ..., n-1, e is calculatedi=ci+di, you can obtain add operation result
Further, the first square operation module and the second square operation module are respectively used to be directed to finite field
GF(2n) known element c (x), search c from the first row of square look-up table pre-establishedi, obtain ciSecond to be expert at
The element e of rowi, and then obtain the square operation result of c (x)
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, e (x)=en-1xn-1+en-2xn-2+...+e0, i=0,1 ...,
N-1, cn-1,cn-2,...,c0,en-1,en-2,...,e0It is finite field gf (2n) element.
It should be noted that the first square operation module is identical with the construction of the second square operation module, have for calculating
Confinement GF (2n) known element c (x) square e (x)=c (x)2.In carrying out practically, first in the first row of square look-up table
Search ci, after finding, the c in square look-up tableiThe element for the secondary series being expert at is ciSquare operation as a result, store to
ei, you can obtain the square operation result of c (x)
Further, the first square operation module and the second square operation module are additionally operable to for limited respectively
Domain GF (2n) each element α, calculate β=α2Modp (x), and α is stored in the first row of form, β is stored in the form
The secondary series that middle α is expert at, to establish square look-up table;
Wherein, mod is modular arithmetic, p (x)=xn+pn-1xn-1+ ...+1 is finite field gf (2n) irreducible function,
pn-1,pn-2,...,p1It is finite field gf (2 with βn) element.
It should be noted that before the first square operation module and the operation of the second square operation module, need to build in the module
Vertical square look-up table.For finite field gf (2n) each element, calculate its square, such as GF (2n) element is α, calculate β=
α2Modp (x), and α is stored in the first row of form, by the β storages secondary series that α is expert in the table.Will be limited
Domain GF (2n) each element and its squared results correspond to be stored in the form after, the form i.e. be used as square look-up table.
Further, the first multiplying module and the second multiplying module are respectively used to be directed to finite field gf
(2n) two known element c (x) and d (x), find out all c from the first row of the multiplication look-up table pre-establishedi, from ci
D is searched in the secondary series being expert ati, obtain the d found outiThe 3rd column element e being expert ati, and then obtain c's (x) and d (x)
Multiplication result
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, d (x)=dn-1xn-1+dn-2xn-2+...+d0, e (x)=en- 1xn-1+en-2xn-2+...+e0, cn-1,cn-2,...,c0,dn-1,dn-2,...,d0,en-1,en-2,...,e0It is finite field gf (2n)
Element, i=0,1 ..., n-1, n >=1.
It should be noted that finite field gf (2n) multiplication use and logic gate.First multiplying module and second multiplies
The construction of method computing module is identical, for calculating finite field gf (2n) two known element c (x) and d (x) multiplication e (x)=
c(x)×d(x).In carrying out practically, first c is searched in the first row of multiplication look-up tablei, the first row tool of general multiplication look-up table
There are multiple ci, find out all ci, then from each ciD is searched in the element for the secondary series being expert ati, after finding, by ciAnd diPlace
The 3rd capable element is stored to ei, you can obtain the multiplication result of c (x) and d (x)
Further, the first multiplying module and the second multiplying module are additionally operable to be directed to finite field gf respectively
(2n) any two element α and β, calculate δ=α × β modp (x), and α is stored in the first row of form, β be stored in institute
The secondary series that α in form is expert at is stated, δ storages the 3rd row that β is expert in the table are searched with establishing the multiplication
Table;
Wherein, mod is modular arithmetic, p (x)=xn+pn-1xn-1+ ...+1 is finite field gf (2n) irreducible function,
pn-1,pn-2,...,p1, δ is finite field gf (2n) element.
It should be noted that before the first multiplying module and the operation of the second multiplying module, need to build in the module
Vertical multiplication look-up table.For finite field gf (2n) any two element, calculate its multiplication, such as GF (2n) two elements be α
And β, calculate δ=α × β modp (x), and α is stored in the first row of form, by β storages in the table α be expert at the
Two row, δ storages the 3rd row that α and β are expert in the table.By finite field gf (2n) each two element and its multiplication
As a result correspond to after being stored in the form, which is used as multiplication look-up table.
Further, the inversion operation module is used to be directed to finite field gf (2n) known element c (x), built from advance
C is searched in the first row of vertical look-up table of invertingiIf find ci, then c is obtainediThe element e for the secondary series being expert ati, and then
Obtain the inversion operation result of c (x)
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, e (x)=en-1xn-1+en-2xn-2+...+e0, i=0,1 ...,
N-1, cn-1,cn-2,...,c0,en-1,en-2,...,e0It is finite field gf (2n) element.
It should be noted that inversion operation module is used to calculate finite field gf (2n) known element c (x) the e (x) that inverts
=c (x)-1.In carrying out practically, first c is searched in the first row of square look-up tableiIf c is not foundi, then c is illustratediWithout inverse element, if
Find, then the c in look-up table of invertingiThe element for the secondary series being expert at is ciInvert as a result, storing to ei, you can obtain c
(x) inversion operation result
Further, the inversion operation module is additionally operable to be directed to finite field gf (2n) each element α, calculate β=α- 1Modp (x), and α is stored in the first row of form, by the β storages secondary series that α is expert in the table, to construct
State look-up table of inverting;
Wherein, mod is modular arithmetic, p (x)=xn+pn-1xn-1+ ...+1 is finite field gf (2n) irreducible function,
pn-1,pn-2,...,p1, δ is finite field gf (2n) element.
It should be noted that before the operation of inversion operation module, look-up table of inverting need to be established in the module.For finite field
GF(2n) each element (in addition to null element), calculating is inverted, such as GF (2n) element is α, calculate β=α-1Modp (x),
And α is stored in the first row of form, by the β storages secondary series that α is expert in the table.By finite field gf (2n)
After each element and its result of inverting correspondence are stored in the form, the form is i.e. as look-up table of inverting.
Illustrate the course of work of compound finite field inversions device provided in an embodiment of the present invention by taking n=4 as an example below.
The operand a (x) of input port is compound finite field gf ((24)2) element, polynomial shape can be expressed as
Formula:
A (x)=ahx+al,
ah,alIt is finite field gf (24) element.
The operand b (x) of output port is compound finite field gf ((24)2) element, polynomial shape can be expressed as
Formula:
B (x)=bhx+bl,
bh,blIt is finite field gf (24) element.
The clock signal clk of input port is single-bit signal, and the clock cycle was 50 nanoseconds.
Controller calculates GF ((24)2) b (x)=a (x)-1Invert, wherein GF ((24)2) irreducible function be q
(x)=x2+ x+9, step are as follows:
Controller receives input operand a (x) and clock signal, waits clock signal to turn to high level by low level;
First clock cycle, controller call the first square operation module to calculate s0=ah 2, s0,ahIt is finite field gf
(24) element;Controller calls the second square operation module to calculate s1=al 2, s1,alIt is finite field gf (24) element;Control
Device calls add operation module to calculate s2=ah+al, s2,ah,alIt is finite field gf (24) element;
Second clock cycle, controller call the first multiplying module to calculate s3=al×s2, s3,al,s2It is limited
Domain GF (24) element;Controller calls the second multiplying module to calculate s4=s0× 9, s4,s0It is finite field gf (24) member
Element;
3rd clock cycle, controller call add operation module to calculate s5=s4+s3, s5,s4,s3It is finite field gf
(24) element;
4th clock cycle, controller call inversion operation module to calculate s6=s5 -1, s6,s5It is finite field gf (24)
Element;
5th clock cycle, controller call the first multiplying module to calculate bl=s2×s6, bl,s2,s6It is limited
Domain GF (24) element;Controller calls the second multiplying module to calculate bh=ah×s6, bl,ah,s6It is finite field gf (24)
Element;
Finally, b (x)=bhx+blIt is a (x)=ahx+alInverse element, exported by controller to output port.
The embodiment of the present invention in compound finite field inversion operation, based on look-up table carry out multiplying, square operation and
Inversion operation, relative to finite field inverter of the prior art, effectively improves operation efficiency, can be widely applied to various engineerings
Field.
The foregoing is merely presently preferred embodiments of the present invention, is not intended to limit the invention, it is all the present invention spirit and
Within principle, any modification, equivalent replacement, improvement and so on, should all be included in the protection scope of the present invention.
Claims (10)
1. a kind of compound finite field inversions device based on look-up table, it is characterised in that including controller, input port, output
Port and arithmetic unit;
The input port is used to input compound finite field gf ((2n)2) inversion operation number a (x);
The controller is used to call the arithmetic unit to carry out inversion operation to the inversion operation number a (x), obtains compound limited
Domain GF ((2n)2) inversion operation result b (x);
The arithmetic unit is used to run add operation and multiplying, square operation and inversion operation based on look-up table;
The output port is used to export the inversion operation result b (x).
2. the compound finite field inversions device based on look-up table as claimed in claim 1, it is characterised in that the inversion operation
The polynomial repressentation form of number a (x) is a (x)=ahx+al;
The polynomial repressentation form of the inversion operation result b (x) is b (x)=bhx+bl;B (x)=a (x)-1;
Wherein, ah,al,bh,blIt is finite field gf (2n) element.
3. the compound finite field inversions device based on look-up table as claimed in claim 2, it is characterised in that the arithmetic unit bag
Include add operation module, the first multiplying module, the second multiplying module, the first square operation module, second square of fortune
Calculate module and inversion operation module;
The input port is additionally operable to input clock signal;
The controller is specifically used for, in first clock cycle, calling the first square operation module to calculate s0=ah 2, adjust
S is calculated with the second square operation module1=al 2, call the add operation module to calculate s2=ah+al;
In second clock cycle, the first multiplying module is called to calculate s3=al×s2, call the second multiplication fortune
Calculate module and calculate s4=s0×e;
In the 3rd clock cycle, the add operation module is called to calculate s5=s4+s3;
In the 4th clock cycle, the inversion operation module is called to calculate s6=s5 -1;
In the 5th clock cycle, the first multiplying module is called to calculate bl=s2×s6, call the second multiplication fortune
Calculate module and calculate bh=ah×s6, and then calculate b (x)=bhx+bl;
Wherein, s0,ah,s1,al,s2,s3,s4,s5,s6,bl,bhIt is finite field gf (2n) element, e is finite field gf (2n)
Constant.
4. the compound finite field inversions device based on look-up table as claimed in claim 3, it is characterised in that the add operation
Module includes n exclusive or logic gate, for for finite field gf (2n) two known element c (x) and d (x), calculate ei=ci+
di, and then obtain add operation result
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, d (x)=dn-1xn-1+dn-2xn-2+...+d0, e (x)=en-1xn-1+
en-2xn-2+...+e0, i=0,1 ..., n-1, n >=1 ,+it is finite field gf (2n) add operation, cn-1,cn-2,...,c0,
dn-1,dn-2,...,d0,en-1,en-2,...,e0It is finite field gf (2n) element.
5. the compound finite field inversions device based on look-up table as claimed in claim 3, it is characterised in that described first square
Computing module and the second square operation module are respectively used to be directed to finite field gf (2n) known element c (x), built from advance
C is searched in the first row of vertical square look-up tablei, obtain ciThe element e for the secondary series being expert ati, and then obtain square of c (x)
Operation result
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, e (x)=en-1xn-1+en-2xn-2+...+e0, i=0,1 ..., n-1,
cn-1,cn-2,...,c0,en-1,en-2,...,e0It is finite field gf (2n) element.
6. the compound finite field inversions device based on look-up table as claimed in claim 5, it is characterised in that described first square
Computing module and the second square operation module are additionally operable to be directed to finite field gf (2 respectivelyn) each element α, calculate β=α2Modp (x), and α is stored in the first row of form, by the β storages secondary series that α is expert in the table, to establish
State a square look-up table;
Wherein, mod is modular arithmetic, p (x)=xn+pn-1xn-1+ ...+1 is finite field gf (2n) irreducible function, pn-1,
pn-2,...,p1It is finite field gf (2 with βn) element.
7. the compound finite field inversions device based on look-up table as claimed in claim 3, it is characterised in that first multiplication
Computing module and the second multiplying module are respectively used to be directed to finite field gf (2n) two known element c (x) and d (x), from
All c are found out in the first row of the multiplication look-up table pre-establishedi, from ciD is searched in the secondary series being expert ati, obtain and search
The d gone outiThe 3rd column element e being expert ati, and then obtain the multiplication result of c (x) and d (x)
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, d (x)=dn-1xn-1+dn-2xn-2+...+d0, e (x)=en-1xn-1+
en-2xn-2+...+e0, cn-1,cn-2,...,c0,dn-1,dn-2,...,d0,en-1,en-2,...,e0It is finite field gf (2n) member
Element, i=0,1 ..., n-1, n >=1.
8. the compound finite field inversions device based on look-up table as claimed in claim 7, it is characterised in that first multiplication
Computing module and the second multiplying module are additionally operable to be directed to finite field gf (2 respectivelyn) any two element α and β, calculate δ
=α × β modp (x), and α is stored in the first row of form, by the β storages secondary series that α is expert in the table, by δ
Storage the 3rd row that β is expert in the table, to establish the multiplication look-up table;
Wherein, mod is modular arithmetic, p (x)=xn+pn-1xn-1+ ...+1 is finite field gf (2n) irreducible function, pn-1,
pn-2,...,p1, δ is finite field gf (2n) element.
9. the compound finite field inversions device based on look-up table as claimed in claim 3, it is characterised in that the inversion operation
Module is used to be directed to finite field gf (2n) known element c (x), search c from the first row of the look-up table of inverting pre-establishedi,
If find ci, then c is obtainediThe element e for the secondary series being expert ati, and then obtain the inversion operation result of c (x)
Wherein, c (x)=cn-1xn-1+cn-2xn-2+...+c0, e (x)=en-1xn-1+en-2xn-2+...+e0, i=0,1 ..., n-1,
cn-1,cn-2,...,c0,en-1,en-2,...,e0It is finite field gf (2n) element.
10. the compound finite field inversions device based on look-up table as claimed in claim 9, it is characterised in that the fortune of inverting
Module is calculated to be additionally operable to be directed to finite field gf (2n) each element α, calculate β=α-1Modp (x), and α is stored in the of form
One row, store the secondary series that α is expert in the table, with look-up table of inverting described in construction by β;
Wherein, mod is modular arithmetic, p (x)=xn+pn-1xn-1+ ...+1 is finite field gf (2n) irreducible function, pn-1,
pn-2,...,p1, δ is finite field gf (2n) element.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711259902.7A CN108008934B (en) | 2017-12-04 | 2017-12-04 | Composite finite field inversion device based on lookup table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711259902.7A CN108008934B (en) | 2017-12-04 | 2017-12-04 | Composite finite field inversion device based on lookup table |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108008934A true CN108008934A (en) | 2018-05-08 |
CN108008934B CN108008934B (en) | 2021-09-07 |
Family
ID=62056279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711259902.7A Active CN108008934B (en) | 2017-12-04 | 2017-12-04 | Composite finite field inversion device based on lookup table |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108008934B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874367A (en) * | 2018-06-29 | 2018-11-23 | 深圳职业技术学院 | Compound finite field inverter based on power operation and inversion method thereof |
CN108897526A (en) * | 2018-06-29 | 2018-11-27 | 深圳职业技术学院 | A kind of compound finite field inverter and its inversion technique based on multiple square operation |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4994995A (en) * | 1990-03-14 | 1991-02-19 | International Business Machines Corporation | Bit-serial division method and apparatus |
CN1688121A (en) * | 2005-06-16 | 2005-10-26 | 北京中星微电子有限公司 | AES add decipher circuit optimization method and multiplex sbox module |
US20080189346A1 (en) * | 2007-02-06 | 2008-08-07 | Wu Jau-Yet | Method for realizing finite field divider architecture |
CN101572602A (en) * | 2008-04-28 | 2009-11-04 | 陈婧 | Finite field inversion method based on hardware design and device thereof |
CN101788900A (en) * | 2009-01-22 | 2010-07-28 | 北京大学 | Method and system for realizing multiplicative inverse and division mold operation on galois field GF (2n) based on DNA self-assembly technology |
CN102521211A (en) * | 2011-11-17 | 2012-06-27 | 华南理工大学 | Parallel device for solving linear equation set on finite field |
CN107015782A (en) * | 2017-04-12 | 2017-08-04 | 深圳职业技术学院 | A kind of Galois field multiplier based on irreducible trinomial |
US20170272237A1 (en) * | 2007-12-28 | 2017-09-21 | Intel Corporation | Instructions and logic to provide general purpose gf(256) simd cryptographic arithmetic functionality |
-
2017
- 2017-12-04 CN CN201711259902.7A patent/CN108008934B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4994995A (en) * | 1990-03-14 | 1991-02-19 | International Business Machines Corporation | Bit-serial division method and apparatus |
CN1688121A (en) * | 2005-06-16 | 2005-10-26 | 北京中星微电子有限公司 | AES add decipher circuit optimization method and multiplex sbox module |
US20080189346A1 (en) * | 2007-02-06 | 2008-08-07 | Wu Jau-Yet | Method for realizing finite field divider architecture |
US20170272237A1 (en) * | 2007-12-28 | 2017-09-21 | Intel Corporation | Instructions and logic to provide general purpose gf(256) simd cryptographic arithmetic functionality |
CN101572602A (en) * | 2008-04-28 | 2009-11-04 | 陈婧 | Finite field inversion method based on hardware design and device thereof |
CN101788900A (en) * | 2009-01-22 | 2010-07-28 | 北京大学 | Method and system for realizing multiplicative inverse and division mold operation on galois field GF (2n) based on DNA self-assembly technology |
CN102521211A (en) * | 2011-11-17 | 2012-06-27 | 华南理工大学 | Parallel device for solving linear equation set on finite field |
CN107015782A (en) * | 2017-04-12 | 2017-08-04 | 深圳职业技术学院 | A kind of Galois field multiplier based on irreducible trinomial |
Non-Patent Citations (3)
Title |
---|
ATHAR MAHBOOB等: "Faster polynomial basis finite field squaring and inversion for GF(2m) with cryptographic software application", 《2008 INTERNATIONAL SYMPOSIUM ON BIOMETRICS AND SECURITY TECHNOLOGIES》 * |
张学颖: "对称密码有限域运算模块可重构设计技术研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
易海博: "有限域运算和多变量公钥密码硬件的优化和设计", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874367A (en) * | 2018-06-29 | 2018-11-23 | 深圳职业技术学院 | Compound finite field inverter based on power operation and inversion method thereof |
CN108897526A (en) * | 2018-06-29 | 2018-11-27 | 深圳职业技术学院 | A kind of compound finite field inverter and its inversion technique based on multiple square operation |
CN108874367B (en) * | 2018-06-29 | 2022-05-13 | 深圳职业技术学院 | Compound finite field inverter based on power operation and inversion method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN108008934B (en) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101547089B (en) | Method for realizing elliptic curve cryptosystem algorithm over prime field in integrated circuit | |
US20100146028A1 (en) | Method and apparatus for modulus reduction | |
CN103942031A (en) | Elliptic domain curve operational method and elliptic domain curve arithmetic unit | |
CN107015782A (en) | A kind of Galois field multiplier based on irreducible trinomial | |
CN106445464A (en) | Compound finite domain multiplier based on heartbeat model | |
CN103793199A (en) | Rapid RSA cryptography coprocessor capable of supporting dual domains | |
Lee et al. | Subquadratic Space-Complexity Digit-Serial Multipliers Over $ GF (2^{m}) $ Using Generalized $(a, b) $-Way Karatsuba Algorithm | |
CN108008934A (en) | A kind of compound finite field inversions device based on look-up table | |
CN107885486A (en) | A kind of compound finite field inversions device based on search tree | |
CN100527073C (en) | High efficiency modular multiplication method and device | |
Lee et al. | Efficient $ M $-ary exponentiation over $ GF (2^{m}) $ using subquadratic KA-based three-operand Montgomery multiplier | |
CN104750455A (en) | Method and device for processing data on basis of Montgomery modular multiplication | |
CN108874367B (en) | Compound finite field inverter based on power operation and inversion method thereof | |
CN108897526A (en) | A kind of compound finite field inverter and its inversion technique based on multiple square operation | |
CN103023659B (en) | ECC (elliptic curve cryptosystem) encryption hardware device with expandable parameter bit width | |
CN208689565U (en) | A kind of compound finite field inverter | |
CN107728993A (en) | A kind of Galois field multiplier based on a full irreducible function | |
CN107797790A (en) | A kind of finite field inverter based on a full irreducible function | |
CN109358836B (en) | Composite domain division device based on table structure | |
KR20080050054A (en) | Method for generating sparse w-naf key, method for processing and method for encrypting thereof | |
CN106951210A (en) | A kind of finite field multiplier device based on systolic array | |
CN208766637U (en) | A kind of finite field inverter | |
CN104579651A (en) | Method and device for elliptic curve cryptography point multiplication operation | |
CN108268243A (en) | A kind of compositum multiplier based on lookup | |
CN108874365A (en) | A kind of finite field inverter and finite field inversions method based on irreducible trinomial |
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 |