Quantum-resistant encryption method and system for core data of power system based on lattice cryptography
By decomposing power system data into orthogonal subspace components in lattice space and constructing public-private key pairs on the lattice, and combining multi-round lattice basis transformation with noise injection, the security problem of power system data in a quantum computing environment is solved, achieving efficient quantum-resistant encryption and data management.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-06
- Publication Date
- 2026-03-24
AI Technical Summary
Existing power system data encryption methods are not secure enough in a quantum computing environment, cannot effectively resist cryptanalysis attacks specifically targeting the characteristics of power systems, and ignore the inherent relationships between data blocks.
The core data of the power system is decomposed into multiple orthogonal subspace components in the lattice space. Each component corresponds to a data block and a unique block identifier is generated. Public-private key pairs are constructed using lattice hard problems. The data is encrypted through multiple rounds of lattice basis transformation and noise injection operations to form quantum-resistant ciphertext data in an encrypted state.
It achieves structured segmentation and feature preservation of power system data, improves the anti-attack capability and data management efficiency of the encryption system, has security against quantum computing attacks, and realizes adaptive adjustment of encryption strength, significantly improving the balance between encryption efficiency and security.
Smart Images

Figure CN121485936B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of power system information security, and particularly relates to a power system core data anti-quantum encryption method and system based on lattice cryptography. BACKGROUND
[0002] With the rapid development of smart grid and energy internet, the security of power system core data is facing unprecedented challenges. The power system core data includes power grid topology, load information, dispatching instructions and user power consumption data, and other key information, which is crucial to the safe and stable operation of the power system. Traditional data protection technologies mainly rely on RSA, ECC and other cryptographic algorithms based on number theory problems, but with the rapid development of quantum computing technology, especially the emergence of Shor algorithm, the security of these traditional cryptographic algorithms has been seriously threatened.
[0003] Existing power system data encryption methods are mostly based on classical cryptographic algorithms, and the security of these algorithms cannot be guaranteed in a quantum computing environment. In particular, widely used public key cryptographic algorithms such as RSA and ECC rely on the computational difficulty of integer factorization and discrete logarithm problems, which can be solved by Shor algorithm on a quantum computer in polynomial time, resulting in a fundamental vulnerability in the data protection mechanism. Existing encryption technologies do not adequately consider the structural characteristics of power system core data. Power system data often has high dimensionality, strong correlation and time dependence, and other characteristics. Traditional encryption methods usually use simple block encryption strategies, ignoring the internal relationships between data blocks, making the ciphertext data structure loose and difficult to effectively resist specialized cryptographic analysis attacks targeting the characteristics of the power system. SUMMARY
[0004] The embodiment of the present application provides a power system core data anti-quantum encryption method and system based on lattice cryptography, which can solve the problems in the prior art.
[0005] In a first aspect, the embodiment of the present application provides a power system core data anti-quantum encryption method based on lattice cryptography, comprising:
[0006] The power system core data is decomposed into a plurality of orthogonal subspace components in the lattice space, each orthogonal subspace component corresponds to a data block, and a unique block identifier is generated for each data block, and the basis vector characteristics of the orthogonal subspace component are embedded in the block identifier;
[0007] An algebraic structure based on a lattice hard problem is used to construct a public-private key pair, wherein a private key is generated by using a linear combination of lattice basis vectors and noise distribution, and a corresponding public key is generated by using a lattice point sampling algorithm, to obtain an anti-quantum key pair;
[0008] mapping, based on the public key in the anti-quantum key pair, a binary representation of the data block to an initial lattice point in a lattice space, performing state migration on the initial lattice point through a plurality of rounds of lattice basis transformation and noise injection operations, and recording a state evolution trajectory of the lattice point in each round of transformation, terminating the transformation when the state evolution trajectory satisfies a preset confusion degree criterion and marking an encryption state of the data block, to obtain a ciphertext lattice point with a state mark;
[0009] structurally assembling the ciphertext lattice point with the state mark and the block identifier, extracting an encryption process feature digest of each data block based on the state evolution trajectory during the assembling process, constructing a ciphertext correlation hash chain between the blocks using the encryption process feature digest, and forming an anti-quantum ciphertext data of the power system in the encryption state.
[0010] decomposing the power system core data into a plurality of orthogonal subspace components in a lattice space, each orthogonal subspace component corresponding to a data block, and generating a unique block identifier for each data block, including:
[0011] dividing a binary representation of the power system core data into a plurality of data segments according to a preset grouping length, converting each data segment into an integer vector, constructing an initial lattice basis matrix by taking the integer vector as a row vector, and obtaining an initial lattice basis representing the power system core data;
[0012] extracting source lattice basis vectors from the initial lattice basis matrix, adjusting the linear relationship between the source lattice basis vectors in each iteration through a Schmidt orthogonalization process, terminating the iteration when the inner product between all the source lattice basis vectors is zero, converting the initial lattice basis into a target lattice basis that is mutually orthogonal, and based on the vector group of the target lattice basis, spanning a plurality of mutually orthogonal subspaces, each subspace corresponding to an orthogonal subspace component;
[0013] for each orthogonal subspace component, extracting the modulus and vector dimension of the basis vector in the target lattice basis that constitutes the orthogonal subspace component as a basis vector feature, converting the basis vector feature into a fixed-length identifier code through hash mapping, and splicing the identifier code with the row index range of the orthogonal subspace component in the initial lattice basis matrix to form the block identifier.
[0014] constructing a public-private key pair based on the algebraic structure of the lattice hard problem, wherein the private key is generated by linear combination of lattice basis vectors and noise distribution, the corresponding public key is generated by lattice point sampling algorithm, and an anti-quantum key pair is obtained, including:
[0015] Calculate the length of each lattice vector in the target lattice basis, select a preset number of lattice vectors in descending order of length, and construct the selected lattice vectors as a key generation lattice basis. The lattice vectors in the key generation lattice basis are randomly weighted by a coefficient and superimposed with a noise vector following a discrete Gaussian distribution. The sum of the weighted lattice vectors and the noise vector is used as a private key vector.
[0016] Calculate the maximum length of the lattice vectors in the key generation lattice basis. Take the maximum length as the space radius. Generate all lattice points within the space radius by integer linear combination of the lattice vectors. Form a lattice point sampling space by collecting all lattice points. Set a public key sampling radius centered on the private key vector in the lattice point sampling space. Select multiple lattice points within the public key sampling radius by rejection sampling method. Perform matrix operations on the selected lattice point coordinates and the lattice vectors to generate a public key matrix.
[0017] Combine the private key vector and the public key matrix to form a quantum-resistant key pair. Record the dimension parameters of the key generation lattice basis and the distribution parameters of the noise vector as security parameters of the key pair.
[0018] Based on the public key in the quantum-resistant key pair, map the binary representation of the data block to an initial lattice point in the lattice space. Perform state migration on the initial lattice point through multiple rounds of lattice basis transformation and noise injection operations, including:
[0019] Convert the binary representation of the data block to a block vector. Perform matrix multiplication on the block vector and the public key matrix to obtain an intermediate vector. Take the minimum length of the lattice vectors in the key generation lattice basis as the lattice point mapping sampling radius.
[0020] Take the intermediate vector as the sampling center point. Select a lattice point within the lattice point mapping sampling radius as the initial lattice point position by discrete Gaussian sampling method. Calculate the Euclidean distance between the initial lattice point position and the intermediate vector as the initial offset. Bind the initial offset with the block identifier corresponding to the data block.
[0021] Calculate the bit entropy value of the coordinate components of the initial lattice point position in the lattice space. Determine the number of rounds of lattice basis transformation according to the bit entropy value. Generate a random transformation matrix in each round of lattice basis transformation operation. Calculate the matrix product of the key generation lattice basis and the random transformation matrix to obtain a transformed lattice basis. Adjust the variance parameter of the noise vector by extracting the orthogonality measure value of the lattice vectors in the transformed lattice basis. Perform linear transformation on the current round of lattice point coordinates using the transformed lattice basis to obtain transformed coordinates. Add the noise vector to the transformed coordinates to obtain superimposed coordinates, which are used as the lattice point coordinates of the next round. Complete the state migration of the initial lattice point.
[0022] Structurally assembling the ciphertext points with state markers and the block identifiers, and extracting an encryption process feature digest of each data block based on the state evolution trajectory during the assembling process comprises:
[0023] Hashing the random transformation matrix to obtain a transformation matrix hash value, extracting the variance parameter in each round of lattice transformation operation, serializing and arranging the transformation matrix hash value and the variance parameter in sequence according to the transformation round order, calculating a process digest value by digest calculation on the serialized and arranged data, calculating a hash value of the initial offset to obtain an offset hash value, and performing a bitwise XOR operation on the process digest value and the offset hash value to obtain an encryption process feature digest;
[0024] Assembling the block identifiers of the data blocks and the ciphertext points with state markers one by one according to the block order, embedding the encryption process feature digest into the corresponding assembly structure during the assembling process, and forming an assembly data unit;
[0025] Splicing the assembly data units corresponding to all data blocks according to the block order, calculating the spatial distance of the ciphertext point position between adjacent assembly data units as the inter-block correlation degree and binding it with the corresponding assembly data unit, and forming structured ciphertext data containing encryption information of all blocks.
[0026] Constructing a ciphertext correlation hash chain between blocks using the encryption process feature digest to form power system anti-quantum ciphertext data of the encrypted state comprises:
[0027] Extracting the encryption process feature digest of the first assembly data unit in the structured ciphertext data and the ciphertext point position, taking the encryption process feature digest as a hash chain initial value, splicing the hash chain initial value and the ciphertext point position and then performing a hash operation, binding the obtained chain node hash value with the first assembly data unit, repeating the operation until all assembly data units complete the generation and binding of the chain node hash value, and forming a ciphertext correlation hash chain;
[0028] Taking the chain node hash value of the last assembly data unit in the ciphertext correlation hash chain as a hash chain terminal value, calculating the hash distance between the hash chain terminal value and the hash chain initial value as a ciphertext integrity check value and binding it with the ciphertext correlation hash chain;
[0029] extract the chain node hash values of each assembled data unit in the ciphertext association hash chain and arrange them in the block order to form a hash chain sequence and encode and compress to obtain a hash chain digest, combine the hash chain digest with the ciphertext integrity check value to form ciphertext metadata, and attach the ciphertext metadata to the head of the structured ciphertext data to form the power system anti-quantum ciphertext data in an encrypted state.
[0030] In a second aspect of the embodiment of the present application, a power system core data anti-quantum encryption system based on lattice cryptography is provided, comprising:
[0031] A first unit is configured to decompose power system core data into a plurality of orthogonal subspace components in a lattice space, each orthogonal subspace component corresponding to a data block, and generate a unique block identifier for each data block, and embed the basis vector features of the orthogonal subspace components into the block identifier;
[0032] A second unit is configured to construct a public-private key pair based on the algebraic structure of a lattice problem, wherein a private key is generated by using a linear combination of lattice basis vectors and a noise distribution, and a corresponding public key is generated by a lattice point sampling algorithm, to obtain an anti-quantum key pair;
[0033] A third unit is configured to map the binary representation of the data block to an initial lattice point in the lattice space based on the public key in the anti-quantum key pair, perform state migration on the initial lattice point through a plurality of rounds of lattice basis transformation and noise injection operation, and record the state evolution trajectory of the lattice point in each round of transformation, and terminate the transformation and mark the encryption state of the data block when the state evolution trajectory meets a preset confusion degree criterion, to obtain a ciphertext lattice point with a state mark;
[0034] A fourth unit is configured to structure and assemble the ciphertext lattice point with a state mark and the block identifier, extract the encryption process feature digest of each data block based on the state evolution trajectory in the assembly process, construct a ciphertext association hash chain between the blocks using the encryption process feature digest, and form the power system anti-quantum ciphertext data in an encrypted state.
[0035] In a third aspect of the embodiment of the present application,
[0036] An electronic device is provided, comprising:
[0037] a processor;
[0038] a memory for storing processor-executable instructions;
[0039] The processor is configured to invoke the instructions stored in the memory to execute the method described above.
[0040] In a fourth aspect of the embodiment of the present application,
[0041] A computer readable storage medium is provided, which stores computer program instructions, and the computer program instructions are executed by a processor to implement the method.
[0042] The beneficial effects of the present application are as follows:
[0043] By decomposing the power system core data into orthogonal subspace components and embedding the basis vector features, the data is structured and the features are preserved, improving the anti-attack ability and data management efficiency of the encryption system. The public and private key pairs constructed based on the hard problem on the lattice use the linear combination of lattice basis vectors and noise distribution to generate keys, so that the encryption scheme has the security of resisting quantum computing attacks, effectively dealing with the threat of future quantum computing to traditional encryption algorithms. The state migration of the data is realized by adopting multiple rounds of lattice basis transformation and noise injection, and the encryption process is dynamically adjusted according to the confusion degree of the state evolution trajectory, realizing the adaptive adjustment of the encryption strength, and significantly improving the balance between encryption efficiency and security. BRIEF DESCRIPTION OF DRAWINGS
[0044] Figure 1 The flowchart of the power system core data anti-quantum encryption method based on lattice cryptography of the embodiment of the present application is shown in
[0045] Figure 2 The flowchart of lattice space data decomposition and block identification generation is shown in DETAILED DESCRIPTION
[0046] In order to make the purpose, technical scheme and advantages of the embodiment of the present application clearer, the technical scheme in the embodiment of the present application will be described clearly and completely in combination with the drawings in the embodiment of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present application.
[0047] The technical scheme of the present application will be described in detail in the following specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in some embodiments.
[0048] Figure 1 The flowchart of the power system core data anti-quantum encryption method based on lattice cryptography of the embodiment of the present application is shown in Figure 1 As shown in the figure, the method comprises:
[0049] Decompose the power system core data into multiple orthogonal subspace components in a lattice space, each orthogonal subspace component corresponds to a data block, and generate a unique block identifier for each data block, and embed the basis vector characteristics of the orthogonal subspace component into the block identifier;
[0050] Based on the algebraic structure of the hard problem on the lattice, a public and private key pair is constructed, wherein the private key is generated by using the linear combination of the lattice basis vector and the noise distribution, and the corresponding public key is generated by the lattice point sampling algorithm, and an anti-quantum key pair is obtained;
[0051] Based on the public key in the anti-quantum key pair, the binary representation of the data block is mapped to the initial lattice point of the lattice space, the state of the initial lattice point is migrated through multiple rounds of lattice basis transformation and noise injection operation, and the state evolution trajectory of the lattice point is recorded in each round of transformation, and the transformation is terminated and the encryption state of the data block is marked when the state evolution trajectory meets the preset confusion criterion, and the ciphertext lattice point with state marking is obtained;
[0052] The ciphertext lattice point with state marking and the block identifier are structured and assembled, and the encryption process feature digest of each data block is extracted based on the state evolution trajectory in the assembly process, the ciphertext correlation hash chain between the blocks is constructed using the encryption process feature digest, and the anti-quantum ciphertext data of the power system encryption state is formed.
[0053] In an optional implementation, decomposing the power system core data into multiple orthogonal subspace components in a lattice space, each orthogonal subspace component corresponds to a data block, and generating a unique block identifier for each data block includes:
[0054] The binary representation of the power system core data is divided into multiple data segments according to a preset grouping length, each data segment is converted into an integer vector, and the initial lattice basis matrix is constructed by taking the integer vector as a row vector, and the initial lattice basis representing the power system core data is obtained;
[0055] Extract the source lattice basis vectors from the initial lattice basis matrix, adjust the linear relationship between the source lattice basis vectors in each iteration through the Schmidt orthogonalization process, terminate the iteration when the inner product between all the source lattice basis vectors is zero, and the initial lattice basis is converted into the target lattice basis which is orthogonal to each other, and based on the vector group of the target lattice basis, multiple mutually orthogonal subspaces are spanned, each subspace corresponds to an orthogonal subspace component;
[0056] For each orthogonal subspace component, the modulus and vector dimension of the basis vector in the target lattice basis that constitutes the orthogonal subspace component are extracted as the basis vector features, the basis vector features are converted into fixed-length identification codes through hash mapping, and the identification codes are spliced with the row index range of the orthogonal subspace component in the initial lattice basis matrix to form the block identification.
[0057] As shown in Figure 2 , the method comprises:
[0058] The power system core data that needs to be processed in blocks is obtained, which can be power grid operation parameters, load distribution data, equipment state information, etc. These core data are converted into binary representation form for subsequent processing.
[0059] The binary representation of the power system core data is divided according to a preset grouping length, which can be determined according to actual application requirements, for example, it can be set to 8 bits, 16 bits or 32 bits. Assuming that 16 bits are selected as the grouping length, the entire binary data stream is divided into a data segment every 16 bits. For each data segment obtained after division, it is converted into an integer value by the binary-to-decimal method. In this way, a power system core data containing multiple data segments is converted into an integer vector sequence.
[0060] The integer vectors are constructed as row vectors to form an initial lattice basis matrix, for example, if the integer values converted from four data segments are [12543, 8976, 32105, 6578], the initial lattice basis matrix constructed is a 4x1 matrix, where each row corresponds to an integer value. This initial lattice basis matrix is the initial expression form of the power system core data in the lattice space.
[0061] Source lattice basis vectors are extracted from the initial lattice basis matrix, which constitute the initial mathematical expression of the power system data. In lattice space theory, these vectors are usually not mutually orthogonal and have linear correlation. In order to decompose the data into orthogonal subspace components, the source lattice basis vectors need to be subjected to Schmidt orthogonalization processing.
[0062] In the Schmidt orthogonalization process, the source lattice basis vectors are iteratively adjusted, and the inner product between any two source lattice basis vectors is calculated. If the inner product is not zero, the vectors are adjusted through the orthogonalization formula so that they gradually become mutually orthogonal. Specifically, for vectors v_i and v_j, if their inner product is not zero, v_j is subtracted by its projection component in the direction of v_i. After this processing, v_j is orthogonal to v_i. Repeat this process until the inner product of all vector pairs is zero, indicating that all vectors have become mutually orthogonal.
[0063] The iteration process is stopped when the inner product between each pair of source lattice basis vectors is zero, at which time the initial lattice basis has been transformed into an orthogonal target lattice basis, which spans multiple mutually orthogonal subspaces, each corresponding to an orthogonal subspace component representing a different characteristic component of the core data of the power system.
[0064] For each orthogonal subspace component, a unique block identifier needs to be generated for subsequent processing and recovery, and the features of the basis vectors constituting the orthogonal subspace component need to be extracted, including the norm of the basis vector and the vector dimension. The norm reflects the importance of the component in the overall data, and the vector dimension represents the complexity of the component.
[0065] The above basis vector features are converted into fixed-length identification codes through hash mapping, which can use algorithms such as SHA-256 to ensure that different subspace components have unique and irreversible identifiers. For example, for a basis vector with a norm of 256.78 and a dimension of 4, "256.78_4" can be used as an input string for hash calculation to obtain a fixed-length hash value.
[0066] The identification code is concatenated with the row index range of the orthogonal subspace component in the initial lattice basis matrix to form a complete block identifier. The row index range indicates which part of the original data the subspace component corresponds to, facilitating subsequent data recovery. For example, if a subspace component corresponds to the 2nd to 5th row of the initial lattice basis matrix, and its identification code is "7a8b9c", then the final block identifier is "7a8b9c_2_5".
[0067] In practical applications, the power dispatching and control system can use the above method to decompose and store sensitive grid operation parameter data. By decomposing thousands of measurement point data into multiple orthogonal subspaces, even if some data is accessed by unauthorized access, the attacker cannot obtain the complete original data, thereby effectively protecting the security of the core data of the power system. When complete data is needed, authorized systems can recombine the orthogonal subspace components through the block identifier to restore the original data.
[0068] This method not only enhances data security, but also improves data transmission efficiency, because it can selectively transmit and process part of the subspace components according to application requirements, rather than processing the complete data set every time.
[0069] In an optional implementation, a public-private key pair is constructed based on the algebraic structure of the lattice problem, in which a linear combination of lattice basis vectors and a noise distribution are used to generate a private key, and a lattice point sampling algorithm is used to generate a corresponding public key, resulting in a quantum-resistant key pair, including:
[0070] Calculate the norm of each lattice vector in the target lattice basis, select a predetermined number of lattice vectors in descending order of norm, and construct the selected lattice vectors as a key generation lattice basis. Randomly weight the lattice vectors in the key generation lattice basis with a coefficient and superimpose a noise vector that obeys a discrete Gaussian distribution. The sum of the weighted lattice vectors and the noise vector is used as a private key vector.
[0071] Calculate the maximum norm of the lattice vectors in the key generation lattice basis, and use the maximum norm as the space radius. Generate all lattice points within the space radius by integer linear combination of the lattice vectors. Form a lattice point sampling space by collecting all lattice points. Set a public key sampling radius centered on the private key vector in the lattice point sampling space. Select multiple lattice points within the public key sampling radius by rejection sampling method. Perform matrix operations on the selected lattice point coordinates and the lattice vectors to generate a public key matrix.
[0072] Combine the private key vector and the public key matrix to form a quantum-resistant key pair. Record the dimension parameters of the key generation lattice basis and the distribution parameters of the noise vector as security parameters of the key pair.
[0073] Select a target lattice basis in a high-dimensional Euclidean space, which can be represented as a matrix B containing multiple linearly independent vectors. Calculate the norm of each lattice vector in the target lattice basis, specifically, calculate the Euclidean norm ||bi|| of each vector bi in the lattice matrix B. Sort all lattice vectors in descending order of norm, and select the top k vectors as the key generation lattice basis B'. Here, k is a predetermined parameter, usually selected as one-third to one-half of the total dimension, to balance security and computational efficiency.
[0074] Randomly generate k integer coefficients α1, α2,..., αk, which are usually integers in the range [-c, c], where c is a security parameter, which can be set to 10 to 20. Then generate a noise vector e that conforms to a discrete Gaussian distribution, and the standard deviation parameter σ of the distribution is usually set to a small fraction of the length of the shortest lattice vector, such as 1 / 10 to 1 / 4. The private key vector s is calculated as: s = α1·b'1 + α2·b'2 +... + αk·b'k + e, where b'i is a vector in the key generation lattice basis B'.
[0075] To generate the corresponding public key matrix, calculate the maximum modulus length of the lattice vectors in the key generation lattice basis B' R = max{||b'1||, ||b'2||,..., ||b'k||}. Take R as the space radius to determine the lattice point sampling space. In this space, all lattice points can be represented as an integer linear combination of lattice vectors: v = z1·b'1 + z2·b'2 +... + zk·b'k, where zi is an integer and satisfies ||v|| ≤ R.
[0076] In the determined lattice point sampling space, set the public key sampling radius r with the private key vector s as the center point, where r is usually set to one-third to one-half of R. Use the rejection sampling method to select m lattice points within this radius. The specific steps are as follows: randomly select a lattice point v, calculate its distance d = ||v - s|| from the private key vector s, accept the point when d ≤ r, otherwise reject and resample until a sufficient number of lattice points are obtained. Usually, the value of m is 2 to 4 times the dimension k to ensure sufficient security.
[0077] For each selected lattice point vi, calculate its coordinate representation ai in the original lattice basis B' by solving the linear equation system vi = ai,1·b'1 + ai,2·b'2 +... + ai,k·b'k. Combine all coordinate vectors ai into a public key matrix A = [a1, a2,..., am].
[0078] Combine the private key vector s and the public key matrix A to form a quantum-resistant key pair (s, A), and record the dimension parameter k of the key generation lattice basis and the distribution parameter σ of the noise vector as the security parameters of the key pair. These security parameters will be used to evaluate the ability of the key pair to resist quantum computing attacks.
[0079] In practical application scenarios, this method can be used to build a quantum-resistant encryption communication system. The sender uses the receiver's public key matrix A to encrypt the message, while the receiver uses the private key vector s to decrypt. Since this key pair is based on the lattice hard problem, it can maintain high security even in the face of quantum computers, making it suitable for sensitive information transmission scenarios that require long-term security guarantees.
[0080] After key generation, the security and efficiency of the system can be balanced by adjusting the dimension parameter k and the noise distribution parameter σ. A larger dimension parameter provides higher security but increases computational overhead; a smaller noise distribution parameter improves decryption accuracy but reduces security. Therefore, selecting the appropriate parameter combination according to specific application requirements is crucial.
[0081] In an alternative embodiment, based on the public key in the anti-quantum key pair, the binary representation of the data block is mapped to an initial lattice point in the lattice space, and the state migration of the initial lattice point is performed through multiple rounds of lattice basis transformation and noise injection operations, including:
[0082] Converting the binary representation of the data block into a block vector, performing matrix multiplication of the block vector and the public key matrix to obtain an intermediate vector, and taking the minimum modulus length of the lattice basis vector in the key generation lattice basis as the lattice point mapping sampling radius;
[0083] Taking the intermediate vector as the sampling center point, selecting a lattice point within the lattice point mapping sampling radius as the initial lattice point position by discrete Gaussian sampling method, calculating the Euclidean distance between the initial lattice point position and the intermediate vector as the initial offset, and binding the initial offset with the block identifier corresponding to the data block;
[0084] Calculating the bit entropy value of the coordinate components of the initial lattice point position in the lattice space, determining the number of rounds of lattice basis transformation according to the bit entropy value, generating a random transformation matrix in each round of lattice basis transformation operation, calculating the matrix product of the key generation lattice basis and the random transformation matrix to obtain a transformed lattice basis, adjusting the variance parameter of the noise vector according to the orthogonality measure value of the lattice basis vector in the transformed lattice basis, performing linear transformation on the lattice point coordinates of the current round using the transformed lattice basis to obtain transformed coordinates, and superimposing the noise vector on the transformed coordinates to obtain superimposed coordinates as the lattice point coordinates of the next round, to complete the state migration of the initial lattice point.
[0085] The data encryption process needs to represent the data block to be processed in binary form. Taking text data as an example, the text can be converted into a binary sequence using UTF-8 encoding, and then the sequence is divided into multiple data blocks according to a fixed length (such as 256 bits). For each data block, the following lattice space mapping and state migration operations are performed.
[0086] The binary representation of the data block is converted into a block vector using a modulo mapping method. Specifically, every 8 bits of the binary sequence is grouped to convert into a corresponding decimal value, which constitutes each component of the vector. For example, for a 256-bit data block, a 32-dimensional block vector v can be obtained. Then, the block vector is multiplied by the public key matrix P to obtain an intermediate vector m = v·P. Here, the public key matrix P is an n×n matrix (such as n = 64) generated by an anti-quantum key generation algorithm, which has specific lattice structure characteristics.
[0087] After the intermediate vector is obtained, the sampling radius of the lattice point mapping is determined, and the radius value is taken from the minimum modulus length of the lattice basis vector in the key generation lattice basis, denoted as r. The minimum modulus length can be obtained by calculating the Euclidean norm of each row vector in the lattice basis matrix, and selecting the minimum value among them. The sampling radius r determines the range of lattice points that can be selected in the lattice space, and directly affects the encryption strength.
[0088] With the intermediate vector m as the sampling center point, lattice points within the radius r are selected as the initial lattice point position p0 by the discrete Gaussian sampling method. The Box-Muller transformation is used in combination with the rejection sampling technique to realize the discrete Gaussian sampling. Specifically, a random vector conforming to the standard normal distribution is generated, which is scaled to the specified standard deviation σ (usually r / 3), and the continuous coordinates are mapped to discrete lattice points through the rounding operation. The lattice point p0 obtained by sampling is used as the initial lattice point position.
[0089] Then, the Euclidean distance between the initial lattice point position p0 and the intermediate vector m is calculated, that is, the initial offset d0 = ||p0 - m||. The offset is bound with the block identifier corresponding to the data block (such as the block number or the hash value) to form the metadata pair (ID, d0). The metadata pair can be used to verify the data integrity in the decryption stage, and also serves as the parameter input of the lattice basis transformation.
[0090] To enhance security, the state of the initial lattice point needs to be migrated, and the bit entropy value h of the coordinate components of the initial lattice point position in the lattice space is calculated. The bit entropy calculation formula is: after the binary expansion of each coordinate of p0, the appearance frequencies of 0 and 1 are counted, and then h = -p0·log2(p0) - p1·log2(p1) is calculated. According to the bit entropy value h, the number of transformation rounds t of the lattice basis is determined, which can be set as t = h / 2.
[0091] In each round of lattice basis transformation operation, a random transformation matrix R is generated, which can be realized by generating an n×n-dimensional random integer matrix and ensuring that its determinant value is ±1 (to ensure that the volume of the lattice point is unchanged). The matrix product of the key generation lattice basis B and the random transformation matrix R is calculated to obtain the transformed lattice basis B' = B×R.
[0092] The orthogonality measure value of the lattice basis vector is extracted from the transformed lattice basis B', and the Gram-Schmidt orthogonalization process is used to calculate the orthogonality index between each lattice basis vector. The higher the orthogonality measure value, the stronger the independence between the lattice basis vectors. According to the measure value, the variance parameter σi of the noise vector is adjusted, so that the better the orthogonality, the more noise is injected in the dimension.
[0093] The current round lattice point coordinate pi is linearly transformed using the transformed lattice basis B' to obtain transformed coordinate pi'= pi x B'. A noise vector ni is superimposed on the transformed coordinate, and each dimension component of the noise vector follows a Gaussian distribution with a mean of 0 and a variance of σi. After superimposition, pi+1 = pi' + ni is obtained as the lattice point coordinate of the next round.
[0094] After t rounds of transformation, the lattice point pt after state transition is finally obtained. pt and the initial offset d0, the block identifier ID are output together as the encryption result of the data block, which can be represented as a triple (pt, d0, ID). The triple carries the information of the original data, but it is difficult to restore the original data without a private key due to the lattice space mapping and multiple rounds of state transition.
[0095] In actual applications, parameters can be adjusted according to security requirements. For example, for high security scenarios, the number of lattice basis transformation rounds or the dimension of the lattice space can be increased; for scenarios that focus on efficiency, parameters can be appropriately reduced to improve calculation speed. This method combines the mathematical problems of lattice cryptography and random transformation technology, and can provide strong security protection even in a quantum computing environment.
[0096] In an optional implementation, the ciphertext lattice point with the state marker and the block identifier are structured and assembled, and the encryption process feature digest of each data block is extracted based on the state evolution trajectory during the assembly process, including:
[0097] The random transformation matrix is subjected to a hash operation to obtain a transformation matrix hash value, the variance parameter in each round of lattice basis transformation operation is extracted, the transformation matrix hash value and the variance parameter are sequentially arranged in the order of transformation rounds, a digest calculation is performed on the sequentially arranged data to obtain a process digest value, a hash value of the initial offset is calculated to obtain an offset hash value, and a bitwise XOR operation is performed on the process digest value and the offset hash value to obtain an encryption process feature digest;
[0098] The block identifier of the data block and the ciphertext lattice point with the state marker are one-to-one corresponding assembled in the order of the block, and the encryption process feature digest is embedded into the corresponding assembly structure during the assembly process to form an assembly data unit;
[0099] The assembly data units corresponding to all data blocks are spliced in the order of the blocks, and the spatial distance between the positions of the ciphertext lattice points of adjacent assembly data units is calculated as the inter-block correlation degree and is bound with the corresponding assembly data unit to form structured ciphertext data containing encryption information of all blocks.
[0100] In practical applications, the SHA-256 hash algorithm can be used to process each random transformation matrix. Assuming there is an n x n random transformation matrix M, first flatten the matrix M into a one-dimensional array, and then use the SHA-256 algorithm to calculate the hash value of the array to obtain a transformation matrix hash value H_M with a length of 32 bytes.
[0101] In the lattice transformation process, each round of transformation produces a variance parameter σ, which reflects the randomness strength in the transformation process. Collect the variance parameters generated by each round of lattice transformation in the order of transformation occurrence to form a variance parameter sequence σ_1, σ_2,..., σ_r, where r is the transformation round.
[0102] For the i-th round of transformation, the transformation matrix hash value H_M_i of this round is combined with the corresponding variance parameter σ_i to form a two-tuple (H_M_i, σ_i). Arrange all two-tuples of the rounds in the order of the rounds to obtain the sequence (H_M_1, σ_1), (H_M_2, σ_2),..., (H_M_r, σ_r).
[0103] Concatenate the serialized data into a byte stream, and use the HMAC-SHA256 algorithm to calculate the digest value of the byte stream to obtain the process digest value P_digest.
[0104] The initial offset is a random displacement vector used at the beginning of the lattice point encryption process. The SHA-256 algorithm is also used to calculate the hash value of this vector to obtain the offset hash value H_offset.
[0105] Perform a bitwise XOR operation between the process digest value and the offset hash value to obtain the encryption process feature digest. Assuming that the process digest value P_digest and the offset hash value H_offset are both 32 bytes long, perform a bitwise XOR operation (XOR) on these two values to obtain a 32-byte encryption process feature digest E_digest. This feature digest can uniquely identify the encryption process characteristics of the data block, providing a basis for subsequent verification of data integrity.
[0106] For each data block, associate its block identification (such as block sequence number, block size, etc.) with the corresponding ciphertext lattice point to form a block mapping relationship. In the assembly process, embed the encryption process feature digest E_digest calculated earlier into the corresponding assembly structure. The specific way is to add the feature digest data to a specific position (such as the header or tail) of the ciphertext lattice point array to form an assembled data unit containing complete encryption information.
[0107] In the splicing process, the spatial distance of the ciphertext grid point positions between adjacent assembled data units is calculated as the correlation degree between blocks. The spatial distance can be calculated using the Euclidean distance, assuming that the end and beginning grid point coordinates of two adjacent data units are P1 and P2, respectively, and the spatial distance between them is |P1-P2|. The calculated correlation degree between blocks is bound to the corresponding assembled data unit, for example, the correlation degree value is added to the metadata part of the assembled data unit, and finally a structured ciphertext data containing all block encryption information is formed.
[0108] In an actual application scenario, it is assumed that a large file needs to be encrypted and divided into multiple data blocks for processing. For the i-th data block, first generate its ciphertext grid points through a random transformation matrix, and record the variance parameter in the transformation process. Then calculate the encryption process feature digest of the block according to the above method, and assemble it with the block identifier and the ciphertext grid points to form a data unit. When all blocks are processed, the data units are spliced according to the block order, and the spatial distance between adjacent units is calculated as the correlation degree index. The structured ciphertext data generated in this way not only contains the encryption information of the original data, but also contains the correlation information between blocks, which helps to verify the integrity and consistency of the data in the subsequent decryption process.
[0109] Through the above assembly and structuring processing, the ciphertext data has stronger robustness and security, can effectively resist data tampering and replay attacks, and ensures the security and integrity of the data in the storage and transmission process.
[0110] In an optional implementation, a ciphertext correlation hash chain between blocks is constructed using the encryption process feature digest, and an anti-quantum ciphertext data of the power system in an encrypted state is formed, including:
[0111] The encryption process feature digest and the ciphertext grid point position of the first assembled data unit in the structured ciphertext data are extracted, the encryption process feature digest is used as a hash chain initial value, the hash chain initial value and the ciphertext grid point position are spliced and then subjected to a hash operation, and the obtained chain node hash value is bound to the first assembled data unit; the operation is repeatedly performed until all assembled data units complete the generation and binding of the chain node hash value, and a ciphertext correlation hash chain is formed;
[0112] The chain node hash value of the last assembled data unit in the ciphertext correlation hash chain is used as a hash chain terminal value, the hash distance between the hash chain terminal value and the hash chain initial value is calculated as a ciphertext integrity check value, and the ciphertext correlation hash chain is bound;
[0113] The chain node hash value of each assembled data unit in the ciphertext correlation hash chain is extracted and arranged in the hash chain sequence according to the block order to obtain a hash chain digest after encoding and compression, the hash chain digest and the ciphertext integrity check value are combined to form ciphertext metadata, and the ciphertext metadata is attached to the head of the structured ciphertext data to form the anti-quantum ciphertext data of the power system in an encrypted state.
[0114] After the encryption process is completed, the structured ciphertext data has been organized into a plurality of assembled data units according to a preset rule, and necessary information needs to be extracted from the assembled data units to construct a ciphertext correlation hash chain. Specifically, the encryption process feature digest of the first assembled data unit in the structured ciphertext data and the ciphertext grid point position are extracted. The encryption process feature digest is generated in the foregoing encryption process and reflects the running characteristics of the encryption algorithm, and the ciphertext grid point position represents the position coordinates of the data unit in the overall ciphertext structure.
[0115] The extracted encryption process feature digest is taken as the initial value of the hash chain, for example, if the encryption process feature digest is a binary sequence "10110101001101", it is taken as the initial value of the hash chain. Subsequently, the hash chain initial value is spliced with the ciphertext grid point position. Assuming that the ciphertext grid point position is "(0, 0, 0)", the spliced data is "10110101001101(0, 0, 0)".
[0116] The spliced data is subjected to a hash operation, which can use an anti-quantum hash algorithm such as SHA-256 or SM3, and assuming that the chain node hash value obtained after the hash operation is "7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069". This hash value is bound with the first assembled data unit to form the first node of the hash chain.
[0117] Similar operations are performed on the second assembled data unit, except that the chain node hash value of the first node is taken as the input, spliced with the ciphertext grid point position of the second assembled data unit, and then subjected to a hash operation again. For example, if the ciphertext grid point position of the second assembled data unit is "(0, 0, 1)", the spliced data is "7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069(0, 0, 1)". The new hash value obtained after the hash operation is bound with the second assembled data unit.
[0118] The operations are repeatedly performed in the above manner until the generation and binding of the chain node hash values of all assembled data units are completed, so that each assembled data unit is closely associated with its previous unit to form a ciphertext associated hash chain from beginning to end. Tampering of any intermediate link will cause changes in the subsequent chain node hash values, which can be detected.
[0119] After the hash chain is constructed, the chain node hash value of the last assembled data unit in the ciphertext associated hash chain is extracted as the hash chain terminal value. Suppose the hash chain terminal value is "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1". To verify the integrity of the hash chain, the hash distance between the hash chain terminal value and the hash chain initial value needs to be calculated.
[0120] The calculation method of the hash distance can use the Hamming distance or other distance measurement methods, for example, by performing XOR operation on the hash chain initial value and the terminal value, and then counting the number of "1"s in the result, the Hamming distance can be obtained. The calculated hash distance is used as the ciphertext integrity check value, and is bound with the ciphertext associated hash chain. This check value will be used to quickly detect whether the ciphertext has been tampered with in the subsequent verification process.
[0121] In order to optimize storage and transmission efficiency, the hash chain needs to be compressed. The specific method is to extract the chain node hash values of each assembled data unit in the ciphertext associated hash chain, and arrange them in sequence to form a hash chain sequence. For example, if there are three assembled data units, their chain node hash values are A, B, and C, respectively, and the hash chain sequence is "A, B, C".
[0122] The hash chain sequence is compressed by encoding, which can use Huffman coding or other efficient compression algorithms to obtain a hash chain digest. This digest is more compact than the original hash chain sequence, but retains the key information needed to verify the integrity of the ciphertext.
[0123] The hash chain digest and the aforementioned ciphertext integrity check value are combined to form ciphertext metadata. This ciphertext metadata contains all the information needed to verify the integrity and quantum resistance of the ciphertext. The ciphertext metadata is attached to the header of the structured ciphertext data to form the final quantum-resistant ciphertext data of the power system.
[0124] The ciphertext associated hash chain constructed by the above method not only effectively verifies the data integrity, but also has the ability to resist quantum computing attacks due to the use of quantum-resistant hash algorithms. In the process of data transmission in the power system, even if the attacker obtains part of the ciphertext data, it is difficult to tamper with the data content without being detected, thereby ensuring the security and reliability of the power system data.
[0125] The power system core data anti-quantum encryption system based on lattice cryptography of the embodiment of the application comprises:
[0126] The first unit is configured to decompose the power system core data into a plurality of orthogonal subspace components in a lattice space, each of the orthogonal subspace components corresponds to a data block, and a unique block identifier is generated for each data block, and a basis vector feature of the orthogonal subspace component is embedded in the block identifier;
[0127] The second unit is configured to construct a public-private key pair based on the algebraic structure of a lattice problem on a lattice, wherein a private key is generated by using a linear combination of lattice basis vectors and a noise distribution, and a corresponding public key is generated by using a lattice point sampling algorithm, so as to obtain an anti-quantum key pair;
[0128] The third unit is configured to map a binary representation of the data block to an initial lattice point of the lattice space based on the public key in the anti-quantum key pair, perform state migration on the initial lattice point by using a plurality of rounds of lattice basis transformation and noise injection operation, record a state evolution trajectory of the lattice point in each round of transformation, terminate the transformation and mark an encryption state of the data block when the state evolution trajectory satisfies a preset confusion degree criterion, and obtain a ciphertext lattice point with a state mark;
[0129] The fourth unit is configured to structurally assemble the ciphertext lattice point with the state mark and the block identifier, extract an encryption process feature digest of each data block based on the state evolution trajectory in the assembling process, construct a ciphertext correlation hash chain between the data blocks by using the encryption process feature digest, and form power system anti-quantum ciphertext data of the encryption state.
[0130] In a third aspect of the embodiment of the application, an electronic device is provided, comprising:
[0131] a processor;
[0132] a memory for storing processor-executable instructions;
[0133] The processor is configured to invoke the instructions stored in the memory to execute the method described above.
[0134] In a fourth aspect of the embodiment of the application, a computer readable storage medium is provided, which stores computer program instructions, and the computer program instructions are executed by a processor to implement the method described above.
[0135] The application can be a method, device, system and / or computer program product. The computer program product can include a computer readable storage medium having computer readable program instructions loaded thereon for executing various aspects of the application.
[0136] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit the present application; although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that the technical solutions recorded in the above embodiments can be modified, or some or all of the technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A quantum-resistant encryption method for core data of power systems based on lattice cryptography, characterized in that, include: The core data of the power system is decomposed into multiple orthogonal subspace components in the grid space. Each orthogonal subspace component corresponds to a data block, and a unique block identifier is generated for each data block. At the same time, the basis vector features of the orthogonal subspace components are embedded in the block identifier. A public-private key pair is constructed based on the algebraic structure of a lattice-hard problem. The private key is generated by a linear combination of lattice basis vectors and noise distribution, and the corresponding public key is generated by a lattice sampling algorithm to obtain a quantum-resistant key pair. Based on the public key in the quantum-resistant key pair, the binary representation of the data block is mapped to the initial lattice point in the lattice space. The initial lattice point is then subjected to state transition through multiple rounds of lattice basis transformation and noise injection operations. The state evolution trajectory of the lattice point is recorded in each round of transformation. When the state evolution trajectory satisfies the preset confusion criterion, the transformation is terminated and the encryption state of the data block is marked, resulting in a ciphertext lattice point with state marking. The ciphertext grid points with state markers and the block identifiers are structurally assembled, and during the assembly process, the encryption process feature digest of each data block is extracted based on the state evolution trajectory. The encryption process feature digest is used to construct the ciphertext association hash chain between blocks to form quantum-resistant ciphertext data of the power system in the encrypted state.
2. The method according to claim 1, characterized in that, The core data of the power system is decomposed into multiple orthogonal subspace components in the grid space. Each orthogonal subspace component corresponds to a data block, and a unique block identifier is generated for each data block, including: The binary representation of the core data of the power system is divided into multiple data segments according to a preset grouping length. Each data segment is converted into an integer vector. An initial lattice basis matrix is constructed by using the integer vector as row vectors to obtain the initial lattice basis representing the core data of the power system. Source basis vectors are extracted from the initial basis matrix. In each iteration, the linear relationship between the source basis vectors is adjusted through the Schmitt orthogonalization process. The iteration terminates when the inner product between all pairs of the source basis vectors is zero. The initial basis is transformed into a mutually orthogonal target basis. Based on the vector group of the target basis, multiple mutually orthogonal subspaces are spanned, and each subspace corresponds to an orthogonal subspace component. For each orthogonal subspace component, the magnitude and dimension of the basis vectors constituting that orthogonal subspace component in the target lattice basis are extracted as basis vector features. The basis vector features are converted into fixed-length identifiers through hash mapping. The identifiers are then concatenated with the row index range of the orthogonal subspace component in the initial lattice basis matrix to form the block identifier.
3. The method according to claim 2, characterized in that, Public-private key pairs are constructed based on the algebraic structure of lattice-hard problems. The private key is generated using a linear combination of lattice basis vectors and noise distribution, and the corresponding public key is generated using a lattice sampling algorithm. This yields quantum-resistant key pairs including: Calculate the magnitude of each basis vector in the target basis, select a preset number of basis vectors in descending order of magnitude, construct a key generation basis from the selected basis vectors, perform random coefficient weighting on the basis vectors in the key generation basis and superimpose a noise vector that follows a discrete Gaussian distribution, and use the sum of the weighted basis vector and the noise vector as the private key vector. Calculate the maximum modulus of the basis vectors in the key generation lattice, use the maximum modulus as the spatial radius, generate all lattice points within the spatial radius through integer linear combinations of the basis vectors, and form a lattice sampling space by collecting all lattice points. In the lattice sampling space, set the public key sampling radius with the private key vector as the center point, select multiple lattice points within the public key sampling radius by using a rejection sampling method, and perform matrix operations between the selected lattice point coordinates and the basis vectors to generate a public key matrix. The private key vector is combined with the public key matrix to form a quantum-resistant key pair, and the dimension parameter of the key generation lattice basis and the distribution parameter of the noise vector are recorded as security parameters of the key pair.
4. The method according to claim 3, characterized in that, Based on the public key in the quantum-resistant key pair, the binary representation of the data block is mapped to the initial lattice point of the lattice space. The state transition of the initial lattice point is performed through multiple rounds of lattice basis transformation and noise injection operations, including: The binary representation of the data blocks is converted into block vectors, and the block vectors are multiplied by the public key matrix to obtain an intermediate vector. The minimum modulus of the lattice vectors in the key generation lattice is used as the lattice mapping sampling radius. Using the intermediate vector as the sampling center point, grid points are selected within the sampling radius of the grid point mapping using the discrete Gaussian sampling method as the initial grid point positions. The Euclidean distance between the initial grid point positions and the intermediate vector is calculated as the initial offset. The initial offset is then bound to the block identifier corresponding to the data block. Calculate the bit entropy value of the coordinate components of the initial grid point position in the grid space. Determine the number of rounds of grid basis transformation based on the bit entropy value. Generate a random transformation matrix in each round of grid basis transformation operation. Calculate the matrix product of the key-generated grid basis and the random transformation matrix to obtain the transformed grid basis. Extract the orthogonality metric of the grid basis vectors in the transformed grid basis and adjust the variance parameter of the noise vector. Use the transformed grid basis to perform a linear transformation on the grid point coordinates of the current round to obtain the transformed coordinates. Superimpose the noise vector on the transformed coordinates to obtain the superimposed coordinates, which are used as the grid point coordinates of the next round, thus completing the state transition of the initial grid point.
5. The method according to claim 4, characterized in that, The ciphertext grid points with state markers and the block identifiers are structurally assembled, and during the assembly process, a feature summary of the encryption process for each data block is extracted based on the state evolution trajectory, including: The random transformation matrix is hashed to obtain the transformation matrix hash value. The variance parameter in each round of lattice basis transformation operation is extracted. The transformation matrix hash value and the variance parameter are serialized and arranged according to the transformation round order. The serialized data is digested to obtain the process digest value. The hash value of the initial offset is calculated to obtain the offset hash value. The process digest value and the offset hash value are bitwise XORed to obtain the encryption process feature digest. The block identifiers of the data blocks are assembled one-to-one with the ciphertext grid points with status markers according to the block order. During the assembly process, the encryption process feature digest is embedded into the corresponding assembly structure to form an assembled data unit. The assembled data units corresponding to all data blocks are spliced together according to the block order. During the splicing process, the spatial distance between the ciphertext grid points of adjacent assembled data units is calculated as the correlation degree between blocks and bound to the corresponding assembled data units to form structured ciphertext data containing all block encryption information.
6. The method according to claim 5, characterized in that, Constructing a ciphertext-associative hash chain between blocks using the feature digests of the encryption process, forming quantum-resistant ciphertext data of the power system in an encrypted state, includes: Extract the encryption process feature digest and the ciphertext grid position of the first assembled data unit in the structured ciphertext data. Use the encryption process feature digest as the initial value of the hash chain. Concatenate the initial value of the hash chain with the ciphertext grid position and perform a hash operation. Bind the resulting chain node hash value to the first assembled data unit. Repeat the operation until all assembled data units have completed the generation and binding of chain node hash values, forming a ciphertext-associated hash chain. The hash value of the chain node of the last assembled data unit in the ciphertext-associated hash chain is taken as the final value of the hash chain. The hash distance between the final value of the hash chain and the initial value of the hash chain is calculated as the ciphertext integrity verification value and bound to the ciphertext-associated hash chain. The hash values of the chain nodes of each assembled data unit in the ciphertext-associated hash chain are extracted and arranged in the block order to form a hash chain sequence. The hash chain digest is then encoded and compressed to obtain a hash chain digest. The hash chain digest is combined with the ciphertext integrity check value to form ciphertext metadata. The ciphertext metadata is then appended to the header of the structured ciphertext data to form the quantum-resistant ciphertext data of the power system in an encrypted state.
7. A quantum-resistant encryption system for core data of a power system based on lattice cryptography, used to implement the method as described in any one of claims 1-6, characterized in that, include: The first unit is used to decompose the core data of the power system into multiple orthogonal subspace components in the lattice space. Each orthogonal subspace component corresponds to a data block, and a unique block identifier is generated for each data block. At the same time, the basis vector features of the orthogonal subspace components are embedded in the block identifier. The second unit is used to construct public-private key pairs based on the algebraic structure of lattice-hard problems. The private key is generated by a linear combination of lattice basis vectors and noise distribution, and the corresponding public key is generated by a lattice sampling algorithm to obtain quantum-resistant key pairs. The third unit is used to map the binary representation of the data block to the initial lattice point of the lattice space based on the public key in the quantum-resistant key pair. It performs state transitions on the initial lattice point through multiple rounds of lattice basis transformation and noise injection operations, recording the state evolution trajectory of the lattice point in each round of transformation. When the state evolution trajectory satisfies a preset confusion criterion, the transformation is terminated and the encryption state of the data block is marked, resulting in a ciphertext lattice point with state marking. The fourth unit is used to structurally assemble the ciphertext grid points with state markers and the block identifiers, and extract the encryption process feature digest of each data block based on the state evolution trajectory during the assembly process. The encryption process feature digest is used to construct the ciphertext association hash chain between blocks to form the quantum-resistant ciphertext data of the power system in the encrypted state.
8. An electronic device, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor is configured to invoke instructions stored in the memory to execute the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having computer program instructions stored thereon, characterized in that, When the computer program instructions are executed by the processor, they implement the method described in any one of claims 1 to 6.
Citation Information
Patent Citations
Anti-quantum-attack non-interactive attribute proxy re-encryption method and system
CN113660278A
Grating public key encryption method and device based on super-large-scale MIMO
CN119497075A