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 PDF

Info

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
Application number
CN201711259902.7A
Other languages
Chinese (zh)
Other versions
CN108008934B (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 CN201711259902.7A priority Critical patent/CN108008934B/en
Publication of CN108008934A publication Critical patent/CN108008934A/en
Application granted granted Critical
Publication of CN108008934B publication Critical patent/CN108008934B/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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/726Inversion; 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

A kind of compound finite field inversions device based on look-up table
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.
CN201711259902.7A 2017-12-04 2017-12-04 Composite finite field inversion device based on lookup table Active CN108008934B (en)

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)

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

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

Patent Citations (8)

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

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

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