High-speed operation processing method and device for elliptic curve cryptographic algorithm
By using Chudnovsky projective coordinate system in the elliptic curve cipher algorithm and converting the point addition operation after the multiple points is converted into an optimized point addition operation, the problem of high complexity of point multiplication operation time in the elliptic curve cipher algorithm is solved, and the system's computing performance is improved.
Patent Information
- Application Number
- CN202411744464.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-30
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2044-11-30
AI Technical Summary
The existing elliptic curve cryptography algorithm has a high computation time complexity in point multiplication operations, which affects the computing performance of the overall system.
By obtaining the first coordinate point and the second coordinate point of the elliptic curve in the Chudnovsky projective coordinate system, determine whether there is a point addition operation after the multiple point, and converting it into an optimized point addition operation, including the first point addition operation and the second point addition operation, the point multiplication calculation is completed.
The calculation efficiency of point multiplication operations is optimized, the number of multiplication operations is reduced, and the overall computing performance of the elliptic curve cryptography system is improved.
Smart Images

Figure CN119519973A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of elliptic curve cryptography, and more specifically, to a high-speed operation processing method and device for an elliptic curve cryptography algorithm. Background Art
[0002] Elliptic Curve Cryptography (ECC) is an asymmetric cryptographic system with the characteristics of short key length and fast encryption and decryption speed. In recent years, ECC has been widely used in the field of commercial cryptography. Similar to ECC, the SM2 cryptographic standard is a public key cryptographic standard proposed by my country in 2010 and is one of the important links in the national cryptographic system. SM2 is an asymmetric cryptographic system based on ECC, which is widely used in places such as banks and bankers that require digital encryption technology. Therefore, it is of practical significance to study and improve the computational efficiency of ECC and SM2.
[0003] When the prime number p>3, the elliptic curve equation over the finite field is expressed in the affine coordinate system as follows:
[0004] E:y2=x3+ax+b.(1)
[0005] Where a, b∈Fp and △=4a3+27b2 6≠0. The set of points on the elliptic curve is denoted as where O is a point at infinity. All points in the group form a commutative group.
[0006] The simplest representation of a point with two coordinates (x, y) on the elliptic curve E is the affine coordinate system. Considering that the calculation of point multiplication and addition requires the inversion operation in Fp for the affine coordinate system, and the inversion operation is the most expensive calculation, it needs to be avoided. In actual use, the projective coordinate system is often used, among which the Chudnovsky projective coordinate system is widely used. When z≠0, the point (x, y, z2, z3) in the Chudnovsky projective coordinate system corresponds to the point (x / z2, y / z3) in the affine coordinate system; when z=0, the point (1,1,0) corresponds to the infinite point O in the affine coordinate system.
[0007] The main operation in elliptic curves is called point multiplication, denoted by Q=kP, where P and Q are points in E(Fp) and k is a scalar.
[0008] 1 point (Double): If the current bit of k is 0, double the current point. The doubling operation means changing the point P(x,y) to 2P(x',y'), where (x',y') can be calculated using the point addition formula on the elliptic curve.
[0009] 2. Add: If the current bit of k is 1, add point P to the current point. The addition operation involves merging two points P1 and P2 into a new point P3, which can also be done using the point addition formula on the elliptic curve.
[0010] This process traverses each bit of k from the highest bit to the lowest bit, and decides whether to perform a doubling or addition operation based on the value of each bit. Finally, through this series of doubling and point addition operations, the result of kP can be obtained. It can be seen that doubling and point addition are the key steps in calculating point multiplication in elliptic curves, which determine the performance of the entire algorithm system. Therefore, in the practical application of elliptic curve cryptography, how to reduce the computational time complexity of the point multiplication algorithm, and then reduce the overall operation of the point multiplication algorithm, is still a technical problem that needs to be solved urgently. Summary of the invention
[0011] In response to at least one defect or improvement need in the prior art, the present invention provides a high-speed operation processing method and device for an elliptic curve cryptographic algorithm, which optimizes the point multiplication and point addition calculation speeds, optimizes the key point multiplication calculations in the elliptic curve cryptographic algorithm, and effectively improves the computing performance of the overall system.
[0012] To achieve the above object, according to a first aspect of the present invention, a high-speed operation processing method for an elliptic curve cryptographic algorithm is provided, the method comprising obtaining a first coordinate point and a second coordinate point of an elliptic curve to be calculated in an arithmetic logic unit in a Chudnovsky projective coordinate system, wherein the second coordinate point is a point having a normalized characteristic;
[0013] Determine whether there is a point doubling and then point addition operation in the point multiplication operation of the elliptic curve to be calculated, and if there is a point doubling and then point addition operation, convert the point doubling and then point addition operation into an optimized point addition operation; the optimized point addition operation includes a first point addition operation and a second point addition operation;
[0014] An optimized point addition operation is performed based on the first coordinate point and the second coordinate point to complete the point multiplication calculation.
[0015] As described in the high-speed calculation processing method of the elliptic curve cryptographic algorithm, the optimized point addition operation is performed based on the first coordinate point and the second coordinate point to complete the point multiplication calculation, including:
[0016] Performing the first point addition operation based on the first coordinate point and the second coordinate point to obtain a first operation result and a set of operation intermediate variables;
[0017] Performing an algebraic transformation on the coordinate components of the first coordinate point based on the set of operation intermediate variables to obtain a target first coordinate point;
[0018] A second point addition operation is performed based on the target intermediate amount and the target first coordinate point to obtain a second operation result, thereby completing the dot multiplication calculation.
[0019] As described in the high-speed operation processing method of the elliptic curve cryptographic algorithm, the algebraic transformation is an operation transformation for replacing the coordinate components based on the auxiliary coordinate components related to Z using the point addition operation formula of the Chudnovsky projective coordinate system.
[0020] As described in the high-speed calculation processing method of the elliptic curve cryptographic algorithm, the Z-related auxiliary coordinate components of the first coordinate point and the second coordinate point are the same.
[0021] As described in the high-speed calculation processing method of the elliptic curve cryptographic algorithm, the Z-related auxiliary coordinate component of the first coordinate point and the second coordinate point is 1.
[0022] According to a second aspect of the present invention, there is also provided a high-speed operation processing device for an elliptic curve cryptographic algorithm, comprising:
[0023] A processing unit, used to obtain a first coordinate point and a second coordinate point of the elliptic curve to be calculated in the arithmetic logic unit in a Chudnovsky projective coordinate system, wherein the second coordinate point is a point with a normalized characteristic;
[0024] An optimization operation unit is used to determine whether the point multiplication operation of the elliptic curve to be calculated includes a point doubling and then point addition operation, and if the point doubling and then point addition operation exists, convert the point doubling and then point addition operation into an optimization point addition operation; the optimization point addition operation includes a first point addition operation and a second point addition operation;
[0025] A calculation unit is used to perform an optimized point addition operation based on the first coordinate point and the second coordinate point to complete a point multiplication calculation.
[0026] According to the third aspect of the present invention, there is also provided an electronic device, which comprises at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the computer program is executed by the processing unit, the processing unit executes the steps of any one of the above-mentioned methods.
[0027] According to a fourth aspect of the present invention, there is further provided a storage medium storing a computer program, wherein the computer program implements the steps of any of the above methods when executed by a processing unit.
[0028] In general, the above technical solutions conceived by the present invention can achieve the following beneficial effects compared with the prior art:
[0029] The present invention provides a high-speed operation processing method for an elliptic curve cryptographic algorithm, which obtains a first coordinate point and a second coordinate point in a Chudnovsky projective coordinate system of an elliptic curve to be calculated, wherein the second coordinate point is a point with a normalized characteristic; determines whether a doubling point-addition operation exists in the point multiplication operation of the elliptic curve to be calculated, and if a doubling point-addition operation exists, converts the doubling point-addition operation into an optimized point-addition operation; the optimized point-addition operation is an operation based on a point-addition operation formula in the Chudnovsky projective coordinate system; and performs an optimized point-addition operation based on the first coordinate point and the second coordinate point to complete the point multiplication calculation. The present application introduces the Chudnovsky projective coordinate system, and performs a special simplification on the point addition operation formula based on the Chudnovsky projective coordinate system, which can simplify the formula of the point addition operation in the projective coordinate system, and reduces temporary variables in the process, thereby realizing the underlying software and hardware optimization of the integer point multiplication algorithm on the encryption and decryption device that implements the elliptic curve point multiplication algorithm, and reducing the time-space cost. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0031] Figure 1 A flowchart of a high-speed operation processing method of an optional elliptic curve cryptographic algorithm provided in an embodiment of the present application;
[0032] Figure 2 A schematic diagram of the structure of the logical operation of an optional dot multiplication calculation method provided in an embodiment of the present application;
[0033] Figure 3 A schematic diagram of the structure of a high-speed computing device for an optional elliptic curve cryptographic algorithm provided in an embodiment of the present application;
[0034] Figure 4 A schematic diagram of the structure of an optional electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0035] In order to make the purpose, technical scheme and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.
[0036] The terms "first", "second", "third", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices.
[0037] In one embodiment, the elliptic curve cryptographic system uses a CPU to implement the operation processing of the elliptic curve cryptographic algorithm on the CPU through software programming. The algorithm code based on the mathematical principle of the elliptic curve is written, and the arithmetic logic unit (ALU) of the CPU is used for calculation. However, since the design of the CPU is oriented to general computing, its processing efficiency is relatively low for large-scale elliptic curve cryptographic operations.
[0038] According to one aspect of the embodiments of the present application, a high-speed operation processing method for an elliptic curve cryptographic algorithm is provided. Figure 1 The invention describes a high-speed operation processing method of the elliptic curve cryptographic algorithm provided in an embodiment of the present application.
[0039] Figure 1 is a flow chart of an optional high-speed operation processing method of an elliptic curve cryptographic algorithm provided in an embodiment of the present application, such as Figure 1 As shown, the process includes the following steps:
[0040] S101, obtaining a first coordinate point and a second coordinate point of an elliptic curve to be calculated in an arithmetic logic unit in a Chudnovsky projective coordinate system.
[0041] The second coordinate point is a point with normalized characteristics.
[0042] S102, determining whether the point multiplication operation of the elliptic curve to be calculated includes a point doubling followed by a point addition operation, and if so, converting the point doubling followed by a point addition operation into an optimized point addition operation.
[0043] Wherein, the optimization point addition operation includes a first point addition operation and a second point addition operation;
[0044] S103, performing an optimized point addition operation based on the first coordinate point and the second coordinate point to complete the dot multiplication calculation.
[0045] In the Chudnovsky projective coordinate system, a point on an elliptic curve is usually represented as (X, Y, Z 2 ,Z 3). When Z≠0, the point corresponds to the point in the affine coordinate system When Z = 0, the point (1, 1, 0) corresponds to the infinite point 0 in the affine coordinate system. This representation allows some complex operations to be converted into relatively simple calculations in the projective coordinate system when performing point operations, and then converted back to the affine coordinate system to obtain the final result when necessary.
[0046] In the embodiment of the present application, the first coordinate point and the second coordinate point of the elliptic curve to be calculated in the arithmetic logic unit in the Chudnovsky projective coordinate system are obtained. The second coordinate point is the elliptic curve E:y 2 =x 3 +ax+b (a=-3) are two points in the Chudnovsky projective coordinate system that are different. Among them, the second coordinate point Q is a point with normalized characteristics, that is, a certain coordinate component of it in the projective coordinate system has a specific value, so that it is in a normalized state.
[0047] in, and is the Z-related auxiliary coordinate component of the point, and X and Y are the coordinate components of the point.
[0048] The doubling point-adding algorithm combines a doubling operation with a point-adding operation in the Chudnovsky projective coordinate system, such as 2P + Q. The present invention replaces the doubling point-adding operation with an optimized point-adding operation, i.e., 2P + Q = P + Q + P, and uses the fact that Q is often a normalized point, i.e., Qz = 1, so P + Q + P can be calculated using a special point-adding operation with the same z coordinate.
[0049] The present invention optimizes the conventional point-doubling and point-adding operation 2P+Q by cleverly converting it into an optimized point-adding operation form of P+Q+P. The optimized point-adding operation includes a first point-adding operation and a second point-adding operation. In this embodiment, the first point-adding operation is, for example, P+Q, and the second point-adding operation is, for example, (P+Q)+P.
[0050] Based on the contents disclosed in the above embodiments, in the high-speed operation processing method of the elliptic curve cryptographic algorithm provided by the present invention, an optimized point addition operation is performed based on the first coordinate point and the second coordinate point to complete the point multiplication calculation, including:
[0051] Perform a first point addition operation based on the first coordinate point and the second coordinate point to obtain a first operation result and an operation intermediate variable set;
[0052] Performing an algebraic transformation on the coordinate components of the first coordinate point based on the set of operation intermediate variables to obtain the target first coordinate point;
[0053] A second point addition operation is performed based on the target intermediate quantity and the target first coordinate point to obtain a second operation result, thereby completing the dot multiplication calculation.
[0054] Specifically, P+Q=R(X3,Y3,Z3 2 ,Z3 3 ), the coordinate components can be replaced by using the point addition formula of the Chudnovsky projective coordinate system, for example:
[0055]
[0056] Get the first operation result R(X3, Y3, Z3 2 ,Z3 3 ), and the set of intermediate variables includes and
[0057] Furthermore, the coordinate components of the first coordinate point P are algebraically transformed based on the set of intermediate variables to obtain the target first coordinate point P * , for example:
[0058]
[0059] It is worth noting that the calculations of these transformations are all intermediate variables in the first point addition operation, so these transformations can be obtained without additional calculations.
[0060] And 2P+Q=P+Q+P=R+P=R+P * , for point R and point P * , we can know that their z coordinates remain equal, and for point addition operations with equal z, there is a fast point addition operation.
[0061] Through calculation, it is found that in the Chudnovsky projective coordinate system, the P+Q (Qz=1) operation requires 8 multiplication operations and 2 square operations, and the 2P operation requires 7 multiplication operations and 2 square operations.
[0062] So usually, 2P+Q requires 15 multiplication operations and 4 square operations. Considering that the square operation can be calculated with one multiplication operation, the usual 2P+Q requires a total of 19 multiplications.
[0063] The optimized point addition operation can be divided into two steps. The first step is to calculate P+Q (Qz=1), which requires 8 multiplication operations and 2 square operations, and the second step is R+P * ,Due to the special point addition operation characteristics of the same z coordinate, only 6 multiplication operations and 2 square operations are required, that is, 18 multiplications are required.
[0064] Compared with the usual algorithm, the optimized dot-doubling and point-adding operation reduces one multiplication, thereby improving the computational efficiency of calculating dot multiplication.
[0065] In one embodiment, the Z-related auxiliary coordinate components of the first coordinate point and the second coordinate point are the same, for example, Z 2 is equal to 1. Figure 2 A schematic diagram of the structure of the logical operation of an optional dot multiplication calculation method provided in an embodiment of the present application, such as Figure 2 As shown, the logical operation of the dot multiplication calculation method is performed.
[0066] The following is an example of the optimization point addition operation:
[0067] set up and is the elliptic curve E:y 2 =x 3 +ax+b (a=-3) with different Chudnovsky coordinates, where Qz=1, then 2P+Q=P+Q+P=R+P=R+P * =S(X3, Y3, Z3 2 ,Z3 3 ) can be obtained by the following formula:
[0068] U2=*ZZ1
[0069] S2= *ZZZ1
[0070] P= U2-X1
[0071] R= S2-Y1
[0072] PP=P*P
[0073] PPP=P*PP
[0074] X1PP=X1*PP
[0075] RR=R*R
[0076] x2=RR-PPP-2*X1PP)%p
[0077] QX=X1PP-x2
[0078] QRX=R*QX
[0079] Y1PPP=*PPP
[0080] y2=QRX-Y1PPP
[0081] ZZ2=ZZ1*PP
[0082] ZZZ2=ZZZ1*PPP
[0083] The above calculation completes R=P+Q, where the coordinates of R are (x2, y2, ZZ2, ZZZ2).
[0084] w=y2-Y1PPP
[0085] w2= w**2
[0086] m= x2-X1PP
[0087] m2= m**2
[0088] m3= m2*m
[0089] v= X1PP*m2
[0090] X2=w2-m3-2*v
[0091] Y2=w*(v-newx)-Y1PPP*m3)%p
[0092]
[0093] After the whole calculation, the output is S=2P+Q, where the coordinates of S are S(X3, Y3, Z3 2 ,Z3 3 ).
[0094] It should be noted that the above-mentioned operation steps are conventional point addition operations known to those skilled in the art, and thus are not described in detail in this embodiment.
[0095] In summary, compared with the traditional method of directly performing point doubling and point addition, the optimized point addition method reduces the amount of multiplication in the calculation process. In elliptic curve cryptography, multiplication is usually a high-cost operation. Reducing its amount of calculation can significantly improve the overall computing efficiency in scenarios involving point doubling and point addition, thereby improving the performance of the entire elliptic curve cryptography system, so that in practical applications, such as digital signatures, key exchange and other scenarios, related computing tasks can be completed faster, improving the system's response speed and security.
[0096] According to another aspect of an embodiment of the present application, a monitoring device for implementing the high-speed operation processing method of the above-mentioned elliptic curve cryptographic algorithm is also provided. Figure 3 is a schematic diagram of a high-speed computing device for an optional elliptic curve cryptographic algorithm according to an embodiment of the present application, such as Figure 3 As shown, the device may include:
[0097] The processing unit 302 obtains a first coordinate point and a second coordinate point of the elliptic curve to be calculated in the arithmetic logic unit in the Chudnovsky projective coordinate system, where the second coordinate point is a point with a normalized characteristic.
[0098] The optimization operation unit 304 determines whether the point multiplication operation of the elliptic curve to be calculated includes a point doubling and then point addition operation, and if the point doubling and then point addition operation exists, converts the point doubling and then point addition operation into an optimization point addition operation; the optimization point addition operation includes a first point addition operation and a second point addition operation;
[0099] The calculation unit 306 is used to perform an optimized point addition operation based on the first coordinate point and the second coordinate point to complete the point multiplication calculation.
[0100] It should be noted that the processing unit 302 in this embodiment can be used to execute the above step S101, the optimization operation unit 304 in this embodiment can be used to execute the above step S102, and the calculation unit 306 in this embodiment can be used to execute the above step S103.
[0101] Through the above module, the first coordinate point and the second coordinate point of the elliptic curve to be calculated in the Chudnovsky projective coordinate system are obtained, and the second coordinate point is a point with normalized characteristics; it is determined whether the point multiplication operation of the elliptic curve to be calculated has a point doubling and then point addition operation, and if there is a point doubling and then point addition operation, the point doubling and then point addition operation is converted into an optimized point addition operation; the optimized point addition operation is an operation based on the point addition operation formula in the Chudnovsky projective coordinate system; the optimized point addition operation is performed based on the first coordinate point and the second coordinate point to complete the point multiplication calculation. The present application introduces the Chudnovsky projective coordinate system, and performs a special simplification on the point addition operation formula based on the Chudnovsky projective coordinate system, which can simplify the formula of the point addition operation in the projective coordinate system and reduce temporary variables in the process, thereby realizing the underlying software and hardware optimization of the integer point multiplication algorithm on the encryption and decryption device that implements the elliptic curve point multiplication algorithm, and reducing the time-space cost.
[0102] It should be noted here that the examples and scenarios implemented by the above-mentioned modules and corresponding steps are the same, but are not limited to the contents disclosed in the above-mentioned embodiments. It should be noted that the above-mentioned modules as part of the device can run in a hardware environment and can be implemented by software or hardware, wherein the hardware environment includes a network environment.
[0103] According to another aspect of the embodiment of the present application, a storage medium is also provided. Optionally, in this embodiment, the storage medium can be used to execute the program code of any of the high-speed operation processing methods of the elliptic curve cryptographic algorithm in the embodiment of the present application.
[0104] Optionally, in this embodiment, the storage medium is configured to store program codes for executing the following steps:
[0105] S1, obtaining a first coordinate point and a second coordinate point of an elliptic curve to be calculated in an arithmetic logic unit in a Chudnovsky projective coordinate system, wherein the second coordinate point is a point having a normalized characteristic;
[0106] S2, determining whether the point multiplication operation of the elliptic curve to be calculated includes a point doubling followed by a point addition operation, and if so, converting the point doubling followed by a point addition operation into an optimized point addition operation; the optimized point addition operation includes a first point addition operation and a second point addition operation;
[0107] S3, performing an optimized point addition operation based on the first coordinate point and the second coordinate point to complete the point multiplication calculation.
[0108] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, which will not be described in detail in this embodiment.
[0109] Among them, computer-readable storage media may include, but are not limited to, any type of disk, including floppy disks, optical disks, DVDs, CD-ROMs, microdrives and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of medium or device suitable for storing instructions and / or data.
[0110] According to another aspect of the embodiment of the present application, an electronic device for implementing the capture method of the high-speed operation processing method of the above-mentioned elliptic curve cryptographic algorithm is also provided. The electronic device can be a server, a terminal, or a combination thereof.
[0111] Figure 4 is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present application, such as Figure 4 As shown, it includes a processor 402, a communication interface 404, a memory 406 and a communication bus 408, wherein the processor 402, the communication interface 404, and the memory 406 communicate with each other through the communication bus 408, wherein:
[0112] Memory 406, used to store computer programs;
[0113] The processor 402 is used to implement the following steps when executing the computer program stored in the memory 406:
[0114] S1, obtaining a first coordinate point and a second coordinate point of an elliptic curve to be calculated in an arithmetic logic unit in a Chudnovsky projective coordinate system, wherein the second coordinate point is a point having a normalized characteristic;
[0115] S2, determining whether the point multiplication operation of the elliptic curve to be calculated includes a point doubling followed by a point addition operation, and if so, converting the point doubling followed by a point addition operation into an optimized point addition operation; the optimized point addition operation includes a first point addition operation and a second point addition operation;
[0116] S3, performing an optimized point addition operation based on the first coordinate point and the second coordinate point to complete the point multiplication calculation.
[0117] Optionally, the communication bus may be a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 4 The communication interface is used for communication between the electronic device and other devices.
[0118] The memory may include RAM, or may include nonvolatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0119] As an example, the memory 406 may include, but is not limited to, the processing unit 302, the optimization operation unit 304, and the calculation unit 306 in the high-speed operation processing device of the elliptic curve cryptographic algorithm. In addition, other module units in the high-speed operation processing device of the elliptic curve cryptographic algorithm may also be included but are not limited to, which will not be repeated in this example.
[0120] The above-mentioned processor can be a general-purpose processor, which can include but not be limited to: CPU (Central Processing Unit), NP (Network Processor), etc.; it can also be DSP (Digital Signal Processing), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programmable Gate Array) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0121] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment will not be described in detail here.
[0122] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0123] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0124] In the several embodiments provided in the present application, it should be understood that the disclosed devices can be implemented in other ways. For example, the device embodiments described above are only schematic, such as the division of the units, which is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some service interfaces, and the indirect coupling or communication connection of devices or units can be electrical or other forms.
[0125] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0126] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0127] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable memory. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a memory, including a number of instructions to enable a computer device (which can be a personal computer, server or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned memory includes: U disk, read-only memory (ROM), random access memory (RAM), mobile hard disk, disk or optical disk and other media that can store program code.
[0128] A person of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable memory, which can include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0129] The above is only an exemplary embodiment of the present disclosure, and the scope of the present disclosure cannot be limited thereto. That is, any equivalent changes and modifications made according to the teachings of the present disclosure are still within the scope of the present disclosure. After considering the specification and practicing the disclosure here, those skilled in the art will easily think of the implementation scheme of the present disclosure. This application is intended to cover any modification, use or adaptation of the present disclosure, which follows the general principles of the present disclosure and includes common knowledge or customary technical means in the technical field not recorded in the present disclosure. The description and examples are regarded as exemplary only, and the scope and spirit of the present disclosure are defined by the claims.
[0130] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0131] It will be easily understood by those skilled in the art that the above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A high-speed operation processing method for an elliptic curve cryptographic algorithm, applied to an elliptic curve cryptographic system, characterized in that: include: Obtaining a first coordinate point and a second coordinate point of an elliptic curve to be calculated in an arithmetic logic unit in a Chudnovsky projective coordinate system, wherein the second coordinate point is a point having a normalized characteristic; Determine whether there is a point doubling and then point addition operation in the point multiplication operation of the elliptic curve to be calculated, and if there is a point doubling and then point addition operation, convert the point doubling and then point addition operation into an optimized point addition operation; the optimized point addition operation includes a first point addition operation and a second point addition operation; An optimized point addition operation is performed based on the first coordinate point and the second coordinate point to complete the point multiplication calculation.
2. The high-speed computing method for the elliptic curve cryptographic algorithm according to claim 1, characterized in that: The step of performing an optimized point addition operation based on the first coordinate point and the second coordinate point to complete the point multiplication calculation includes: Performing the first point addition operation based on the first coordinate point and the second coordinate point to obtain a first operation result and a set of operation intermediate variables; Performing an algebraic transformation on the coordinate components of the first coordinate point based on the set of operation intermediate variables to obtain a target first coordinate point; A second point addition operation is performed based on the target intermediate amount and the target first coordinate point to obtain a second operation result, thereby completing the dot multiplication calculation.
3. The high-speed computing method for the elliptic curve cryptographic algorithm according to claim 2, characterized in that: The algebraic transformation is an operational transformation that replaces the coordinate components based on the Z-related auxiliary coordinate components using the point addition formula of the Chudnovsky projective coordinate system.
4. The high-speed operation processing method of the elliptic curve cryptographic algorithm according to claims 1-3, characterized in that: The Z-related auxiliary coordinate components of the first coordinate point and the second coordinate point are the same.
5. The high-speed computing method for the elliptic curve cryptographic algorithm according to claim 4, characterized in that: The Z-related auxiliary coordinate component of the first coordinate point and the second coordinate point is 1.
6. A high-speed computing device for elliptic curve cryptographic algorithm, characterized in that: include: A processing unit, used to obtain a first coordinate point and a second coordinate point of the elliptic curve to be calculated in the arithmetic logic unit in a Chudnovsky projective coordinate system, wherein the second coordinate point is a point with a normalized characteristic; An optimization operation unit is used to determine whether the point multiplication operation of the elliptic curve to be calculated includes a point doubling and then point addition operation, and if the point doubling and then point addition operation exists, convert the point doubling and then point addition operation into an optimization point addition operation; the optimization point addition operation includes a first point addition operation and a second point addition operation; A calculation unit is used to perform an optimized point addition operation based on the first coordinate point and the second coordinate point to complete a point multiplication calculation.
7. An electronic device, characterized in that: The method comprises at least one processing unit and at least one storage unit, wherein the storage unit stores a computer program, and when the computer program is executed by the processing unit, the processing unit executes the steps of the method according to any one of claims 1 to 5.
8. A storage medium, characterized in that: It stores a computer program, which, when executed by a processing unit, implements the steps of the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Realizing method of elliptic curve cryptography arithmetic device in authentication system
CN102131198A
SM2 elliptic curve signature dot product encryption method under binary field F2m
CN108650087A
Hardware rapid implementation method for point multiplication operation in prime number field
CN115001691A
Anti-SPA attack high-performance ECDSA system point multiplication calculation method and point multiplication architecture
CN117240431A
Reliable elliptic curve cryptography computation
US20060045262A1