Elliptic Curve Digital Signature Method and System Based on Fast Computation of Fixed-Point Dot Product

The fixed point multiplication operation in the elliptic curve digital signature algorithm is optimized through the method of bit decimation encoding and pre-calculation table, which solves the problem of low computing efficiency in the prior art, and realizes a more efficient digital signature process and lower power consumption.

CN119483964BActive Publication Date: 2025-05-27SHANDONG UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510045081.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-13
Publication Date
2025-05-27
Estimated Expiration
2045-01-13

AI Technical Summary

Technical Problem

In the existing elliptic curve digital signature algorithm, the fixed point multiplication operation efficiency is low, resulting in high computational time complexity, large power consumption, and affecting the user experience.

Method used

By deciding the encoding coefficients by bits, constructing large integers and traversing them to obtain a pre-calculation table, and using bit-by-bit calculation method to optimize the fixed point multiplication operation.

Benefits of technology

It greatly reduces the time complexity of the digital signature process, reduces the power consumption of the chip, improves the computing speed and system performance of the digital signature, and improves the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119483964B_ABST
    Figure CN119483964B_ABST
Patent Text Reader

Abstract

The present invention discloses an elliptic curve digital signature method and system based on fast fixed-point multiplication. The method includes: elliptic curve digital signature steps; wherein, the fixed-point multiplication in the elliptic curve digital signature steps includes: encoding coefficients by means of bit extraction to obtain a coefficient table; constructing a large integer and traversing the large integer to obtain a pre-computation table; performing bit-by-bit calculation on the coefficient table and the pre-computation table to obtain the fixed-point multiplication result. By optimizing the fixed-point multiplication operation encountered in the digital signature algorithm, the time complexity of the digital signature process is greatly reduced. When the digital signature algorithm runs on a chip, the power consumption is small, the operation speed of the digital signature is improved, the overall performance of the system is improved, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of elliptic curve digital signature, and particularly to an elliptic curve digital signature method and system based on fast calculation of fixed point multiplication. Background Art

[0002] Elliptic Curve Cryptography (ECC) is a public-key cryptography algorithm and a rapidly developing branch of cryptography in recent years. It is based on the theory of elliptic curves in number theory and can construct an elliptic curve cryptosystem over a smaller finite field than cryptosystems based on discrete logarithm problems (such as the ElGamal cryptosystem or DSA, RSA cryptosystems). When maintaining the same security strength, the key length required by ECC is much smaller than that of cryptosystems based on discrete logarithm problems. Therefore, compared with other cryptosystems, ECC can greatly reduce the overhead in terms of required computing power, storage space, data traffic, etc. The elliptic curve algorithm is the core basic algorithm for applications such as identity authentication, key negotiation, and blockchain.

[0003] In recent years, optimizing the fixed point multiplication operation in ECC has been one of the important research directions of many scholars. Improving the computing speed of public-key cryptography algorithms is a research hotspot of public-key cryptography algorithms. The fixed point multiplication operation of elliptic curves is the basic component of the elliptic curve cryptography signature protocol and also the most time-consuming part.

[0004] The digital signature algorithm is inefficient in the process of implementing digital signatures, wasting a large amount of computing resources inside the computer. The existing calculation method of the digital signature algorithm increases the time complexity. When the digital signature algorithm runs on a chip, it consumes a large amount of power of the chip, and the digital signature process is slow, affecting the user experience. Summary of the Invention

[0005] To solve the deficiencies of the prior art, the present invention provides an elliptic curve digital signature method and system based on fast calculation of fixed point multiplication; by optimizing the fixed point multiplication operation encountered in the digital signature algorithm, the time complexity of the digital signature process is greatly reduced. When the digital signature algorithm runs on a chip, it consumes less power, improves the operation speed of the digital signature, enhances the overall performance of the system, and enhances the user experience.

[0006] On the one hand, an elliptic curve digital signature method based on fast calculation of fixed point multiplication is provided, including: elliptic curve digital signature steps; wherein, the fixed point multiplication in the elliptic curve digital signature steps includes:

[0007] Encoding the coefficients by means of bit extraction to obtain a coefficient table;

[0008] Constructing a large integer and traversing the large integer to obtain a precomputation table;

[0009] Perform bit-by-bit calculations on the coefficient table and the pre-computation table to obtain the fixed-point multiplication result.

[0010] On the other hand, an elliptic curve digital signature system based on fast fixed-point multiplication is provided, including: an elliptic curve digital signature module; wherein, the fixed-point multiplication of the elliptic curve digital signature module includes:

[0011] An encoding unit, which is configured to: encode the coefficients by bit extraction to obtain a coefficient table;

[0012] A traversal unit, which is configured to: construct a large integer and traverse the large integer to obtain a pre-computation table;

[0013] A calculation unit, which is configured to: perform bit-by-bit calculations on the coefficient table and the pre-computation table to obtain the fixed-point multiplication result.

[0014] The above technical solution has the following advantages or beneficial effects:

[0015] By optimizing the fixed-point multiplication operation encountered in the digital signature algorithm, the time complexity of the digital signature process is greatly reduced. When the digital signature algorithm runs on a chip, the power consumption is small, the operation speed of the digital signature is improved, the overall performance of the system is improved, and the user experience is improved.

[0016] The present invention addresses the security and performance issues caused by a coefficient of 0 in existing coding techniques, and proposes a new coding method and a secure implementation method for SM2 fixed-point multiplication with an offset parameter, which improves the algorithm security while reducing the computational complexity. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The accompanying drawings forming a part of this invention are used to provide a further understanding of the invention. The schematic embodiments and descriptions thereof of the invention are used to explain the invention and do not constitute an improper limitation of the invention.

[0018] Figure 1 It is a flowchart of the method for the first embodiment. DETAILED DESCRIPTION

[0019] It should be noted that the following detailed description is exemplary and is intended to provide further explanation of the present invention. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which this invention belongs.

[0020] Among them, the coefficient k is a large integer of 256 bits, and the base point G is a fixed point in the SM2 algorithm. Its basic implementation method is to perform the point doubling operation DOUBLE bit by bit on the coefficient k, and perform the point addition operation ADD according to whether the corresponding bit is 0. Since the coordinates of G are known, the number of operations can be reduced by constructing a precomputation table. For example, the Booth encoding technique with a width of 8 reduces the computational complexity to 31 point addition operations ADD. The computational complexity of each ADD is 8 large number multiplications M, 3 large number exponentiations S, and 7 simple large number operations A. Therefore, the total complexity is 248M + 93S + 217A, which is an efficient implementation method. However, since the encoding coefficient may be 0, additional judgments and processing are required to ensure a fixed execution time.

[0021] Example 1

[0022] This embodiment provides an elliptic curve digital signature method based on fast fixed-point multiplication;

[0023] As Figure 1 shown, the elliptic curve digital signature method based on fast fixed-point multiplication includes: elliptic curve digital signature steps; among them, the fixed-point multiplication of the elliptic curve digital signature steps includes:

[0024] Encoding the coefficient by bit extraction to obtain a coefficient table; constructing a large integer and traversing the large integer to obtain a precomputation table; performing bit-by-bit calculation on the coefficient table and the precomputation table to obtain the fixed-point multiplication result.

[0025] Furthermore, the fixed-point multiplication of the elliptic curve digital signature steps specifically includes:

[0026] (1-1): Encoding the coefficient to obtain a coefficient table, and the coefficient table has a total of 22 elements; taking out the point with the serial number from the precomputation table TBL2, taking out the point with the serial number from the precomputation table TBL1, performing the point addition operation, and calculating to obtain the point ; taking out the point with the serial number from the precomputation table TBL0, performing the point addition operation with the point , and calculating to obtain the point ; setting the serial number to 6;

[0027] (1-2): Performing the point doubling operation on the point ; taking out the point with the serial number from the precomputation table TBL2, performing the point addition operation with the point , and calculating to obtain the point ; ; taking out the point with the serial number The point, and the point Perform point addition operation, and calculate to obtain the point ; ; Take out the point with the serial number from the pre-computation table TBL0, and add it to the point Perform point addition operation, and calculate to obtain the point ; ;

[0028] (1 - 3): Subtract 1. If is not equal to 0, go to step (1 - 2). Otherwise, take out the point with the serial number from the pre-computation table TBL3, and add it to the point A to calculate the point ; ; Calculate the inverse , , and output .

[0029] Furthermore, the elliptic curve digital signature steps include: setting the message to be signed as . In order to obtain the digital signature of the message , the user A as the signer should implement the following operation steps:

[0030] A1: Set ; Wherein, represents a bit string; represents the distinguishable identifier of user A;

[0031] A2: Perform the SM3 hashing algorithm on the bit string to obtain a 256-bit bit string ;

[0032] A3: Generate a random number using a random number generator;

[0033] A4: Based on the random number , calculate the elliptic curve point through fixed-point scalar multiplication;

[0034] A5: Calculate . If or , then return to A3;

[0035] A6: Calculate . If , then return to A3;

[0036] A7: Return the digital signature of the message to be signed 。

[0037] Further, (1 - 1): encode the coefficients to obtain a coefficient table, including:

[0038] First, extract the bits from the coefficient k in groups of 7 bits: the first group is bits 0, 7, 14,...., 245, 252; the second group is bits 1, 8, 15,...., 246, 253; the third group is bits 2, 9, 16,...., 247, 254; the fourth group is bits 3, 10, 17,...., 248, 255; the fifth group is bits 4, 11, 18,...., 249; the sixth group is bits 5, 12, 19,...., 250; the seventh group is bits 6, 13, 20,...., 251;

[0039] Select a random number n between 0 and 35. Except for the n - th bit, split the first 36 bits of each group into a coefficient table index according to 12, 12, and 11 bits, which contains 21 elements in total;

[0040] Then extract 7 bits of the n - th column and the remaining 4 bits from the first 35 columns, a total of 11 bits, and store them in the 22 - nd element of the index table; the remaining 4 bits include: 252, 253, 254, 255.

[0041] Bit extraction can be implemented using the parallel bit extraction instruction PEXT in the bit manipulation instruction set BMI2.

[0042] Further, taking out the point with the serial number from the pre - calculation table TBL2, and taking out the point with the serial number from the pre - calculation table TBL1, performing a point addition operation, and calculating the obtained point , including: 。

[0043] Further, taking out the point with the serial number from the pre - calculation table TBL0, performing a point addition operation with point A, and calculating the obtained point ; including: 。

[0044] Further, performing a point doubling operation on the point , including: 。

[0045] Further, the calculation steps of the pre - calculation table include:

[0046] Assume that when n = 35, construct 4 large integers B0, B1, B2, B3. These large integers can only have the set bits set, and the remaining bits are fixed to 0, specifically as follows:

[0047] The large integer B0 = {the 0th bit, 0, 0, 0, 0, 0, 0, the 7th bit, 0, 0, 0, 0, 0, 0, the 14th bit, 0, 0, 0, 0, 0, 0, the 21st bit, 0, 0, 0, 0, 0, 0, the 28th bit, 0, 0, 0, 0, 0, 0, the 35th bit, 0, 0, 0, 0, 0, 0, the 42nd bit 0, 0, 0, 0, 0, 0, the 49th bit 0, 0, 0, 0, 0, 0, the 56th bit 0, 0, 0, 0, 0, 0, the 63rd bit 0, 0, 0, 0, 0, 0, the 70th bit 0, 0, 0, 0, 0, 0, the 77th bit};

[0048] The large integer B1 = {0..(84 consecutive 0s)..0, the 84th bit, 0, 0, 0, 0, 0, 0, the 91st bit, 0, 0, 0, 0, 0, 0, the 98th bit, 0, 0, 0, 0, 0, 0, the 105th bit, 0, 0, 0, 0, 0, 0, the 112th bit, 0, 0, 0, 0, 0, 0, the 119th bit, 0, 0, 0, 0, 0, 0, the 126th bit 0, 0, 0, 0, 0, 0, the 133rd bit 0, 0, 0, 0, 0, 0, the 140th bit 0, 0, 0, 0, 0, 0, the 147th bit 0, 0, 0, 0, 0, 0, the 154th bit 0, 0, 0, 0, 0, 0, the 161st bit};

[0049] The large integer B2 = {0..(168 consecutive 0s)..0, the 168th bit, 0, 0, 0, 0, 0, 0, the 175th bit, 0, 0, 0, 0, 0, 0, the 182nd bit, 0, 0, 0, 0, 0, 0, the 189th bit, 0, 0, 0, 0, 0, 0, the 196th bit, 0, 0, 0, 0, 0, 0, the 203rd bit, 0, 0, 0, 0, 0, 0, the 210th bit 0, 0, 0, 0, 0, 0, the 217th bit 0, 0, 0, 0, 0, 0, the 224th bit 0, 0, 0, 0, 0, 0, the 231st bit 0, 0, 0, 0, 0, 0, the 238th bit};

[0050] The large integer B3 = {0..(245 consecutive 0s)..0, the 245th bit, the 246th bit, the 247th bit, the 248th bit, the 249th bit, the 250th bit, the 251st bit, the 252nd bit, the 253rd bit, the 254th bit, the 255th bit};

[0051] The pre - calculation table TBL0 traverses all possible cases of non - zero bit positions of B0 and obtains a table containing standard projective coordinates ; when all are 0, set the coordinate value to 0;

[0052] The precomputation table TBL1 traverses all possible cases of non-zero bit positions in B1 to obtain a table containing standard projective coordinates ; when all are 0, set the coordinate value to 0;

[0053] The precomputation table TBL2 traverses all possible cases of non-zero bit positions in B2 to obtain a table containing standard projective coordinates ; when all are 0, set the coordinate value to 0;

[0054] The precomputation table TBL3 traverses all possible cases of non-zero bit positions in B3 to obtain a table containing standard projective coordinates ; when all are 0, set the coordinate value to 0;

[0055] The total precomputation amount is , and 786K bytes of storage space are required.

[0056] Furthermore, in order to ensure that the coefficients are not 0 during the operation, an offset of a0G, a1G, and a2G is added to each of the precomputation tables TBL0, TBL1, and TBL2 to obtain new precomputation tables TBLA0, TBLA1, and TBLA2. Among them, a0, a1, and a2 can be arbitrarily selected as a relatively small integer. a0G is the output coordinate of the fixed-point multiplication with coefficient a0, a1G is the output coordinate of the fixed-point multiplication with coefficient a1, and a2G is the output coordinate of the fixed-point multiplication with coefficient a2. After processing, the result increases by , and at this time, each point in TBL3 needs to be subtracted by for correction to obtain a new precomputation table TBLA3.

[0057] Furthermore, the fixed-point multiplication in the elliptic curve digital signature step can also be implemented by the following steps:

[0058] (2-1): Encode the coefficients to obtain a coefficient table , with a total of 22 elements;

[0059] (2-2): Take the point with serial number index

[20] from the precomputation table TBLA2, take the point with serial number index

[19] from TBLA1, perform the Z2, Z3 coordinate point addition operation, and calculate to obtain the point ; ;

[0060] (2-3): Take the point with serial number index

[18] from TBLA0, and perform the Z2, Z3 coordinate point addition operation with the point to calculate the point ; ;

[0061] (2 - 4): Let the serial number be 6;

[0062] (2 - 5): Take out the point with serial number from TBLA2, and perform the compound operation of multiplying and adding the Z2 and Z3 coordinate points with point A to calculate the point ; ;

[0063] (2 - 6): Take out the point with serial number from TBLA1, and perform the addition operation of the Z2 and Z3 coordinate points with point A to calculate point A; ;

[0064] (2 - 7): Take out the point with serial number from TBLA0, and perform the addition operation of the Z2 and Z3 coordinate points with point A to calculate point A; ;

[0065] (2 - 8): Subtract 1 from i. If i is not equal to 0, go to step (2 - 5); otherwise, go to step (2 - 9);

[0066] (2 - 9): Take out the point with serial number from TBLA3, and perform the addition operation of the Z2 and Z3 coordinate points with point A to calculate point A; ;

[0067] (2 - 10): ;

[0068] Find the inverse of ; ; Output . .

[0069] Furthermore, for the pre - calculation table, the calculation process is:

[0070] ;

[0071] ; The value range of is from 1 to

[0072] ;

[0073] ; The value range of is from 1 to

[0074] ;

[0075] ; ranges from 1 to ;

[0076] ;

[0077] ; ranges from 1 to .

[0078] Simplify DOUBLE(A) and ADD(A,D) using the CO-Z method, and further reduce the computational complexity by replacing Z with the Z2 and Z3 coordinates.

[0079] Among them, is the point addition operation output of two points , in the standard projective coordinate system, and the point in the Z2 and Z3 coordinate systems; is the point addition combination operation of the Z2 and Z3 coordinate points, and C is the point in the Z2 and Z3 coordinate systems. Among them, , ; E is the point in the Z2 and Z3 coordinate systems, where , ; is the point doubling + point addition combination operation, and C is the point in the Z2 and Z3 coordinate systems. Among them, , ; F is the point in the Z2 and Z3 coordinate systems, where , .

[0080] Among them, is implemented as follows:

[0081] ;

[0082] ;

[0083] ;

[0084] ;

[0085] Among them, are all 256-bit unsigned integers, and all operations are modulo operations. The results need to be modulo the characteristic prime number p of the SM2 curve. B is the point ; Among them, addition, subtraction, and multiplying by 2 all belong to simple operation A, multiplying two identical numbers belongs to exponentiation operation S, multiplying two different numbers belongs to multiplication operation M, and the complexity is .

[0086] Among them, the implementation steps of E = ADD1zzz(C, B) are as follows:

[0087] ;

[0088] ;

[0089] ;

[0090] ;

[0091] Among them, a, b, c, d, e, f, c2, c3 are all 256-bit unsigned integers, and its complexity is 8M + 2S + 7A.

[0092] Among them, the implementation steps of F = DOUBLEADDzzz(C, B) are as follows:

[0093] ;

[0094] ;

[0095] ;

[0096] ;

[0097] ;

[0098] ;

[0099] ;

[0100] Among them, are all 256-bit unsigned integers; the complexity is 14M + 4S + 13A; the total complexity is:

[0101] , which is significantly lower than Booth encoding.

[0102] Furthermore, for the signature algorithm, there is no need to calculate the y coordinate, and the last can be simplified to: , and the implementation steps are as follows:

[0103]

[0104]

[0105]

[0106] Among them, is the simplified point (x6, z62), including the x coordinate x6 and the z 2 coordinate z62.

[0107] The total complexity is further reduced by 3M + 2A. Although the present invention is proposed for the SM2 algorithm, this method is also applicable to other short weierstrass curves.

[0108] Embodiment 2

[0109] This embodiment provides an elliptic curve digital signature system based on fast fixed-point multiplication, including: an elliptic curve digital signature module; among them, the fixed-point multiplication of the elliptic curve digital signature module includes:

[0110] An encoding unit, which is configured to: encode the coefficients by bit extraction to obtain a coefficient table;

[0111] A traversal unit, which is configured to: construct a large integer and traverse the large integer to obtain a precomputation table;

[0112] A calculation unit, which is configured to: perform bit-by-bit calculation on the coefficient table and the precomputation table to obtain the fixed-point multiplication result.

[0113] The above are only the preferred embodiments of the present invention and are not used to limit the present invention. For those skilled in the art, the present invention can have various changes and modifications. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. An elliptic curve digital signature method based on fast calculation of fixed point multiplication, characterized in that: include: Elliptic curve digital signature step; wherein the fixed point multiplication of the elliptic curve digital signature step includes: The coefficients are encoded by bit extraction to obtain a coefficient table; By constructing a large integer and traversing the large integer, a pre-calculated table is obtained; Calculate the coefficient table and the pre-calculated table bit by bit to obtain the fixed point multiplication result; The fixed point multiplication of the elliptic curve digital signature step includes: (1-1): Encode the coefficients to obtain a coefficient table, which has 22 elements in total; take out the number from the pre-calculated table TBL2 The point with the serial number is taken from the pre-calculated table TBL1 Points, perform point addition operation, and calculate the point ; Take out the serial number from the pre-calculated table TBL0 The point and the point Perform the point addition operation and calculate the point ; Set serial number is 6; (1-2): Point Execute the dot doubling operation; take out the serial number from the pre-calculated table TBL2 The point and the point Perform the point addition operation and calculate the point ; ; Take out the serial number from the pre-calculated table TBL1 The point and the point Perform the point addition operation and calculate the point ; ; Take out the serial number from the pre-calculated table TBL0 The point and the point Perform the point addition operation and calculate the point ; ; (1-3): Subtract 1 if If it is not equal to 0, go to step (1-2), otherwise take out the serial number from the pre-calculated table TBL3. The point is added to point A to get point ; ;beg Inverse , , output ; The point A is kG, k is a 256-bit coefficient, G is a fixed point in the SM2 algorithm, the coordinates of G are known, and the number of operations is reduced by constructing a pre-calculation table; Said (1-1): Encode the coefficients to obtain a coefficient table, including: First, the bits in the coefficient k are extracted in groups of 7 bits: the first group is bits 0, 7, 14, ...., 245, 252; the second group is bits 1, 8, 15, ...., 246, 253; the third group is bits 2, 9, 16, ...., 247, 254; the fourth group is bits 3, 10, 17, ...., 248, 255; the fifth group is bits 4, 11, 18, ...., 249; the sixth group is bits 5, 12, 19, ...., 250; the seventh group is bits 6, 13, 20, ...., 251; Assume n=35, except the In addition to the bits, the first 36 bits of each group are split into coefficient table index according to 12, 12, and 11 bits, which contains 21 elements in total; Then extract the first 35 columns The 7 bits and the remaining 4 bits, a total of 11 bits, are stored in the 22nd element of the index table; the remaining 4 bits include: the 252nd, 253rd, 254th, and 255th bits; The pre-calculation table, the calculation steps include: Construct 4 large integers B0, B1, B2, B3. Only the set bits of these large integers can be set, and the rest of the bits are fixed to 0, as follows: Big integer B0 = {0th bit, 0,0,0,0,0,0, 7th bit, 0,0,0,0,0,0, 14th bit, 0,0,0,0,0,0, 21st bit, 0,0,0,0,0,0, 28th bit, 0,0,0,0,0,0, 35th bit, 0,0,0,0,0,0, 42nd bit 0,0,0,0,0,0, 49th bit 0,0,0,0,0,0, 56th bit 0,0,0,0,0,0, 63rd bit 0,0,0,0,0,0, 70th bit 0,0,0,0,0,0, 77th bit}; Large integer B1 = {0..84 consecutive 0..0, 84th bit, 0,0,0,0,0,0, 91st bit, 0,0,0,0,0,0, 98th bit, 0,0,0,0,0,0, 105th bit, 0,0,0,0,0,0, 112th bit, 0,0,0,0,0,0, 119th bit, 0,0,0,0,0,0, 126th bit 0,0,0,0,0,0, 133th bit 0,0,0,0,0,0, 140th bit 0,0,0,0,0,0, 147th bit 0,0,0,0,0,0, 154th bit 0,0,0,0,0,0, 161st bit}; Large integer B2 = {0..168 consecutive 0..0, 168th bit, 0,0,0,0,0,0, 175th bit, 0,0,0,0,0,0, 182th bit, 0,0,0,0,0,0, 189th bit, 0,0,0,0,0,0, 196th bit, 0,0,0,0,0,0, 203rd bit, 0,0,0,0,0,0, 210th bit 0,0,0,0,0,0, 217th bit 0,0,0,0,0,0, 224th bit 0,0,0,0,0,0, 231st bit 0,0,0,0,0,0, 238th bit}; Large integer B3 = {0..245 consecutive 0..0, bit 245, bit 246, bit 247, bit 248, bit 249, bit 250, bit 251, bit 252, bit 253, bit 254, bit 255}; Precompute table TBL0 Traverse all possible non-zero bits of B0 and get a table containing Standard projective coordinates When all values ​​are 0, the coordinate value is set to 0; Precompute table TBL1 Traverse all possible non-zero bits of B1 and get a table containing Standard projective coordinates When all values ​​are 0, the coordinate value is set to 0; Precompute table TBL2 Traverse all possible non-zero bits of B2 and get a table containing Standard projective coordinates When all values ​​are 0, the coordinate value is set to 0; Precompute table TBL3 Iterate over all possible non-zero bits of B3 and get a table containing Standard projective coordinates When all values ​​are 0, the coordinate value is set to 0.

2. The elliptic curve digital signature method based on fixed point multiplication fast calculation as claimed in claim 1 is characterized in that: The sequence number taken from the pre-calculation table TBL2 is The point with the serial number is taken from the pre-calculated table TBL1 Points, perform point addition operation, and calculate the point ,include: ; The sequence number taken from the pre-calculation table TBL0 is The point is added to point A to get point ;include: ; The pair of points Perform point multiplication operations, including: .

3. Elliptic curve digital signature system based on fast calculation of fixed point multiplication, characterized by: The elliptic curve digital signature method based on the fast calculation of fixed point multiplication as claimed in any one of claims 1 to 2 comprises: an elliptic curve digital signature module; wherein the fixed point multiplication of the elliptic curve digital signature module comprises: The encoding unit is configured to: encode the coefficients by bit extraction to obtain a coefficient table; A traversal unit is configured to: obtain a pre-calculation table by constructing a large integer and traversing the large integer; The calculation unit is configured to: perform bit-by-bit calculation on the coefficient table and the pre-calculation table to obtain a fixed-point multiplication result.

Citation Information

Patent Citations

  • Method, device and equipment for generating and verifying digital signature

    CN118784237A