GPU parallel acceleration method and system oriented to UOV signature key generation

By introducing a GPU parallel acceleration method into the UOV signature scheme, the performance bottleneck in the key generation stage is solved by leveraging the parallel computing capabilities of GPUs and optimizing matrix storage, thereby improving the efficiency of key generation.

CN121727718APending Publication Date: 2026-03-24HENAN UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-12
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

Existing UOV signature schemes suffer from performance bottlenecks in the key generation stage. Traditional CPU implementations cannot effectively handle large-scale matrix operations and pseudo-random number generation tasks, resulting in low efficiency.

Method used

The GPU parallel acceleration method is adopted. By allocating the computational tasks of the key generation stage to the GPU for parallel processing, the massive parallel computing capabilities of the GPU are utilized. Combined with pseudo-random number generator and triangular matrix storage optimization, CPU-GPU collaborative work is achieved.

Benefits of technology

It improves the efficiency of key generation in the UOV signature scheme, solves the computational bottleneck in the key generation stage, achieves overall acceleration, and enhances computational performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121727718A_ABST
    Figure CN121727718A_ABST
Patent Text Reader

Abstract

The invention provides a GPU parallel acceleration method and system oriented to UOV signature key generation. The method comprises the following steps: determining parameters of a UOV signature scheme on a finite field, and generating an initial random seed at a CPU end; the CPU expands the private key seed into an oil variable space through a Hash expansion algorithm, and converts the public key seed into a plurality of round keys through an AES round key expansion algorithm; inputting the plurality of round keys to a GPU, and generating a first initial partial matrix and a second initial partial matrix of a public key in parallel through a pseudo-random number generator by using a parallel architecture of the GPU; transmitting a finite field multiplication table pre-generated by the CPU to a constant memory of the GPU, so that the GPU calculates an intermediate matrix; and calculating a third initial part matrix based on the first initial part matrix and the second initial part matrix at the CPU end, combining the first initial part matrix, the second initial part matrix and the third initial part matrix to form a final public key, and combining the intermediate matrix and the private key seed to form a final private key.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of post-quantum cryptography, and in particular to a GPU parallel acceleration method and system for UOV signature key generation. Background Technology

[0002] With the rapid development of quantum computing technology, traditional public-key cryptosystems (such as RSA and ECC algorithms based on large integer factorization and discrete logarithm problems) face a serious threat of being broken by quantum computers. Post-quantum cryptography aims to design novel cryptographic algorithms that can resist quantum computing attacks. Multivariate public-key cryptography is one of the important branches of post-quantum cryptography, and its security is based on the difficulty of solving multivariate quadratic equations over finite fields, which is an NP-hard problem.

[0003] The unbalanced oil-vinegar Uniform Origin (UOV) signature scheme is a significant representative of multivariate cryptosystems, proposed by Kipnis et al. in 1999. UOV constructs a central mapping by separating oil and vinegar variables, utilizing a special mathematical structure that allows legitimate users to efficiently generate signatures, while attackers need to solve complex nonlinear equations. UOV has become an important candidate signature scheme in the post-NIST quantum cryptography standardization process.

[0004] Currently, optimization research on the UOV signature scheme mainly focuses on the signature generation and verification stages. For example, Kyung-Ah Shim et al. optimized the solution of the linear equations in the signature stage by inverting the block matrix, achieving a 34% speedup. However, these optimizations have not solved the performance bottleneck problem in the key generation stage.

[0005] According to the UOV algorithm specification and related research, the key generation stage accounts for more than 90% of the computation time in the entire UOV signature process, becoming the main performance bottleneck restricting its practical application. Traditional CPU implementations cannot effectively handle the large-scale matrix operations and pseudo-random number generation tasks in the key generation stage. Summary of the Invention

[0006] To address the inefficiency of existing UOV signature methods during the key generation stage, this invention proposes a GPU parallel acceleration method and system for UOV signature key generation. By introducing large-scale parallel computing on GPUs during the key generation stage, the efficiency of UOV signature scheme key generation is improved.

[0007] In a first aspect, the present invention provides a GPU parallel acceleration method for UOV signature key generation, comprising: Step 1: In a finite field The parameters of the UOV signature scheme are determined on the CPU, and an initial random seed is generated on the CPU side; wherein the parameters of the UOV signature scheme include the total number of variables. Oil Variables And number of vinegar variables The initial random seed includes a private key seed and a public key seed. Step 2: The CPU expands the private key seed into a variable space using a hash expansion algorithm, and converts the public key seed into multiple round keys using the AES round key expansion algorithm; Step 3: Input the multiple round keys into the GPU, and use the GPU's parallel architecture to generate the first initial part matrix and the second initial part matrix of the public key in parallel through a pseudo-random number generator; Step 4: Transfer the finite field multiplication table pre-generated by the CPU to the constant memory of the GPU, so that the GPU can calculate the intermediate matrix based on the first initial partial matrix, the second initial partial matrix, and the oil space matrix according to the finite field multiplication table; Step 5: On the CPU side, calculate the third initial matrix based on the first initial partial matrix and the second initial partial matrix, and combine the first initial partial matrix, the second initial partial matrix and the third initial partial matrix to form the final public key. At the same time, combine the intermediate matrix and the private key seed to form the final private key.

[0008] Further, in step 2, the parallel generation of the first and second initial partial matrices of the public key using a pseudo-random number generator via a GPU parallel architecture specifically includes: The GPU uses AES-CTR counter mode to generate a stream of random numbers to generate the first and second initial partial matrices.

[0009] Furthermore, the formula for calculating the intermediate matrix is ​​as follows: in, Represents the middle matrix element. The first element of the initial matrix represents the first... row element, The oil space is represented by oil variable coefficients and an identity matrix. The element representing the second initial matrix is ​​the first... Row element.

[0010] Furthermore, in step 3, the intermediate matrix is ​​calculated as follows: an independent GPU thread block is allocated for each element of the intermediate matrix, batch triangular matrix multiplication and addition operations are performed in parallel through the GPU thread block, and the calculation results of each GPU thread block are stored.

[0011] Furthermore, the batch triangular matrix multiplication and addition operation includes standard multiplication and addition operation and transpose multiplication and addition operation; Correspondingly, the parallel execution of batch triangular matrix multiplication and addition operations via GPU thread blocks specifically includes: Use the second initial matrix as the first intermediate matrix; Based on the first intermediate matrix, the first partial initial matrix, and the oil space, the standard multiply-add operation is performed to obtain the second intermediate matrix; The transpose-multiply-add operation is performed based on the second intermediate matrix, the first partial initial matrix, and the oil space to obtain the intermediate matrix.

[0012] Furthermore, the formula for calculating the third initial matrix is ​​as follows: in, This indicates deterministic and polynomial-time computation, with determinism meaning that the same input yields the same output; The oil space is represented by the oil variable coefficients and the identity matrix. The third part of the initial matrix represents the first... row element, The first part of the initial matrix represents the first... row element, The second part of the initial matrix represents the first... Row element.

[0013] Furthermore, when calculating the third initial matrix, the second intermediate matrix stored in the GPU is used for the calculation.

[0014] Furthermore, the final private key formula is as follows: in, This represents the final private key. Indicates the private key seed. This represents the oil space, which consists of oil variable coefficients and an identity matrix.

[0015] Furthermore, the GPU uses a triangular matrix to store data and configures a 64-byte local buffer for each GPU thread.

[0016] Secondly, the present invention provides a GPU parallel acceleration system for UOV signature key generation, comprising: Parameter initialization module, used in finite fields The parameters of the UOV signature scheme are determined on the CPU, and an initial random seed is generated on the CPU side; wherein the parameters of the UOV signature scheme include the total number of variables. Oil Variables And number of vinegar variables The initial random seed includes a private key seed and a public key seed. An initial random seed preprocessing module is used by the CPU to expand the private key seed into a variable space using a hash expansion algorithm, and to convert the public key seed into multiple round keys using the AES round key expansion algorithm; A public key matrix parallel generation module is used to input the multiple round keys into the GPU and use the GPU's parallel architecture to generate the first initial part matrix and the second initial part matrix of the public key in parallel through a pseudo-random number generator. A matrix operation parallel acceleration module is used to transfer a finite field multiplication table pre-generated by the CPU to the constant memory of the GPU, so that the GPU can calculate the intermediate matrix based on the first initial partial matrix, the second initial partial matrix and the oil space matrix according to the finite field multiplication table; The key synthesis module is used to calculate a third initial matrix on the CPU based on the first initial partial matrix and the second initial partial matrix, and combine the first initial partial matrix, the second initial partial matrix and the third initial partial matrix to form the final public key. At the same time, the intermediate matrix and the private key seed are combined to form the final private key.

[0017] The beneficial effects of this invention are as follows: This invention introduces massively parallel computing on GPUs into the key generation stage of the UOV signature algorithm, achieving a paradigm shift from serial to parallel computing and improving the efficiency of key generation in the UOV scheme. This invention proposes a triangular matrix compression storage method for specific matrices in the UOV algorithm, reducing memory usage, lowering memory access latency, and avoiding the bandwidth bottleneck of global memory, enabling the GPU's computing units to work continuously and efficiently. Placing the finite field multiplication table in constant GPU memory and utilizing its high-speed caching mechanism to serve all threads solves the performance degradation problem that may occur when randomly accessing the lookup table, which is a key step in improving the efficiency of finite field operations.

[0018] The CPU-GPU collaborative framework constructed in this invention is not a simple task offloading, but an intelligent task partitioning based on computing characteristics. This framework allocates highly parallel tasks (matrix multiplication and addition, PRNG) to the GPU, and reserves tasks with strong seriality or low parallel benefits to the CPU. It also minimizes communication overhead by optimizing PCIe data transmission, thereby maximizing the overall system efficiency. Attached Figure Description

[0019] Figure 1 A flowchart illustrating a GUP parallel acceleration method for UOV signature key generation provided in an embodiment of the present invention; Figure 2 This is a data interaction diagram illustrating a GUP parallel acceleration method for UOV signature key generation provided in an embodiment of the present invention. Figure 3 This is a schematic diagram of the structure of a GUP parallel acceleration system for UOV signature key generation, provided in an embodiment of the present invention. Detailed Implementation

[0020] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of the embodiments of this invention will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0021] To facilitate understanding of this invention, the UOV algorithm will first be introduced. The UOV algorithm consists of three stages: key generation, signature generation, and signature verification.

[0022] Key generation: The system randomly selects the key. A polynomial of oil and vinegar is used to form the central mapping. The variables are divided into One vinegar variable and There are several oil variables. Each polynomial follows the following form: in, This indicates that there are k polynomials. This indicates that there are n variables, where Represents the vinegar variable. Indicates oil variable, Represents a constant.

[0023] An invertible linear transformation Hidden The structure generates a common polynomial. The secret key contains The public key is .

[0024] Signature generation: In order to sign a message, the system hashes the message to obtain a target vector. Then, by randomly selecting variables, a preimage is found until the linear system is solvable. satisfy .sign Calculated as .

[0025] Signature verification: Verification calculates the hash value of the message. And apply the public key polynomial to the signature: .when When the signature is valid, its authenticity can be verified using only the public key.

[0026] like Figure 1 and Figure 2 As shown in the figure, an embodiment of the present invention provides a GPU parallel acceleration method for UOV signature key generation, comprising: S1: In a finite field The parameters of the UOV signature scheme are determined on the CPU, and an initial random seed is generated on the CPU side; the parameters of the UOV signature scheme include the total number of variables. Oil Variables And number of vinegar variables The initial random seed includes a private key seed and a public key seed. S2: The CPU expands the private key seed into a variable space using a hash expansion algorithm, and uses the AES round key expansion algorithm to convert the public key seed into multiple round keys; S3: Input multiple round keys into the GPU, and use the GPU's parallel architecture to generate the first and second initial part matrices of the public key in parallel through a pseudo-random number generator; S4: Transfer the finite field multiplication table pre-generated by the CPU to the constant memory of the GPU so that the GPU can calculate the intermediate matrix based on the first initial part matrix, the second initial part matrix, and the oil space matrix according to the finite field multiplication table.

[0027] Specifically, the formula for calculating the intermediate matrix is ​​as follows: in, Represents the middle matrix element. Represents the first initial matrix element. The oil space is represented by oil variable coefficients and an identity matrix. Represents the elements of the second initial matrix; The public key consists of m multivariate quadratic polynomials, each polynomial corresponding to a matrix P, which describes the coefficients of the quadratic terms of the polynomial.

[0028] S5: On the CPU side, calculate the third initial matrix based on the first and second initial matrix parts, and combine the first, second, and third initial matrix parts to form the final public key. At the same time, combine the intermediate matrix and the private key seed to form the final private key.

[0029] Specifically, the formula for calculating the initial matrix in the third part is as follows: in, This indicates deterministic and polynomial-time computation, with determinism meaning that the same input yields the same output; The oil space is represented by the oil variable coefficients and the identity matrix. The third part of the initial matrix represents the first... row element, The first part of the initial matrix represents the first... row element, The second part of the initial matrix represents the first... Row element.

[0030] The final private key formula is as follows: in, This represents the final private key. Indicates the private key seed. This represents the oil space, which consists of oil variable coefficients and an identity matrix.

[0031] The method provided in this embodiment of the invention is in a finite field Internal implementation. Each field element is stored as a single byte representing its coefficient array, where the most significant bit corresponds to... All operations use irreducible polynomials for modular arithmetic, thus enabling addition and multiplication of 8-bit binary polynomials within a finite field structure.

[0032] Based on the above embodiments, this invention provides a method for generating a first initial partial matrix and a second initial partial matrix, specifically including: the GPU using an AES-CTR counter mode to generate a random number stream to generate the first initial partial matrix and the second initial partial matrix.

[0033] Based on the above embodiments, this embodiment of the invention provides a method for calculating the intermediate matrix: batch triangular matrix multiplication and addition operations are performed in parallel by GPU thread blocks, and an independent GPU thread block is allocated for the calculation of each element of the intermediate matrix.

[0034] Batch triangular matrix multiplication and addition operations include standard multiplication and addition operations and transpose multiplication and addition operations; correspondingly, Specifically, performing batch triangular matrix multiplication and addition operations in parallel using GPU thread blocks includes: Use the second initial matrix as the first intermediate matrix; Based on the first intermediate matrix, the first partial initial matrix, and the oil space, the standard multiply-add operation is performed to obtain the second intermediate matrix; Based on the second intermediate matrix, the first partial initial matrix, and the oil space, the transpose multiplication-addition operation is performed to obtain the intermediate matrix. The standard multiplication-addition calculation formula is as follows: in, The first part of the initial matrix represents the... Line 1 Column elements, Indicates the oil space. Line 1 Column elements, Index representing the number of vinegar variables, An index representing the quantity of oil variables.

[0035] The formula for transpose multiplication and addition is as follows: .

[0036] Furthermore, when calculating the initial matrix of the third part, the second intermediate matrix stored in the GPU is used for calculation.

[0037] Building upon the above embodiments, this invention provides an optimization scheme for GPU architecture. Specifically, it includes a highly efficient parallelized pseudo-random number generator: to address the performance bottleneck of PRNGs in key generation, this invention implements an AES-CTR algorithm as the core, utilizing parallel processing capabilities. In this embodiment, a 16-byte thread processing granularity is set to conform to the AES standard block size, and a 64-byte thread-local buffer is introduced, enabling each thread to process four consecutive counter blocks simultaneously.

[0038] This embodiment significantly improves the throughput of random number generation, while reducing PRNG latency and enhancing the parallelism of key generation. Specific operations include: Define constants and perform initialization operations; By checking the pre-generated random data available in the context cache and prioritizing the use of this data, cached data priority processing is implemented to avoid redundant calculations and improve efficiency. Prepare GPU resources. When the amount of data reaches the GPU processing threshold, calculate the required data blocks, allocate GPU memory space, transmit key data, and configure CUDA execution parameters. This forms the core of GPU parallel computing, where each GPU thread independently processes a 64-byte data block and generates four consecutive 16-byte encrypted blocks through AES-CTR mode, achieving highly parallel random number generation. Handle GPU resource cleanup and status updates by returning computation results to host memory, releasing GPU resources, and updating the global counter and output pointer status. Manage CPU processing of remaining data below the GPU threshold, utilizing CPU version AES-CTR mode to avoid GPU startup overhead and ensure efficient resource utilization.

[0039] Based on the above embodiments, this invention provides GPU-parallelized matrix multiplication operations: To address the bottleneck of large-scale matrix operations in UOV key generation, this invention employs a GPU parallel architecture, allocating each matrix multiplication element to an independent thread. This implementation uses a triangular matrix storage format to optimize memory utilization, eliminate redundant storage, and reduce memory consumption by approximately 50%. Specifically, it includes: GPU memory initialization is performed, and a parallel execution configuration is established by creating a two-dimensional grid structure, where the x-dimensional dimension corresponds to matrix columns and the y-dimensional dimension corresponds to matrix rows. Each thread block uses 256 threads and shared memory optimization is enabled to reduce global memory access latency and fully utilize the GPU's parallel computing capabilities; each GPU thread calculates the coordinates of its assigned matrix elements based on its grid position. ,in Indicates the row index of the output matrix. This represents the column index; after the shared memory is initialized to prepare for computation, the core computation loop of the triangular matrix is ​​formed, which traverses the triangular matrix. For all non-zero elements in the row, calculate the storage offset of the corresponding element, and perform a finite field operation on each k value. The algorithm performs multiplication and XOR addition operations; it adds the temporary calculation results to the corresponding positions in the output matrix to update the results; and finally performs necessary resource cleanup operations.

[0040] The following experiments are conducted to verify the effectiveness of the method provided in the embodiments of the present invention.

[0041] 1. Experimental setup This invention evaluates the performance improvement effect of GPU acceleration technology on the UOV key generation algorithm. The evaluation focuses on core computational steps, especially the pseudo-random number generator (PRNG) and matrix multiplication operations. Experiments are conducted to compare and analyze the performance of traditional CPU implementation methods.

[0042] The experimental parameters were configured in accordance with the three security levels required by the NIST post-quantum cryptography standardization project: NIST Security Level 1: Parameters are set to n=112 and m=44.

[0043] NIST Security Level 3: Parameters are set to n=184 and m=72.

[0044] NIST security level 5: parameters are set to n=244 and m=96.

[0045] By configuring these three parameters with different security levels, the performance of GPU acceleration under different computational complexities can be comprehensively evaluated.

[0046] 2. Experimental Environment The experimental platform configuration includes an Intel Core i5-10500 CPU running at 3.10GHz with 12 cores and 24 threads, and 15GB of system memory. The GPU is an NVIDIA RTX 3060 with 12GB of dedicated video memory, 3584 CUDA cores, and compute capability version 8.6. This hardware configuration provides the necessary computing resources for a comprehensive performance comparison of the CPU and GPU implementations of the UOV signature scheme.

[0047] 3. Comparative Experiment This invention presents a comparative analysis of GPU-accelerated and CPU-based UOV signature schemes, focusing on the improvement in key generation performance. The experiments used the same UOV parameter set, and the average time consumption of a single key generation was used as the main indicator to quantify the benefits of GPU parallelization. The performance of the algorithm under heterogeneous computing architectures was verified through two experimental groups (100 iterations (as shown in Table 1) and 1000 iterations (as shown in Table 2)).

[0048] Table 1. Performance comparison of CPU and GPU in UOV key generation (100 iterations) Table 2 Performance Comparison of CPU and GPU in UOV Key Generation (1000 Iterations) Compared to the CPU implementation, GPU acceleration achieved speedup ratios of 1.39× to 1.64×, with the Tier 3 configuration UOV(256,184,72) showing the best performance in the 100-iteration test, achieving a speedup of 1.64×, and reaching 1.59× in the 1000-iteration test. Tier 1 and Tier 5 configurations achieved speedups of approximately 1.45× and 1.60×, respectively. The consistent results between the 100-iteration and 1000-iteration groups validate the stability and reliability of GPU acceleration.

[0049] During key generation, three functions consume the majority of the processing time. The first function generates pseudo-random numbers (PRNGs) to produce... and The other two functions perform batch matrix multiplication and addition operations, distinguished by specific operations: one performs lower triangular matrix multiplication. Another operation performs the transpose multiplication of the lower triangular matrix. The detailed results are shown in Table 3.

[0050] Table 3. Time Consumption of 100 Key Generations - Function-Level Performance Analysis PRNG random number generation achieves a significant speedup, reaching 9.88x speedup, reducing execution time from 2.005 milliseconds to 0.203 milliseconds, and demonstrating good compatibility with GPU parallel processing architectures.

[0051] Matrix operations exhibit different optimization results. Standard lower triangular matrix multiplication. A 1.51x speedup was achieved, reducing execution time from 2.332 milliseconds on the CPU to 1.539 milliseconds on the GPU. Matrix transpose multiplication. Maintaining a 1.83x speedup, execution time was reduced from 2.313 ms to 1.263 ms. These batch matrix multiplication and addition operations resulted in an overall speedup of 2.34x.

[0052] In summary, this invention proposes and implements a GPU parallelization scheme suitable for the UOV post-quantum digital signature algorithm, focusing on solving the computational efficiency bottleneck in the key generation stage. Through in-depth analysis of the computational characteristics of the UOV algorithm and the advantages of the GPU architecture, a targeted parallel optimization strategy was successfully designed, achieving a 2.34x speedup in the core matrix multiplication operation and a 9.88x performance improvement in the parallelization of the pseudo-random number generator in AES-CTR mode. Finally, an overall speedup of 1.64x was achieved in the key generation stage.

[0053] like Figure 3 As shown, this embodiment of the invention also provides a GPU parallel acceleration system for UOV signature key generation, comprising: Parameter initialization module, used in finite fields The parameters of the UOV signature scheme are determined on the CPU, and an initial random seed is generated on the CPU side; the parameters of the UOV signature scheme include the total number of variables. Oil Variables And number of vinegar variables The initial random seed includes a private key seed and a public key seed. The initial random seed preprocessing module is used by the CPU to expand the private key seed into a variable space using a hash expansion algorithm, and to convert the public key seed into multiple round keys using the AES round key expansion algorithm; The public key matrix parallel generation module is used to input multiple round keys into the GPU and utilize the GPU's parallel architecture to generate the first and second initial part matrices of the public key in parallel through a pseudo-random number generator. The matrix operation parallel acceleration module is used to transfer the finite field multiplication table pre-generated by the CPU to the constant memory of the GPU, so that the GPU can calculate the intermediate matrix based on the first initial partial matrix, the second initial partial matrix and the oil space matrix according to the finite field multiplication table; The key synthesis module is used to calculate the third initial matrix on the CPU based on the first initial matrix and the second initial matrix, and to combine the first initial matrix, the second initial matrix and the third initial matrix to form the final public key. At the same time, it combines the intermediate matrix and the private key seed to form the final private key.

[0054] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A GPU parallel acceleration method for UOV signature key generation, characterized in that, include: Step 1: In a finite field The parameters of the UOV signature scheme are determined on the CPU, and an initial random seed is generated on the CPU side; wherein the parameters of the UOV signature scheme include the total number of variables. Oil Variables And number of vinegar variables The initial random seed includes a private key seed and a public key seed. Step 2: The CPU expands the private key seed into a variable space using a hash expansion algorithm, and converts the public key seed into multiple round keys using the AES round key expansion algorithm; Step 3: Input the multiple round keys into the GPU, and use the GPU's parallel architecture to generate the first initial part matrix and the second initial part matrix of the public key in parallel through a pseudo-random number generator; Step 4: Transfer the finite field multiplication table pre-generated by the CPU to the constant memory of the GPU, so that the GPU can calculate the intermediate matrix based on the first initial partial matrix, the second initial partial matrix, and the oil space matrix according to the finite field multiplication table; Step 5: On the CPU side, calculate the third initial matrix based on the first initial partial matrix and the second initial partial matrix, and combine the first initial partial matrix, the second initial partial matrix and the third initial partial matrix to form the final public key. At the same time, combine the intermediate matrix and the private key seed to form the final private key.

2. The GPU parallel acceleration method for UOV signature key generation according to claim 1, characterized in that, Step 2, which utilizes the parallel architecture of the GPU to generate the first and second initial partial matrices of the public key in parallel using a pseudo-random number generator, specifically includes: The GPU uses AES-CTR counter mode to generate a stream of random numbers to generate the first and second initial partial matrices.

3. The GPU parallel acceleration method for UOV signature key generation according to claim 1, characterized in that, The formula for calculating the intermediate matrix is ​​as follows: in, Represents the middle matrix element. The first element of the initial matrix represents the first... row element, The oil space is represented by oil variable coefficients and an identity matrix. The element representing the second initial matrix is ​​the first... Row element.

4. The GPU parallel acceleration method for UOV signature key generation according to claim 3, characterized in that, In step 3, the intermediate matrix is ​​calculated as follows: an independent GPU thread block is allocated for each element of the intermediate matrix, batch triangular matrix multiplication and addition operations are performed in parallel through the GPU thread block, and the calculation results of each GPU thread block are stored.

5. A GPU parallel acceleration method for UOV signature key generation according to claim 4, characterized in that, The batch triangular matrix multiplication and addition operations include standard multiplication and addition operations and transpose multiplication and addition operations; Correspondingly, the parallel execution of batch triangular matrix multiplication and addition operations via GPU thread blocks specifically includes: Use the second initial matrix as the first intermediate matrix; Based on the first intermediate matrix, the first partial initial matrix, and the oil space, the standard multiply-add operation is performed to obtain the second intermediate matrix; The transpose-multiply-add operation is performed based on the second intermediate matrix, the first partial initial matrix, and the oil space to obtain the intermediate matrix.

6. The GPU parallel acceleration method for UOV signature key generation according to claim 5, characterized in that, The formula for calculating the initial matrix in the third part is as follows: in, This indicates deterministic and polynomial-time computation, with determinism meaning that the same input yields the same output; The oil space is represented by the oil variable coefficients and the identity matrix. The third part of the initial matrix represents the first... row element, The first part of the initial matrix represents the first... row element, The second part of the initial matrix represents the first... Row element.

7. A GPU parallel acceleration method for UOV signature key generation according to claim 6, characterized in that, When calculating the initial matrix of the third part, the calculation is performed using the second intermediate matrix stored in the GPU.

8. A GPU parallel acceleration method for UOV signature key generation according to claim 1, characterized in that, The final private key formula is as follows: in, This represents the final private key. Indicates the private key seed. This represents the oil space, which consists of oil variable coefficients and an identity matrix.

9. A GPU parallel acceleration method for UOV signature key generation according to claim 1, characterized in that, The GPU uses a triangular matrix to store data and configures a 64-byte local buffer for each GPU thread.

10. A GPU parallel acceleration system for UOV signature key generation, characterized in that, include: Parameter initialization module, used in finite fields The parameters of the UOV signature scheme are determined on the CPU, and an initial random seed is generated on the CPU side; wherein the parameters of the UOV signature scheme include the total number of variables. Oil Variables And number of vinegar variables The initial random seed includes a private key seed and a public key seed. An initial random seed preprocessing module is used by the CPU to expand the private key seed into a variable space using a hash expansion algorithm, and to convert the public key seed into multiple round keys using the AES round key expansion algorithm; A public key matrix parallel generation module is used to input the multiple round keys into the GPU and use the GPU's parallel architecture to generate the first initial part matrix and the second initial part matrix of the public key in parallel through a pseudo-random number generator. A matrix operation parallel acceleration module is used to transfer a finite field multiplication table pre-generated by the CPU to the constant memory of the GPU, so that the GPU can calculate the intermediate matrix based on the first initial partial matrix, the second initial partial matrix and the oil space matrix according to the finite field multiplication table; The key synthesis module is used to calculate a third initial matrix on the CPU based on the first initial partial matrix and the second initial partial matrix, and combine the first initial partial matrix, the second initial partial matrix and the third initial partial matrix to form the final public key. At the same time, the intermediate matrix and the private key seed are combined to form the final private key.