CN109460535B - Finite field matrix inversion device and inversion method based on cloud - Google Patents

Finite field matrix inversion device and inversion method based on cloud Download PDF

Info

Publication number
CN109460535B
CN109460535B CN201811354486.3A CN201811354486A CN109460535B CN 109460535 B CN109460535 B CN 109460535B CN 201811354486 A CN201811354486 A CN 201811354486A CN 109460535 B CN109460535 B CN 109460535B
Authority
CN
China
Prior art keywords
matrix
cloud
inversion
finite field
array
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.)
Active
Application number
CN201811354486.3A
Other languages
Chinese (zh)
Other versions
CN109460535A (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 CN201811354486.3A priority Critical patent/CN109460535B/en
Publication of CN109460535A publication Critical patent/CN109460535A/en
Application granted granted Critical
Publication of CN109460535B publication Critical patent/CN109460535B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

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

Abstract

The invention discloses a cloud-based finite field matrix inversion device which comprises a central processing unit, a memory, a cloud look-up table addition array, a cloud look-up table multiplication array, a cloud look-up table inversion array, an original matrix manager, an identity matrix manager, a normalization arithmetic unit and an element elimination arithmetic unit. The invention also discloses an inversion method based on the cloud-based finite field matrix inversion device. The method can invert the matrix on the finite field, and the main operations comprise finite field addition, multiplication and inversion which are all completed in the cloud, so that the method has the characteristic of high speed.

Description

Finite field matrix inversion device and inversion method based on cloud
Technical Field
The invention relates to a finite field arithmetic device, in particular to a cloud-based finite field matrix inversion device and method.
Background
The matrix is one of important concepts and tools in the field of algebra, and the addition, multiplication and inversion of the matrix become one of important basic operations in the fields of mathematics, cryptography, communication and the like. The operation of matrix addition is simple, and only the elements corresponding to the two matrices need to be added. The operation of matrix multiplication needs to be realized by multiplication and addition of corresponding elements. The matrix inversion operation is to find a matrix and multiply the matrix to obtain an identity matrix. Among these three types of operations, the matrix inversion operation is the most cumbersome.
Matrix inversion, particularly finite field matrix inversion, is widely used in cryptography. For example, multivariate polynomial based ciphers require the use of multiple matrix inversions. Finite field matrix inversion requires the use of finite field addition, multiplication, and inversion operations. The finite field matrix inversion operation needs long time, has high operation complexity and large resource consumption, and becomes a bottleneck for improving the performance of a cryptosystem. Cloud computing is a popular technology at present and belongs to a new generation of information technology. Compared with the traditional computer, the computer is superior in the aspects of calculation, storage and the like.
Disclosure of Invention
In order to overcome the above disadvantages and shortcomings of the prior art, the present invention provides a cloud-based finite field matrix inversion apparatus, which has a fast operation speed.
Another object of the present invention is to provide an inversion method based on the inversion apparatus.
The purpose of the invention is realized by the following technical scheme:
a cloud-based finite field matrix inversion apparatus, comprising:
the cloud table look-up addition array comprises m finite field adders and m addition schedulers which perform parallel operation at the cloud; the finite field adder is used for returning an addition result in a searching mode; the addition scheduler is used for distributing the received operands to idle finite field adders; m is a positive integer;
the cloud table lookup multiplication array comprises m finite field multipliers and m multiplication schedulers which are operated in parallel at the cloud; the finite field multiplier is used for returning a multiplication result in a searching mode; the multiplication scheduler is used for distributing the received operands to idle finite field multipliers;
the cloud table look-up inversion array comprises m finite field inversors and m inversion schedulers which are operated in parallel at the cloud; the finite field inverter is used for returning an inversion result in a searching mode; the inversion scheduler is used for distributing the received operands to idle finite field inversors;
the original matrix manager comprises an original matrix inversion circuit and an original matrix memory; the original matrix inversion circuit is used for reading and writing operation of the original matrix; the original matrix memory is used for storing and managing the original matrix in the RAM;
the unit matrix manager comprises a unit matrix inversion circuit and a unit matrix memory; the unit matrix inversion circuit is used for reading and writing the unit matrix; the unit matrix memory is used for memory management of the unit matrix in the RAM;
the normalizing arithmetic unit comprises a normalizing arithmetic circuit and a normalizing arithmetic dispatcher; the normalization operation circuit is used for completing the normalization operation of the original matrix and the unit matrix; the normalization operation scheduler is used for calling a cloud table look-up addition array, a cloud table look-up multiplication array and a cloud table look-up inversion array;
the elimination element arithmetic unit comprises an elimination element arithmetic circuit and an elimination element arithmetic scheduler; the element eliminating operation circuit is used for completing the element eliminating operation of the original matrix and the unit matrix; the element-eliminating operation scheduler is used for calling the cloud table look-up addition array, the cloud table look-up multiplication array and the cloud table look-up inversion array;
a memory including a RAM and a register; the RAM is used for storing an original matrix and a unit matrix; the register is used for storing the operation results of the cloud table look-up addition array, the cloud table look-up multiplication array and the cloud table look-up inversion array;
the central processing unit comprises an arithmetic processor and an interface controller; the interface controller is used for receiving the original matrix and outputting an inversion result; the operation processor is used for scheduling a cloud table look-up addition array, a cloud table look-up multiplication array, a cloud table look-up inversion array, an original matrix manager, an identity matrix manager, a normalization operator, a primitive elimination operator and a memory.
According to the cloud-based finite field matrix inversion device, the registers comprise 5000 registers, and the storage space of each register is double bytes.
In the cloud-based finite field matrix inversion apparatus, the finite field adder includes a look-up table for finite field addition.
In the cloud-based finite field matrix inversion apparatus, the finite field multiplier comprises a look-up table for finite field multiplication.
In the cloud-based finite field matrix inversion apparatus, the finite field inverter includes a lookup table for finite field inversion.
The inversion method of the cloud-based finite field matrix inversion device comprises the following steps:
(1) The operation processor obtains the scale of the matrix from the original matrix manager, and the scale is marked by m multiplied by m, wherein m is a positive integer;
(2) The arithmetic processor sets an iteration counter, starts counting from 1 and ends counting to m;
(3) The arithmetic processor sets the matrix in the unit matrix manager as a unit matrix with all 1 diagonal lines, and the scale is m multiplied by m;
(4) The operation processor starts a counter and starts iterative operation:
(4.1) the operation processor carries out principal element finding operation on the original matrix and the unit matrix of the original matrix manager and the unit matrix manager; if the iteration is the ith round of iteration, judging whether the element of the ith row and the ith column of the original matrix is 0, and if not, selecting the element as a principal element; if the number is 0, exchanging the ith row with other rows below to ensure that the element of the ith row and the ith column is not 0;
(4.2) the operation processor calls a normalization operator to perform normalization operation on the original matrix and the unit matrix of the original matrix manager and the unit matrix manager; if the iteration is the ith iteration, multiplying the inverse element of the principal element of the original matrix by all elements in the ith row of the original matrix and the unit matrix;
(4.3) the operation processor calls a primitive elimination operator to perform primitive elimination operation on the primitive matrixes and the unit matrixes of the primitive matrix manager and the unit matrix manager; if the iteration is the ith iteration, eliminating all elements of the original matrix and the unit matrix except the ith row;
and (4.4) respectively calling the cloud table look-up addition array, the cloud table look-up multiplication array and the cloud table look-up inversion array by the addition, multiplication and inversion involved in the operation processor.
Compared with the prior art, the invention has the following advantages and beneficial effects:
the cloud-based finite field matrix inversion device can invert a matrix in a finite field, main operations comprise finite field addition, multiplication and inversion which are all completed at the cloud end, and the cloud-based finite field matrix inversion device has the characteristic of high speed.
Drawings
Fig. 1 is a schematic structural diagram of a cloud-based finite field matrix inversion apparatus according to an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to examples, but the embodiments of the present invention are not limited thereto.
Examples
As shown in fig. 1, the cloud-based finite field matrix inversion apparatus of this embodiment includes a central processing unit, a memory, a cloud lookup addition array, a cloud lookup multiplication array, a cloud lookup inversion array, an original matrix manager, an identity matrix manager, a normalization operator, and a primitive elimination operator.
The cloud table look-up addition array is a basic operation part of the device and comprises m finite field adders and m addition schedulers which perform parallel operation at the cloud; the finite field adder is used for returning an addition result in a searching mode; the addition scheduler is used for distributing the received operands to idle finite field adders; m is a positive integer;
the cloud table lookup multiplication array is a basic operation part of the device and comprises m finite field multipliers and m multiplication schedulers which are operated in parallel at the cloud; the finite field multiplier is used for returning a multiplication result in a searching mode; the multiplication scheduler is used for distributing the received operands to idle finite field multipliers;
the cloud table look-up inversion array is a basic operation part of the device and comprises m finite field inversors and m inversion schedulers which are operated in parallel at the cloud; the finite field inverter is used for returning an inversion result in a searching mode; the inversion scheduler is used for distributing the received operands to idle finite field inversors;
the original matrix manager is a logic operation component of the device and comprises an original matrix inversion circuit and an original matrix memory; the original matrix inversion circuit is used for reading and writing operation of the original matrix; the original matrix memory is used for storing and managing the original matrix in the RAM;
the unit matrix manager is a logical operation part of the device, and comprises a unit matrix inversion circuit and a unit matrix memory; the unit matrix inversion circuit is used for reading and writing the unit matrix; the unit matrix memory is used for storing and managing the unit matrix in the RAM;
the normalizing arithmetic unit is a logic operation part of the device and comprises a normalizing arithmetic circuit and a normalizing arithmetic scheduler; the normalization operation circuit is used for completing the normalization operation of the original matrix and the unit matrix; the normalizing operation scheduler is used for calling the cloud table look-up addition array, the cloud table look-up multiplication array and the cloud table look-up inversion array;
the elimination element arithmetic unit is a logic operation part of the device and comprises an elimination element arithmetic circuit and an elimination element arithmetic scheduler; the element eliminating operation circuit is used for completing the element eliminating operation of the original matrix and the unit matrix; the element-eliminating operation scheduler is used for calling the cloud table look-up addition array, the cloud table look-up multiplication array and the cloud table look-up inversion array;
the memory is a storage part of the device and comprises a RAM and a register; the RAM is used for storing an original matrix and a unit matrix; the register is used for storing the operation results of the cloud table look-up addition array, the cloud table look-up multiplication array and the cloud table look-up inversion array;
the central processing unit is a core component of the device and comprises an arithmetic processor and an interface controller; the interface controller is used for receiving the original matrix and outputting an inversion result; the operation processor is used for scheduling a cloud table look-up addition array, a cloud table look-up multiplication array, a cloud table look-up inversion array, an original matrix manager, an identity matrix manager, a normalization operator, a primitive elimination operator and a memory.
The working process of the cloud-based finite field matrix inversion device for performing the inversion operation in this embodiment is as follows:
(1) The user inputs the matrix from the input port PA to the device, and the interface controller of the central processing unit receives the original matrix and stores the original matrix to the original matrix manager;
(2) The operation processor of the central processing unit obtains the scale of the matrix from the original matrix manager, and the matrix is marked by m multiplied by m, wherein m is a positive integer;
(3) The arithmetic processor sets an iteration counter, starts counting from 1 and ends counting to m;
(4) The arithmetic processor sets the matrix in the unit matrix manager as a unit matrix with all 1 diagonal lines, and the scale is m multiplied by m;
(5) The operation processor starts a counter and starts iterative operation:
and (5.1) the operation processor carries out principal component finding operation on the original matrix and the unit matrix of the original matrix manager and the unit matrix manager. If the iteration is the ith round of iteration, judging whether the element of the ith row and the ith column of the original matrix is 0, and if not, selecting the element as a principal element; if the number is 0, exchanging the ith row with other rows below to ensure that the element of the ith row and the ith column is not 0;
and (5.2) calling a normalization operator by the operation processor to perform normalization operation on the original matrix and the unit matrix of the original matrix manager and the unit matrix manager. If the iteration is the ith iteration, multiplying the inverse element of the principal element of the original matrix by all elements in the ith row of the original matrix and the unit matrix;
and (5.3) calling a primitive elimination operator by the operation processor to eliminate the primitive matrixes and the unit matrixes of the primitive matrix manager and the unit matrix manager. If the iteration is the ith iteration, eliminating all elements of the original matrix and the unit matrix except the ith row;
(5.4) the addition, multiplication and inversion involved in the operation processor respectively call a cloud table look-up addition array, a cloud table look-up multiplication array and a cloud table look-up inversion array;
(6) The interface controller outputs the matrix of the unit matrix manager to the output port PB.
The above embodiments are preferred embodiments of the present invention, but the present invention is not limited to the above embodiments, and any other changes, modifications, substitutions, combinations, and simplifications which do not depart from the spirit and principle of the present invention should be construed as equivalents thereof, and all such changes, modifications, substitutions, combinations, and simplifications are intended to be included in the scope of the present invention.

Claims (6)

1. A cloud-based finite field matrix inversion apparatus, comprising:
cloud look-up table addition array comprising parallel operations at the cloudm A finite field adder andm an addition scheduler; the finite field adder is used for returning an addition result in a searching mode; the addition scheduler is used for distributing the received operands to idle finite field adders;m is a positive integer;
cloud-based lookup multiplication array including parallel operations at the cloudm A finite field multiplier andm a multiplication scheduler; the finite field multiplicationThe device is used for returning the multiplication result in a searching mode; the multiplication scheduler is used for distributing the received operands to idle finite field multipliers;
cloud lookup inverse array comprising parallel operations at the cloudm A finite field inverter andm an inverse scheduler; the finite field inverter is used for returning an inversion result in a searching mode; the inversion scheduler is used for distributing the received operands to idle finite field inversors;
the original matrix manager comprises an original matrix inversion circuit and an original matrix memory; the original matrix inversion circuit is used for reading and writing operation of the original matrix; the original matrix memory is used for storing and managing the original matrix in the RAM;
the unit matrix manager comprises a unit matrix inversion circuit and a unit matrix memory; the unit matrix inversion circuit is used for reading and writing the unit matrix; the unit matrix memory is used for memory management of the unit matrix in the RAM;
the normalizing arithmetic unit comprises a normalizing arithmetic circuit and a normalizing arithmetic scheduler; the normalization operation circuit is used for completing the normalization operation of the original matrix and the unit matrix; the normalizing operation scheduler is used for calling a cloud end
The cloud search system comprises a table lookup addition array, a cloud table lookup multiplication array and a cloud table lookup inversion array;
the elimination element arithmetic unit comprises an elimination element arithmetic circuit and an elimination element arithmetic scheduler; the element eliminating operation circuit is used for completing the element eliminating operation of the original matrix and the unit matrix; the primitive operation scheduler is used for calling a cloud table look-up addition array, a cloud table look-up multiplication array and a cloud table look-up inversion array;
a memory including a RAM and a register; the RAM is used for storing an original matrix and a unit matrix; the register is used for storing the operation results of the cloud table look-up addition array, the cloud table look-up multiplication array and the cloud table look-up inversion array;
the central processing unit comprises an arithmetic processor and an interface controller; the interface controller is used for receiving the original matrix and outputting an inversion result; the operation processor is used for scheduling a cloud table look-up addition array, a cloud table look-up multiplication array, a cloud table look-up inversion array, an original matrix manager, an identity matrix manager, a normalization operator, a primitive elimination operator and a memory.
2. The cloud-based finite field matrix inversion apparatus according to claim 1, wherein the registers comprise 5000 registers, and a storage space of each register is a double byte.
3. The cloud-based finite field matrix inversion apparatus of claim 1, wherein the finite field adder comprises a look-up table of finite field addition operations.
4. The cloud-based finite field matrix inversion apparatus of claim 1, wherein the finite field multiplier comprises a look-up table of finite field multiplication operations.
5. The cloud-based finite field matrix inversion device of claim 1, wherein the finite field inverter comprises a look-up table for finite field inversion.
6. The inversion method of the cloud based finite field matrix inversion apparatus of any of claims 1~5, comprising the steps of:
(1) The operation processor obtains the size of the matrix from the original matrix manager, and usesm×mThe identification is carried out by identifying the position of the user,mis a positive integer;
(2) The arithmetic processor sets an iteration counter to count from 1 tom Counting and cutting off;
(3) The arithmetic processor sets the matrix in the unit matrix manager as a unit matrix with all 1 diagonal lines and the scale of the unit matrixm×m
(4) The operation processor starts a counter and starts iterative operation:
(4.1) the operation processor separately processes the original matrix of the original matrix manager and the unit matrix of the unit matrix managerPerforming principal component finding operation on the bit matrix; if the iteration is the firstiIteration in turn, judging the first of the original matrixiGo to the firstiWhether the elements of the column are 0 or not, if not, selecting the elements as the main elements; if 0, will be the firstiExchanging the line with the i + N line to ensure the firstiGo to the firstiThe elements of the columns are not 0, and N is not more than M;
(4.2) the operation processor calls a normalization operator to respectively perform normalization operation on the original matrix of the original matrix manager and the unit matrix of the unit matrix manager; if the iteration is the firstiThe iteration is performed in turn, the inverse element of the principal element of the original matrix in the original matrix manager is multiplied by the original matrix and the unit matrix in the unit matrix manager is multipliediAll elements of a row;
(4.3) the operation processor calls a primitive elimination operator to respectively carry out primitive elimination operation on the original matrix of the original matrix manager and the unit matrix of the unit matrix manager; if the iteration is the firstiThe original matrix of the original matrix manager and the unit matrix of the unit matrix manager are respectively removed from the firstiEliminating all elements except the row;
and (4.4) respectively calling the cloud table look-up addition array, the cloud table look-up multiplication array and the cloud table look-up inversion array by the addition, the multiplication and the inversion related to the operation processor.
CN201811354486.3A 2018-11-14 2018-11-14 Finite field matrix inversion device and inversion method based on cloud Active CN109460535B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811354486.3A CN109460535B (en) 2018-11-14 2018-11-14 Finite field matrix inversion device and inversion method based on cloud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811354486.3A CN109460535B (en) 2018-11-14 2018-11-14 Finite field matrix inversion device and inversion method based on cloud

Publications (2)

Publication Number Publication Date
CN109460535A CN109460535A (en) 2019-03-12
CN109460535B true CN109460535B (en) 2023-02-03

Family

ID=65610425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811354486.3A Active CN109460535B (en) 2018-11-14 2018-11-14 Finite field matrix inversion device and inversion method based on cloud

Country Status (1)

Country Link
CN (1) CN109460535B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266481B (en) * 2019-06-14 2022-05-20 深圳职业技术学院 Post-quantum encryption and decryption method and device based on matrix
CN110224829B (en) * 2019-06-14 2022-05-13 深圳职业技术学院 Matrix-based post-quantum encryption method and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533046A (en) * 2013-10-12 2014-01-22 苏州大学 Public-verifiable linear algebra entrusted calculation system
EP3399758A1 (en) * 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus to encode and decode two-dimension point clouds

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110249755A1 (en) * 2008-12-16 2011-10-13 Youji Shibahara Moving image coding method, moving image decoding method, moving image coding apparatus, moving image decoding apparatus, program, and integrated circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533046A (en) * 2013-10-12 2014-01-22 苏州大学 Public-verifiable linear algebra entrusted calculation system
EP3399758A1 (en) * 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus to encode and decode two-dimension point clouds

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于云计算技术的高职计算机专业教学模式的研究——以计算机编程语言课程为例;易海博,聂哲;《教育现代化》;20170531(第18期);正文第136-143页 *

Also Published As

Publication number Publication date
CN109460535A (en) 2019-03-12

Similar Documents

Publication Publication Date Title
Schinianakis et al. An RNS implementation of an $ F_ {p} $ elliptic curve point multiplier
US9830302B1 (en) Sparse matrix vector multiplication
CN108009126B (en) Calculation method and related product
CN108845828B (en) Coprocessor, matrix operation acceleration method and system
CN110825436B (en) Calculation method applied to artificial intelligence chip and artificial intelligence chip
CN109460535B (en) Finite field matrix inversion device and inversion method based on cloud
EP2755127B1 (en) Composite finite field multiplier
US9069686B2 (en) Digital signal processor having instruction set with one or more non-linear functions using reduced look-up table with exponentially varying step-size
US12009948B2 (en) Data processing apparatus and method, base station, and storage medium
CN107992283B (en) Method and device for realizing finite field multiplication based on dimension reduction
CN110704109B (en) Elliptic curve password coprocessor
CN102567254B (en) The method that adopts dma controller to carry out data normalization processing
CN108090028B (en) Calculation method and related product
CN108108189B (en) Calculation method and related product
CN114003194A (en) Operation method and device based on multiplier and computer readable storage medium
CN115408061B (en) Hardware acceleration method, device, chip and storage medium for complex matrix operation
US10127040B2 (en) Processor and method for executing memory access and computing instructions for host matrix operations
WO2024045665A1 (en) Multiple-point multiplication operation system and method, and graphics processor, electronic apparatus and device
CN116888591A (en) Matrix multiplier, matrix calculation method and related equipment
CN115827555B (en) Data processing method, computer device, storage medium, and multiplier structure
KR20080050226A (en) Modular multiplication device and method for designing modular multiplication device
RU2666303C1 (en) Method and device for calculating hash function
WO2023141936A1 (en) Techniques and devices for efficient montgomery multiplication with reduced dependencies
CN108255463A (en) A kind of digital logical operation method, circuit and fpga chip
CN113704174A (en) Chip and data processing method

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