An operation method and system for elliptic curve multi-scalar multiplication based on a smooth number constructed barrel
By constructing buckets based on smooth numbers, elliptic curve multiplication is divided into smooth and non-smooth parts, which solves the problem of low computational efficiency in the existing technology and achieves more efficient computational results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SUN YAT SEN UNIV
- Filing Date
- 2026-06-10
- Publication Date
- 2026-07-28
AI Technical Summary
In existing technologies, elliptic curve multiplication is computationally inefficient, becoming a bottleneck in zero-knowledge proof systems. This is especially true in pairwise zkSNARK constructions, where the redundant design of multi-scalar multiplication methods leads to low computational efficiency.
We adopt a bucket construction method based on smooth numbers to divide elliptic curve multiplication into smooth number and non-smooth number parts. By optimizing the basket construction of the smooth number part, we can improve computational efficiency and reduce computational overhead.
Without increasing the basket size, the computational efficiency of the smooth number part is improved, thereby improving the overall computational efficiency, reducing the time overhead of elliptic curve operations, and optimizing the number of doubling operations.
Smart Images

Figure CN122475868A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of elliptic curve cryptography, and more specifically, to an operational method and system for elliptic curve multiplication based on buckets constructed from smooth numbers. Background Technology
[0002] Terms such as Zero-Knowledge Proofs (ZKP) or Zero-Knowledge Arguments (ZKA) satisfy three security properties: (1) Correctness: This means that an honest prover can always convince the verifier that they know the secrets related to the public statement; (2) Reliability: This ensures that a dishonest prover cannot prove a false statement; (3) Zero-Knowledge: This indicates that the proof process does not reveal any additional information other than the truth of the statement the prover intends to prove. In ZKP systems, reliability holds for provers with unlimited computing power; while in ZKA systems, it is assumed that the prover's computing power is limited. In recent years, interest in putting ZKP and ZKA into practice has surged, initially driven by the need for privacy protection in blockchain environments, and subsequently extended to more general applications such as verifiable computation. Zero-Knowledge Concise Non-Interactive Knowledge Arguments (zkSNARKs) are an advanced form of ZKA, characterized by concise proofs and efficient verification. They can be viewed as a combination of Non-Interactive Zero-Knowledge Proofs (NIZKs) and concise knowledge arguments. In proof systems, the prover's computing power can be unbounded, but in argument systems, it is usually assumed that the prover's computing power is limited. Despite numerous zkSNARK schemes proposed since, pairwise zkSNARK remains one of the most attractive options in practice. While zkSNARK verification is fast, the construction of such proof systems is typically very time-consuming, hindering their widespread adoption. In pairwise zkSNARK constructions, the proof consists of a set of points within an elliptic curve group, which operate on each other within the group. One of the main computational bottlenecks in such zkSNARK constructions lies in the multiscalar multiplication (MSM) method employed.
[0003] In the computation of zero-knowledge proofs, MSM (Multi-Scalar Multiplication) is a crucial operation. MSM involves multiplication operations on multiple scalars and elliptic curve points, and is a core step in implementing multi-computation in zero-knowledge proof protocols. The efficiency of MSM has consistently been a bottleneck in zkSNARK implementations. To address this issue, various methods have been proposed, including those based on Strauss, Pippenger, and Luo-Fu-Gong (LFG); among these, the Luo-Fu-Gong (LFG) method... When the value is large, using this algorithm to calculate the MSM still accounts for the main part of zkSNARKs proof generation. Due to the redundancy in the basket design, the computational efficiency is low, which becomes a computational bottleneck. Summary of the Invention
[0004] The purpose of this invention is to overcome the shortcomings of low computational efficiency in existing multi-scalar multiplication methods, and to provide an elliptic curve multi-scalar multiplication method and system based on smooth number bucket construction, which effectively reduces computational overhead and improves computational efficiency.
[0005] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows: A method for multi-scalar multiplication of elliptic curves based on smoothness number-constructed buckets is provided, comprising the following steps: S1. Parameter initialization: This includes setting the order of the rational point group of the elliptic curve to . scalar satisfy ;fixed The point set of points Define the set of smooth numbers. And define a set of smooth numbers. The upper bound of the exponents of each element factor in the equation; S2. Constructing an auxiliary set: Constructing a set B , make the set B Able to represent all after multiplication with a predefined small integer multiplier At the same time, the set B Divided into the set of smooth numbers Set of nonsmooth numbers ,in , ; S3. Cardinality Selection and Scalar Decomposition: Cardinality Selection ,right Perform conditional Number base decomposition makes the coefficients or All belong to ; S4. Coefficient Classification Processing: Based on the coefficients... Whether it is a smooth number or not, give different expressions for each. ,but For smooth numbers, through the set of smooth numbers The index of the prime factor is used to represent it; otherwise... If it is a nonsmooth number, then pass through the set of nonsmooth numbers. The elements in the table are used to represent the data. S5. Pre-calculation: Pre-calculate and store points that are repeatedly used in the summation phase; S6. Scalar multiplication decomposition calculation: Decompose scalar multiplication into smooth number part and non-smooth number part for calculation; S7. Result Combination: Add the calculation results of the smooth number part and the non-smooth number part to obtain the final scalar multiplication result.
[0006] The present invention provides an elliptic curve multiplication method based on a bucket constructed from smooth numbers. Without increasing the size of the bucket, the method divides the bucket into smooth number and non-smooth number parts, thereby improving the computational efficiency of the smooth number part and thus improving the overall computational efficiency.
[0007] Further, in step S1, a set of smooth numbers is defined. For containing only prime factors Positive integers, and set the upper bounds of the exponents of each prime factor as follows: If it exists Then take ;Record The index of each prime factor of the element.
[0008] Further, in step S2, a set is constructed. B , make the set B Able to represent all after multiplication with a predefined small integer multiplier Specifically, it includes: S21. ; S22. ; S23. ; S24. .
[0009] Further, in step S3, for Perform conditional Number base decomposition is calculated using the following formula: .
[0010] Further, in step S4, if ,but Let be a smooth number, denoted as ;otherwise, If it is a nonsmooth number, then it is represented as ,in , , , It is a predefined set of small integer multipliers.
[0011] Further, in step S5, the following two sets of points are pre-calculated and stored respectively: , for use in the calculation of partial summation of smooth numbers; , for use in the calculation of non-smooth number part summation.
[0012] Furthermore, in step S6, the calculation of the smooth number component specifically includes:
[0013] By using a grouping and merging method, the results are accumulated in exponential order:
[0014] in, This is the sum of the pre-calculated points for the corresponding index combination.
[0015] Furthermore, in step S6, the LFG method is used to calculate the non-smooth number portion: SUM_2 = SUM_1 + SUM_1
[0016] And utilize pre-calculated and Perform combined calculations.
[0017] Furthermore, in step S6, the calculation of the non-smooth number part specifically includes the following steps: S621. Press Grouped summation: Definition Then we have:
[0018] Calculate the intermediate sum ,but ; S622. Calculation Specifically, it includes: S6221. Will sorting of elements The corresponding intermediate and ;set up ; S6222. Define a length of... temporary array ; S6223. From Decrease to 1 and perform the following operations: 1. Set the current Accumulated to : ; 2. Calculate the difference between the current coefficient and the previous coefficient: , where defined ; 3. If Then the current cumulative sum will be... Accumulated to : ; S6224. Calculation Specifically, it includes: 1. Initialization: , ; 2. From Decrease to Repeat the following operations: Accumulate the current element: ; Cumulative weighted result: ; 3. After the traversal is complete, The value of is the sum we are looking for, that is... .
[0019] This invention also provides an arithmetic system for elliptic curve multiplication based on bucket construction using smooth numbers, comprising: Initialization module: Used to initialize parameters, including setting the order of the rational point group of the elliptic curve. scalar satisfy ;fixed The point set of points Define the set of smooth numbers. And define a set of smooth numbers. The upper bound of the exponents of each element factor in the equation; Auxiliary set constructor module: used to construct sets B , make the set B Able to represent all after multiplication with a predefined small integer multiplier At the same time, the set B Divided into the set of smooth numbers Set of nonsmooth numbers ,in , ; The radix and scalar decomposition module is used to select the radix. ,right Perform conditional Number base decomposition makes the coefficients or All belong to ; Coefficient classification processing module: used to classify coefficients Whether it is a smooth number or not, give different expressions for each. ,but For smooth numbers, through the set of smooth numbers The index of the prime factor is used to represent it; otherwise... If it is a nonsmooth number, then pass through the set of nonsmooth numbers. The elements in the table are used to represent the data. Pre-calculation module: Used to pre-calculate and store points that are repeatedly used in the summation phase; Scalar multiplication decomposition module: used to decompose scalar multiplication into smooth number part and non-smooth number part for separate calculation; The result merging module is used to add the calculation results of the smooth number part and the non-smooth number part to obtain the final scalar multiplication result.
[0020] The present invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method described above.
[0021] The present invention also provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the method described above.
[0022] Compared with the prior art, the beneficial effects of the present invention are: This invention provides an elliptic curve multiplication method and system based on smooth number-constructed buckets. Based on the LFG method, it introduces smooth numbers to optimize basket construction. Without increasing the basket size, the basket is divided into smooth number and non-smooth number parts, improving the computational efficiency of the smooth number part and thus enhancing the overall computational efficiency. In elliptic curve operations, the time overhead of doubling operations is significantly less than that of point addition operations. The original LFG method requires two elliptic curve additions per basket element; the optimized method requires only one addition and one doubling operation, thereby reducing computational overhead. Attached Figure Description
[0023] Figure 1 This is a flowchart illustrating the operational method of elliptic curve multi-scalar multiplication based on smooth number-constructed buckets according to the present invention. Figure 2 This is a flowchart illustrating an elliptic curve multiplication method based on a smooth number-constructed bucket in one embodiment. Detailed Implementation
[0024] The present invention will be further described below with reference to specific embodiments. The accompanying drawings are for illustrative purposes only, representing schematic diagrams rather than actual physical objects, and should not be construed as limiting the invention. To better illustrate the embodiments of the invention, some components in the drawings may be omitted, enlarged, or reduced, and do not represent the actual dimensions of the product. It is understandable to those skilled in the art that some well-known structures and their descriptions may be omitted in the drawings.
[0025] In the accompanying drawings of the embodiments of the present invention, the same or similar reference numerals correspond to the same or similar components. In the description of the present invention, it should be understood that if terms such as "upper," "lower," "left," "right," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings, they are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, the terms used to describe positional relationships in the drawings are only for illustrative purposes and should not be construed as limiting the present invention. For those skilled in the art, the specific meaning of the above terms can be understood according to the specific circumstances.
[0026] Example 1 This embodiment is the first embodiment of an operational method for elliptic curve multiplication based on smooth number-constructed buckets, such as... Figure 1 As shown, it includes the following steps: Step S1. Parameter initialization: This includes setting the order of the rational point group of the elliptic curve to be . scalar satisfy ;fixed The point set of points Define the set of smooth numbers. For containing only prime factors Positive integers, and set the upper bounds of the exponents of each prime factor as follows: If it exists Then take ;Record The exponents of each prime factor of the element are used for subsequent calculations.
[0027] Step S2. Construct an auxiliary set: Consistent with the LFG algorithm, construct a set. B , make the set B Able to represent all after multiplication with a predefined small integer multiplier : S21. ; S22. ; S23. ; S24. ; S25. Set B Divided into the set of smooth numbers Set of nonsmooth numbers ,in , .
[0028] Step S3. Selecting the cardinality and scalar decomposition: Selecting the cardinality ,right Perform conditional Number base decomposition makes the coefficients or All belong to ;right Perform conditional Number base decomposition is calculated using the following formula: .
[0029] Step S4. Coefficient Classification Processing: Based on the coefficients Whether it is a smooth number or not, give different expressions.
[0030] like ,but For smooth numbers, through the set of smooth numbers The index of the prime factor is used to represent the prime factor. like ,but Let be a smooth number, denoted as ; otherwise, If it is a nonsmooth number, then it is represented as ,in , , , It is a predefined set of small integer multipliers.
[0031] Step S5. Pre-calculation: Pre-calculate and store the points that are repeatedly used in the summation stage; because the following two sets of points are repeatedly used in the summation stage, pre-calculating and storing the following two sets of points can save the time spent in the summation stage.
[0032] , for use in the calculation of partial summation of smooth numbers; , for use in the calculation of non-smooth number part summation.
[0033] Step S6. Scalar Multiplication Decomposition Calculation: Decompose the scalar multiplication... The calculation is performed by decomposing the smooth number part into the non-smooth number part.
[0034] S61. The calculation of the smooth number part specifically includes:
[0035] By using a grouping and merging method, the results are accumulated in exponential order:
[0036] in, This is the sum of the pre-calculated points for the corresponding index combination.
[0037] S62. For the calculation of the non-smooth number part, the LFG method is used: SUM_2 = SUM_1 + SUM_1
[0038] And utilize pre-calculated and Perform combined calculations. This includes the following steps: S621. Press Grouped summation, definition Then we have:
[0039] Calculate the intermediate sum ,but ; S622. Calculation Specifically, it includes: S6221. Will sorting of elements The corresponding intermediate and ;set up That is, the maximum difference between adjacent coefficients; S6222. Define a length of... temporary array ; S6223. From Decrease to 1 and perform the following operations: 1. Set the current Accumulated to : ; 2. Calculate the difference between the current coefficient and the previous coefficient: , where defined ; 3. If Then the current cumulative sum will be... Accumulated to : ; S6224. Calculation Specifically, it includes: 1. Initialization: , ; 2. From Decrease to Repeat the following operations: Accumulate the current element: ; Cumulative weighted result: ; 3. After the traversal is complete, The value of is the sum we are looking for, that is... .
[0040] S7. Result Combination: Add the results of the smooth number part and the non-smooth number part to obtain the final scalar multiplication result. .
[0041] Let A, D, T, and F be the costs of a point plus, double, triple, and five times the cost of an elliptic curve, respectively. Let be the upper bound of the exponent of the selected smoothness number. The cost of using the LFG algorithm to compute the MSM is ( The calculation of buckets accounts for ( A, here It means The maximum distance between any two adjacent numbers is a negligible integer. In the LFG algorithm, calculating the elements of a bucket requires two elliptic curve additions. The optimization of this embodiment lies in dividing the buckets into smooth and non-smooth number parts, thus requiring only one addition and one doubling point for each element in the smooth number part of the bucket. Analysis shows that the cost of this embodiment is... , here It means The maximum distance between two adjacent numbers is also a negligible integer.
[0042] If M represents multiplication over a finite field, according to the elliptic curve arithmetic given by Bernstein and Lange, the overhead of point addition, doubling, and tripling in Jacobian coordinates are 15M, 7.4M, and 21.6M respectively. The experiment selects the optimal... This invention and the LFG algorithm ( A comparison of the overhead of bucket computing.
[0043] The following table compares the overhead of the method in this embodiment with that of the LFG algorithm in bucket computation:
[0044] In summary, this embodiment presents an elliptic curve multiplication method based on smooth number-constructed buckets. Based on the LFG method, it introduces smooth numbers to optimize basket construction. Without increasing the basket size, the basket is divided into smooth number and non-smooth number parts, improving the computational efficiency of the smooth number part and thus enhancing the overall computational efficiency. In this embodiment, the time overhead of doubling operations in elliptic curve arithmetic is significantly less than that of point addition operations; the original LFG method requires two elliptic curve additions per basket element, while the optimized method requires only one addition and one doubling operation, thereby reducing computational overhead.
[0045] Example 2 This embodiment is a second embodiment of an operation method for elliptic curve multiplication based on smooth number bucket construction. This embodiment is similar to the first embodiment, except that a specific calculation example is provided in this embodiment.
[0046] Specifically, the following steps are included: Step 1: Given the parameters.
[0047] 1. a fixed point ; 2. ; 3. ; 4. All less than The smooth number, and ; 5. Cardinality :because , then there is .
[0048] Step 2. Construct auxiliary sets Construct set ,in Definitions as follows:
[0049] Right now It includes 0 and all positive integers not exceeding 512 that satisfy the condition that the sum of the exponents of 2 and 3 is even. Then construct:
[0050] The calculation result is: B={0, 1, 5, 4, 7, 9, 11, 13, 16, 17, 19, 20, 23, 25, 29,28, 31, 35, 36, 37, 41, 43, 44, 45, 47, 49, 53, 52, 55, 59, 61, 63, 65, 64, 67, 68, 71, 73, 77, 76, 79, 80, 81, 83, 85, 89, 91, 92, 95, 97, 99, 101, 100, 103, 107, 109, 113, 112, 115, 116, 117, 119, 121, 124, 125, 127, 131, 133, 137, 139, 140, 143, 144, 145, 149, 148, 151, 153, 155, 157, 161, 163, 164, 167, 169, 171, 173, 172, 175, 176, 179, 180, 181, 185, 187, 188, 191, 193, 196, 197, 199, 203, 205, 207, 209, 208, 211, 212, 215, 217, 221, 220, 223,225, 227, 229, 233, 235, 236, 239, 241, 245, 244, 247, 251, 252, 253, 257,256, 259, 260, 261, 263, 269, 268, 272, 275, 277, 279, 281, 284, 287, 293,292, 295, 299, 304, 305, 308, 311, 313, 315, 317, 316, 320, 323, 324, 329,331, 332, 333, 335, 340, 341, 347, 353, 356, 359, 365, 364, 367, 368, 369,371, 377, 380, 383, 385, 387, 389, 388, 395, 396, 401, 400, 404, 405, 407,412, 413, 419, 421, 423, 425, 428, 431, 437, 436, 439, 441, 443, 448, 449,452, 455, 457, 461, 460, 464, 467, 468, 473,475, 476, 477, 479, 485, 484, 491, 493, 495, 497, 496, 500, 503, 508, 509}.
[0051] Will Divided into smooth number part and non-smooth number part : , in It is all less than And it contains only elemental factors Positive integers, and each exponent does not exceed , Right now {1, 4, 5, 7, 9, 395, 140, 268, 396, 16,144, 272, 400, 20, 25, 28, 157, 284, 35, 36, 164, 421, 299, 44, 45, 172, 175,176, 49, 304, 52, 180, 436, 441, 315, 316, 63, 64, 320, 448, 68, 196, 324,79, 80, 208, 464, 468, 473, 220, 225, 100, 484, 236, 364, 239, 112, 368, 496,252, 245, 124}.
[0052] = {0, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 55, 59, 61, 65, 67, 71, 73, 76, 77, 81, 83, 85, 89, 91, 92, 95, 97, 99, 101, 103, 107, 109, 113, 115, 116, 117, 119, 121, 125, 127, 131, 133, 137, 139, 143, 145, 148, 149, 151, 153, 155, 161, 163,} 167, 169, 171, 173, 179, 181, 185, 187, 188, 191, 193, 197, 199, 203, 205, 207, 209, 211, 212, 215, 217, 221, 223, 227, 229, 233, 235, 241, 244, 247, 251, 253, 256, 257, 259, 260, 261, 263, 269, 275, 277, 279, 281, 287, 292, 293, 295, 305, 308, 311, 313, 317,323, 329, 331, 332, 333, 335, 340, 341, 347, 353, 356, 359, 365, 367, 369,371, 377, 380, 383, 385, 387, 388, 389, 401, 404, 405, 407, 412, 413, 419,423, 425, 428, 431, 437, 439, 443, 449, 452, 455, 457, 460, 461, 467, 475,476, 477, 479, 485, 491, 493, 495, 497, 500, 503, 508, 509}.
[0053] Step 3. Scalar decomposition.
[0054] It has scalar ( Each scalar is represented as a base. Format:
[0055] and .
[0056] For example, take ,but:
[0057] Right now .
[0058] Step 4. Classify coefficients.
[0059] For each coefficient ( , ), determine whether it belongs to .
[0060] like Then it is represented as: in:
[0061] For example, if ,but ,Right now .
[0062] like Then it is represented as:
[0063] in: ; Multiplier set ; ; For example, if ,and Then it can be expressed as .
[0064] Step 5. Pre-calculate: Pre-calculate and store the points on the following elliptic curve for quick later recall.
[0065] 5.1 Pre-calculation of the smooth number part: ]
[0066] Total number of pre-calculated points: points ( (The time and non-smooth number part repeats).
[0067] 5.2 Pre-calculation of non-smooth number components:
[0068] Pick , Total number of pre-calculated points: One point.
[0069] 5.3 Storage Organization: The pre-calculated results can be organized and stored as follows: Smooth number precomputation: by key-value pairs index point ; Multiplier precomputation: by key-value pairs index point .
[0070] Step 6. Calculate the smooth number part, for all satisfying The coefficients are decomposed into exponential form. .
[0071] 6.1 Constructing a grouped accumulation structure: definition For all satisfied The sum of points:
[0072] 6.2 Layered merging calculation: The results of the smooth number calculation are as follows:
[0073] A layered accumulation strategy is used during calculation: 1. First, fix the ones. calculate ; 2. And so on, for... Perform additions in multiples of 3; 3. Finally, check Add multiples of 5; because The calculations have been pre-calculated. In actual calculations, it is only necessary to extract the corresponding points from the pre-calculated results and accumulate them. There is no need to repeatedly calculate the scalar multiplication on the elliptic curve.
[0074] Step 7. Calculate the non-smooth number part.
[0075] For all satisfying The coefficient of is expressed as:
[0076] in: 1.
[0077] 2. (Multiplier set) 3. (Set of nonsmooth numbers) Then the non-smooth number part is .
[0078] Step 71. Press Definition of grouped summation:
[0079] but:
[0080] Define intermediate sub and , but .
[0081] Step 72. Calculation .
[0082] set The elements in the array are arranged in ascending order: The corresponding intermediate subsum is .set up That is, the maximum difference between adjacent coefficients. Based on the results of step 2, .
[0083] Step 721. Initialize a temporary array, defining a length of... temporary array It is initialized to zero.
[0084] Step 722. Cumulative recursion, starting from... Decrease to 1, then perform the following operations: 1. ; 2. , where defined ; 3. ; Step 723. Calculate the final result and initialize: ; 1. From Decrease to 1 and repeat: 1.1 ; 1.2 ; 2. After the traversal is complete, .
[0085] Step 8. Combine the results. The final scalar multiplication result is: .
[0086] Example 3 This embodiment is an example of an elliptic curve multi-scalar multiplication system based on smooth number-constructed buckets, including: Initialization module: Used to initialize parameters, including setting the order of the rational point group of the elliptic curve. scalar satisfy ;fixed The point set of points Define the set of smooth numbers. And define a set of smooth numbers. The upper bound of the exponents of each element factor in the equation; Auxiliary set constructor module: used to construct sets B , make the set B Able to represent all after multiplication with a predefined small integer multiplier At the same time, the set B Divided into the set of smooth numbers Set of nonsmooth numbers ,in , ; The radix and scalar decomposition module is used to select the radix. ,right Perform conditional Number base decomposition makes the coefficients or All belong to ; Coefficient classification processing module: used to classify coefficients Whether it is a smooth number or not, give different expressions for each. ,but For smooth numbers, through the set of smooth numbers The index of the prime factor is used to represent it; otherwise... If it is a nonsmooth number, then pass through the set of nonsmooth numbers. The elements in the table are used to represent the data. Pre-calculation module: Used to pre-calculate and store points that are repeatedly used in the summation phase; Scalar multiplication decomposition module: used to decompose scalar multiplication into smooth number part and non-smooth number part for separate calculation; The result merging module is used to add the calculation results of the smooth number part and the non-smooth number part to obtain the final scalar multiplication result.
[0087] In this embodiment, the above modules are executed in a similar manner to the method steps described in Embodiment 1, and will not be repeated here.
[0088] Example 4 This embodiment provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the method described in Embodiment 1.
[0089] Example 5 This embodiment provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in Embodiment 1.
[0090] In the specific implementation of the above embodiments, the technical features can be combined in any non-contradictory way. For the sake of brevity, not all possible combinations of the above technical features are described. However, as long as the combination of these technical features is not contradictory, it should be considered to be within the scope of this specification.
[0091] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the implementation of the present invention. Those skilled in the art can make other variations or modifications based on the above description. It is neither necessary nor possible to exhaustively describe all embodiments here. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included within the scope of protection of the claims of the present invention.
Claims
1. A computational method for elliptic curve multiplication using buckets constructed based on smooth numbers, characterized in that, Includes the following steps: S1. Parameter initialization: This includes setting the order of the rational point group of the elliptic curve to . scalar satisfy ;fixed The point set of points Define the set of smooth numbers. And define a set of smooth numbers. The upper bound of the exponents of each element factor in the equation; S2. Constructing an auxiliary set: Constructing a set B , make the set B Able to represent all after multiplication with a predefined small integer multiplier At the same time, the set B Divided into the set of smooth numbers Set of nonsmooth numbers ,in , ; S3. Cardinality Selection and Scalar Decomposition: Cardinality Selection ,right Perform conditional Number base decomposition makes the coefficients or All belong to ; S4. Coefficient Classification Processing: Based on the coefficients... Whether it is a smooth number or not, give different expressions for each. ,but For smooth numbers, through the set of smooth numbers The index of the prime factor is used to represent the prime factor. otherwise If it is a nonsmooth number, then pass through the set of nonsmooth numbers. The elements in the table are used to represent the data. S5. Pre-calculation: Pre-calculate and store points that are repeatedly used in the summation phase; S6. Scalar multiplication decomposition calculation: Decompose scalar multiplication into smooth number part and non-smooth number part and calculate them separately; S7. Result Combination: Add the calculation results of the smooth number part and the non-smooth number part to obtain the final scalar multiplication result.
2. The computational method for elliptic curve multiplication based on smooth number-constructed buckets according to claim 1, characterized in that, In step S1, the set of smooth numbers is defined. For containing only prime factors Positive integers, and set the upper bounds of the exponents of each prime factor as follows: If it exists Then take ;Record The index of each prime factor of the element.
3. The computational method for elliptic curve multiplication based on smooth number-constructed buckets according to claim 2, characterized in that, In step S2, construct the set B , make the set B Able to represent all after multiplication with a predefined small integer multiplier Specifically, it includes: S21. ; S22. ; S23. ; S24. 。 4. The computational method for elliptic curve multiplication based on smooth number-constructed buckets according to claim 3, characterized in that, In step S3, for Perform conditional Number base decomposition is calculated using the following formula: 。 5. The computational method for elliptic curve multiplication based on smooth number-constructed buckets according to claim 4, characterized in that, In step S4, if ,but Let be a smooth number, denoted as ; otherwise, If it is a nonsmooth number, then it is represented as ,in , , , It is a predefined set of small integer multipliers.
6. The computational method for elliptic curve multiplication based on smooth number-constructed buckets according to claim 5, characterized in that, In step S5, the following two sets of points are pre-calculated and stored: , for use in the calculation of partial summation of smooth numbers; , for use in the calculation of non-smooth number part summation.
7. The computational method for elliptic curve multiplication based on smooth number-constructed buckets according to claim 6, characterized in that, In step S6, the calculation of the smooth number component specifically includes: By using a grouping and merging method, the results are accumulated in exponential order: in, This is the sum of pre-calculated points for the corresponding index combination.
8. The computational method for elliptic curve multiplication based on smooth number-constructed buckets according to claim 6, characterized in that, In step S6, the LFG method is used to calculate the non-smooth number part: SUM_2= And utilize pre-calculated and Perform combined calculations.
9. The computational method for elliptic curve multiplication based on smooth number-constructed buckets according to claim 8, characterized in that, In step S6, the calculation of the non-smooth number part specifically includes the following steps: S621. Press Grouped summation: Definition Then we have: Calculate the intermediate sum ,but ; S622. Calculation Specifically, it includes: S6221. Will sorting of elements The corresponding intermediate and ;set up ; S6222. Define a length of temporary array ; S6223. From Decrease to 1 and perform the following operations: a. [The current...] Accumulated to : ; b. Calculate the difference between the current coefficient and the previous coefficient: , where defined ; c. If Then the current cumulative sum will be... Accumulated to : ; S6224. Calculation Specifically, it includes: a. Initialization: , ; b. From Decrease to Repeat the following operations: Accumulate the current element: ; Cumulative weighted result: ; c. After the traversal is complete The value of is the sum we are looking for, that is... .
10. An arithmetic system for elliptic curve multiplication based on bucket construction using smooth numbers, characterized in that, include: Initialization module: Used to initialize parameters, including setting the order of the rational point group of the elliptic curve. scalar satisfy ;fixed The point set of points Define the set of smooth numbers. And define a set of smooth numbers. The upper bound of the exponents of each element factor in the equation; Auxiliary set constructor module: used to construct sets B , make the set B Able to represent all after multiplication with a predefined small integer multiplier At the same time, the set B Divided into the set of smooth numbers Set of nonsmooth numbers ,in , ; The radix and scalar decomposition module is used to select the radix. ,right Perform conditional Number base decomposition makes the coefficients or All belong to ; Coefficient classification processing module: used to classify coefficients Whether it is a smooth number or not, give different expressions for each. ,but For smooth numbers, through the set of smooth numbers The index of the prime factor is used to represent it; otherwise... If it is a nonsmooth number, then pass through the set of nonsmooth numbers. The elements in the table are used to represent the data. Pre-calculation module: Used to pre-calculate and store points that are repeatedly used in the summation phase; Scalar multiplication decomposition module: used to decompose scalar multiplication into smooth number part and non-smooth number part for separate calculation; The result merging module is used to add the calculation results of the smooth number part and the non-smooth number part to obtain the final scalar multiplication result.