Secure storage method and device for console game data and computer equipment

By segmenting and dispersing stand-alone game data and encrypting it with biometric information, the security risks of centralized data storage and encryption methods in the prior art are solved, and efficient data protection and anti-attack resistance are achieved.

CN119203177AActive Publication Date: 2024-12-27深圳云存科技有限公司

Patent Information

Application Number
CN202411235792.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-04
Publication Date
2024-12-27
Estimated Expiration
2044-09-04

AI Technical Summary

Technical Problem

The existing secure storage methods for stand-alone game data have the risk of centralized storage leading to data leakage, and the existing encryption and chunking methods are difficult to defend against high-level attacks and complex cracking methods.

Method used

Split the stand-alone game data into multiple data blocks and stored in a scattered manner through pseudo-random sequence. Each data block is encrypted, combined with the user's biometric information for binding and encryption, and using multi-layer encryption and biometric binding methods Protect.

Benefits of technology

It significantly improves the security of data, prevents unauthorized access, and ensures that data remains secure in other locations when some storage locations are compromised, achieving data resistance and privacy protection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119203177A_ABST
    Figure CN119203177A_ABST
Patent Text Reader

Abstract

The invention provides a console game data security storage method and device and computer equipment, and aims to improve the security and reliability of data storage. Firstly, stand-alone game data to be stored are obtained and divided into a plurality of data blocks; and performing encryption processing on each data block to obtain a corresponding encrypted data block. Next, a pseudo-random sequence is generated. And storing the encrypted data blocks in a plurality of preset storage positions in a scattered manner according to the pseudo-random sequence. Then, binding the seed value of the pseudo-random sequence with the biological characteristic information of the user to generate a bound seed value, and encrypting the bound seed value to obtain an encrypted seed value; and finally, storing the encrypted seed value in a preset secure storage area. By combining the technologies of data blocking, encryption, pseudorandom sequence and biological feature binding and the like, the safety of the console game data is remarkably improved, and the data is prevented from being accessed and tampered without authorization.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a method, device and computer equipment for securely storing stand-alone game data. Background Art

[0002] In existing technologies, secure data storage methods for single-player games typically rely on centrally storing game data in a specific location on the user's device and protecting the data through encryption algorithms. These methods primarily achieve data protection by encrypting the entire data or using basic block segmentation and encryption techniques to prevent unauthorized access and tampering.

[0003] However, existing technologies present several major challenges. First, centralized storage poses a risk of exposing all game data to potential leaks if the storage location is compromised. Second, while existing encryption and fragmentation methods can provide some protection, they can still pose security risks to advanced attacks and sophisticated cracking methods.

[0004] In view of these problems in the existing technology, it is necessary to develop a new method for secure storage of stand-alone game data. Summary of the Invention

[0005] The present application provides a method, apparatus, and computer device for securely storing stand-alone game data to improve the security of stand-alone game data.

[0006] This application provides a method for securely storing stand-alone game data, including:

[0007] Get the stand-alone game data to be stored;

[0008] Splitting the stand-alone game data into multiple data blocks;

[0009] Encrypt each data block to obtain a corresponding encrypted data block;

[0010] generating a pseudo-random sequence, wherein the length of the pseudo-random sequence is equal to the number of data blocks;

[0011] According to the pseudo-random sequence, the encrypted data blocks are dispersedly stored in a plurality of preset storage locations, wherein each storage location stores one encrypted data block;

[0012] Binding the seed value of the pseudo-random sequence with the biometric information of the user to obtain a bound seed value;

[0013] Encrypting the bound seed value to obtain an encrypted seed value;

[0014] The encrypted seed value is stored in a preset secure storage area.

[0015] Furthermore, the step of dividing the stand-alone game data into multiple data blocks includes:

[0016] Perform a reversible permutation transformation on the stand-alone game data to obtain the permuted data;

[0017] Split the replaced data into multiple initial data blocks according to a preset segmentation rule;

[0018] Perform a secondary permutation on each initial data block to obtain a final data block, wherein the permutation rule of the secondary permutation is related to the position of the initial data block in the original data.

[0019] Furthermore, performing a secondary permutation on each initial data block to obtain a final data block includes:

[0020] Use the following formula 1 to perform a secondary permutation on each initial data block:

[0021] FinalBlock[i]=InitialBlock[(i+k)mod n] (1)

[0022] Where FinalBlock[i] is the i-th element of the final data block after the quadratic permutation; InitialBlock is the initial data block; n is the length of the initial data block; k is the prime number q corresponding to the index p of the initial data block in the original data and a predefined prime number sequence. p The calculated offset, the calculation formula of the offset k is as follows:

[0023] k=(p×q p )mod n (2)

[0024] Among them, q p is the prime number corresponding to index p in the predefined prime number sequence.

[0025] Furthermore, the encryption processing of each data block includes:

[0026] Generate a unique dynamic key for each data block;

[0027] Fusion of the dynamic key with the user's biometric information to obtain a fusion key;

[0028] Using the fusion key to perform multiple rounds of XOR operations and bit shift operations on the data block;

[0029] Perform a reversible nonlinear transformation on the operation result to obtain the final encrypted data block.

[0030] Furthermore, the step of fusing the dynamic key with the user's biometric information to obtain a fused key includes:

[0031] The dynamic key is combined with the user's biometric information using the following formula 3 to generate the fusion key F i :

[0032] F i =H((D i ⊕(B<<p))⊕(R i ⊕(D i >>q))) (3)

[0033] Among them, D i is the dynamic key of the i-th data block; B is the user's biometric information, expressed as a hash value; H is a hash function; p and q are predetermined displacements; R i is a pseudo-random number associated with the i-th data block, and the generation formula is as shown in the following formula 4:

[0034] R i =PRNG(D i ,i) (4)

[0035] Among them, PRNG is a pseudo-random number generator.

[0036] Furthermore, the step of binding the seed value of the pseudo-random sequence with the biometric information of the user to obtain the bound seed value includes:

[0037] Obtain users' multimodal biometric information, including fingerprints, irises, and voiceprints;

[0038] extracting a feature vector from the multimodal biometric information;

[0039] Processing the feature vector using a differentiable privacy algorithm to obtain a privacy-preserving biometric summary;

[0040] Use threshold secret sharing scheme to split the seed value into multiple shares;

[0041] XORing the biometric summary with multiple shares of the seed value to obtain multiple binding fragments;

[0042] The multiple binding fragments are merged to obtain a post-binding seed value.

[0043] Furthermore, the biometric summary is XORed with different shares of the seed value to obtain multiple binding fragments, including:

[0044] The biometric summary is converted into each share S of the seed value by the following formula 5 iPerform an XOR operation:

[0045] P i =(S i ⊕B H(i) )⊕(H(B H(i) ⊕S i )mod 2 k ) (5)

[0046] Among them, P i is the i-th binding fragment; S i is the i-th share of the seed value; B H(i) is the H(i)th bit of the biometric digest processed by the hash function H; H is the hash function; k is the bit length used for the modular operation.

[0047] Furthermore, the merging of the plurality of binding fragments to obtain a post-binding seed value includes:

[0048] According to the following formula 6, each binding fragment P i Input convolutional encoder to generate encoded segment E i :

[0049] E i =ConvEncoder(P i ) (6)

[0050] According to the following formula 7, all the coding segments E i Splice in sequence to generate the bound seed value S bound :

[0051] S bound =E1||E2||…||E n (7)

[0052] Where ConvEncoder is the convolutional encoder function; n is the total number of bound segments.

[0053] This application provides a stand-alone game data security storage device, comprising:

[0054] An acquisition unit, used to acquire the stand-alone game data to be stored;

[0055] A segmentation unit, configured to segment the stand-alone game data into a plurality of data blocks;

[0056] An encryption unit, used to encrypt each data block to obtain a corresponding encrypted data block;

[0057] a generating unit, configured to generate a pseudo-random sequence, wherein the length of the pseudo-random sequence is equal to the number of data blocks;

[0058] a storage unit, configured to disperse and store the encrypted data blocks in a plurality of preset storage locations according to the pseudo-random sequence, wherein each storage location stores one encrypted data block;

[0059] a binding unit, configured to bind the seed value of the pseudo-random sequence to the biometric information of the user to obtain a bound seed value;

[0060] A first encryption unit is used to encrypt the bound seed value to obtain an encrypted seed value;

[0061] The first storage unit is configured to store the encrypted seed value in a preset secure storage area.

[0062] The present application provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements any one of the steps of the above-mentioned method for securely storing stand-alone game data when executing the computer program.

[0063] The beneficial effects of this application include: (1) By dividing the single-player game data into multiple data blocks and encrypting each data block, even if a data block is hacked, the attacker cannot directly obtain the complete game data. This method of distributed storage and encryption significantly improves data security. (2) The encrypted data blocks are distributed and stored in multiple preset storage locations using a pseudo-random sequence, avoiding the risks brought by centralized storage. Once one storage location is hacked, the data blocks in other storage locations remain safe, further improving the overall data's anti-attack and security. (3) By binding the seed value of the pseudo-random sequence with the user's biometric information, a unique bound seed value is generated and encrypted, personalized security protection is achieved. This combination of user biometric information allows only specific users to decrypt and access the data, effectively preventing unauthorized access. (4) The combination of multi-layer encryption and biometric binding methods further ensures data integrity and privacy protection. Any unauthorized access attempt will fail due to the lack of correct biometric information and encryption keys, thereby protecting the user's privacy and the integrity of the game data. BRIEF DESCRIPTION OF THE DRAWINGS

[0064] Figure 1 This is a flowchart of a method for securely storing stand-alone game data provided in the first embodiment of the present application.

[0065] Figure 2 This is a schematic diagram of a stand-alone game data security storage device provided in the second embodiment of the present application. DETAILED DESCRIPTION

[0066] The following description sets forth many specific details to facilitate a thorough understanding of the present application. However, the present application can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the scope of the present application. Therefore, the present application is not limited to the specific implementations disclosed below.

[0067] The first embodiment of this application provides a method for securely storing stand-alone game data. Figure 1 , which is a schematic diagram of the first embodiment of the present application. Figure 1 A first embodiment of the present application provides a method for securely storing stand-alone game data, which is described in detail.

[0068] Step S101: Acquire the stand-alone game data to be stored.

[0069] Step S101 involves obtaining the stand-alone game data to be stored. This step is the basis for ensuring the secure storage of data. When implementing this step, the following detailed operations need to be performed:

[0070] First, determine the type and scope of the data you need to store. Single-player game data typically includes, but is not limited to, game progress, player profiles, game settings, and saved game states. This data can be stored in a variety of file formats, such as text files, binary files, or database files.

[0071] Then, the relevant functional modules in the game program are called to retrieve this data. For example, if the game has a save game function, the current game data can be collected by calling the save function's API interface. For games that use a database to store data, SQL queries can be executed to extract the data to be stored.

[0072] In practice, ensure that the acquired game data is up-to-date and complete. Pause the game process before acquiring data to prevent data changes during the extraction process, thereby ensuring data consistency and integrity. Additionally, consider the volume and complexity of the data to ensure that data loss or performance bottlenecks are avoided during the extraction and processing process.

[0073] The acquired data needs to be temporarily stored in memory so that subsequent steps (such as data segmentation and encryption processing) can proceed smoothly. When storing in memory, appropriate data structures such as dictionaries, lists, or custom objects can be used to facilitate subsequent processing and access.

[0074] Throughout the entire process, data confidentiality and security must be ensured. This can be achieved by encrypting data during transmission or using a secure memory area to store temporary data to prevent unauthorized access.

[0075] Through the above detailed steps, the stand-alone game data to be stored can be successfully obtained, laying a solid foundation for subsequent operations such as segmentation, encryption, and storage.

[0076] Step S102: dividing the stand-alone game data into multiple data blocks.

[0077] In step S102, the acquired stand-alone game data is divided into multiple data blocks, which is one of the key steps in the entire data security storage process. To ensure the effective implementation of this process, a series of detailed operations need to be performed.

[0078] First, determine the total size of the standalone game data. This can be done by reading the size of the data file or calculating the sum of all the data to be stored. Assuming the game data is stored in a variable in memory, you can use the programming language's built-in functions to obtain the data size.

[0079] Next, the game data is split into multiple smaller chunks based on the preset chunk size. The chunk size can be customized based on actual needs, for example, 4KB per chunk or another suitable size. The size should be chosen based on a combination of storage device performance and data security. To ensure even division of all data, appropriate padding may be required to ensure the last chunk is the same size as the others.

[0080] In addition, each data block needs to be assigned a unique identifier (ID) to facilitate subsequent encryption, storage, and reassembly. A simple incrementing integer or other unique identification method can be used to identify each data block.

[0081] In this way, all single-player game data to be stored is divided into multiple data blocks of uniform size. This not only helps improve data management and processing efficiency, but also provides a foundation for subsequent encryption and decentralized storage processes.

[0082] Furthermore, the step of dividing the stand-alone game data into multiple data blocks includes:

[0083] Perform a reversible permutation transformation on the stand-alone game data to obtain the permuted data;

[0084] Split the replaced data into multiple initial data blocks according to a preset segmentation rule;

[0085] Perform a secondary permutation on each initial data block to obtain a final data block, wherein the permutation rule of the secondary permutation is related to the position of the initial data block in the original data.

[0086] In implementing the method for securely storing stand-alone game data of the present invention, the step of dividing the stand-alone game data into multiple data blocks includes several specific operations. These operations ensure the security and integrity of the data while increasing the complexity and security of the data storage process.

[0087] First, a reversible permutation transformation is performed on the stand-alone game data. Reversible permutation transformation is an encryption technique that rearranges the order of data so that the original data becomes unrecognizable, but can be restored through reverse operations. The purpose of this step is to increase the obfuscation of the data and prevent unauthorized access and tampering. To implement this step, a predefined permutation algorithm can be used that can permutate the data in a deterministic manner and restore the original data through the corresponding inverse permutation algorithm. The choice of permutation algorithm can be based on common permutation techniques, such as Feistel Network or other reversible permutation algorithms.

[0088] Next, the replaced data is segmented into multiple initial data blocks according to a preset segmentation rule. The preset segmentation rule can be determined based on the type and size of the data, and typically the data is segmented into several parts of fixed size. For example, the data can be segmented into multiple data blocks of 4KB in size, which is both easier to manage and improves processing efficiency. During the segmentation process, ensure that each data block is of the same size. If the last data block is less than the preset size, padding bytes (such as zero bytes) can be used to fill it to ensure that all data blocks are of the same size.

[0089] Each initial data block is then subjected to a secondary permutation. This process further increases data complexity and security, preventing the original data from being easily recovered even if a single data block is cracked. The permutation rule for the secondary permutation is dependent on the position of the initial data block within the original data. Specifically, a unique permutation rule can be generated based on the index of each data block within the original data. This permutation rule can be generated using a deterministic algorithm, such as using the data block index as a seed to generate a pseudo-random sequence. The data blocks are then permuted according to this pseudo-random sequence. This process ensures that each data block is uniquely permuted, enhancing data security.

[0090] After these steps, the final data blocks are obtained. These data blocks have been subjected to two permutations, and the segmentation and permutation rules are both related to the position of the original data, ensuring high security and hardness to crack. These data blocks will be further processed during the subsequent encryption and storage process to ensure the integrity and security of the stand-alone game data.

[0091] By following the detailed steps above, we can successfully split the single-player game data into multiple data blocks, each of which undergoes reversible permutation and secondary permutation. This process not only increases the complexity and security of the data, but also ensures its integrity and confidentiality during storage and transmission.

[0092] Furthermore, performing a secondary permutation on each initial data block to obtain a final data block includes:

[0093] Use the following formula 1 to perform a secondary permutation on each initial data block:

[0094] FinalBlock[i]=InitialBlock[(i+k)mod n] (1)

[0095] Where FinalBlock[i] is the i-th element of the final data block after the quadratic permutation; InitialBlock is the initial data block; n is the length of the initial data block; k is the prime number q corresponding to the index p of the initial data block in the original data and a predefined prime number sequence. p The calculated offset, the calculation formula of the offset k is as follows:

[0096] k=(p×q p )mod n (2)

[0097] Among them, q p is the prime number corresponding to index p in the predefined prime number sequence.

[0098] To perform a secondary permutation on each initial data block to obtain the final data block, the following detailed operations are required. These steps ensure a high level of data security and complexity, making unauthorized access extremely difficult.

[0099] First, for each initial data block, determine its position index p in the original data. This index is typically the sequence number of the data block in the overall data stream, starting from 0 and increasing. This way, the position of each data block can be clearly determined, providing a basis for the subsequent calculation of the offset k.

[0100] Next, according to the position index p, the corresponding prime number q is selected from the predefined prime number sequence p The predefined prime number sequence is a set of prime numbers arranged in order, such as [2,3,5,7,11,13,17,19,...]. For position index p, select the pth prime number q p For example, if p is 3, then q p is 7.

[0101] Then, the offset k is calculated using Formula 2. Formula 2 is as follows:

[0102] k=(p×q p )mod n (2)

[0103] Among them, p is the index of the initial data block, q p is the prime number corresponding to index p in the predefined prime number sequence, and n is the length of the initial data block. This calculation process ensures that the permutation rule of each data block is unique. p Multiplying and modulo n, the resulting k is a value between 0 and n-1, representing the offset of the displacement.

[0104] Once the offset k is calculated, a secondary permutation can be performed. Each initial data block is permuted using Formula 1, which is as follows:

[0105] FinalBlock[i]=InitialBlock[(i+k)mod n] (1)

[0106] Where FinalBlock[i] is the i-th element in the final data block after the quadratic permutation, InitialBlock is the initial data block, n is the length of the initial data block, and k is the offset calculated previously. This formula rearranges each element i in the initial data block according to the calculated offset k to generate the final data block. Specifically, for the i-th element in the initial data block, its new position in the final data block is calculated using the formula (i + k) mod n.

[0107] In this way, each initial data block undergoes a unique quadratic permutation to generate the final data block. This process ensures that the order of elements within the data block is completely disrupted, increasing data obfuscation and security. Combined with the previous reversible permutation and data segmentation steps, this method can significantly improve the secure storage performance of single-player game data.

[0108] Step S103: Encrypt each data block to obtain a corresponding encrypted data block.

[0109] In step S103, each data block is encrypted to obtain the corresponding encrypted data block, which is one of the key steps to ensure the security of the stand-alone game data. In order to implement this step, it is necessary to adopt advanced encryption algorithms and follow a certain process.

[0110] First, choose the right encryption algorithm. Common and highly secure symmetric encryption algorithms include the Advanced Encryption Standard (AES). The AES algorithm has different key length options, such as 128-bit, 192-bit, and 256-bit. To ensure data security, the AES-256 algorithm is generally recommended.

[0111] Before encryption, a unique encryption key is generated for each data block. This key can be generated using a pseudo-random number generator (PRNG), ensuring that the encryption key for each data block is unique and unpredictable. The key generation should be sufficiently random to prevent it from being cracked.

[0112] Next, initialize the encryption algorithm. Specifically, you can use the Cipher Block Chaining (CBC) mode or the Pseudo-Random Number (CTR) mode of the AES algorithm, which provide higher security and data integrity. When using CBC mode, you also need to generate a random initialization vector (IV). This vector is used together with the key to encrypt each data block.

[0113] Each data block is encrypted using a unique key and initialization vector. The encryption process involves the following steps: First, the data block is combined with the initialization vector and then encrypted using the selected AES algorithm. The encrypted data is then stored as an encrypted data block.

[0114] Ensure that each data block uses a different key and initialization vector during encryption. This not only increases security but also prevents data blocks from interfering with each other. After encryption is complete, record the key and initialization vector for each data block so that they can be used when decryption is needed.

[0115] Through these steps, all data blocks will be successfully encrypted and the corresponding encrypted data blocks will be obtained. These encrypted data blocks will be stored in a decentralized manner in subsequent steps to further improve data security.

[0116] Furthermore, the encryption processing of each data block includes:

[0117] Generate a unique dynamic key for each data block;

[0118] Fusion of the dynamic key with the user's biometric information to obtain a fusion key;

[0119] Using the fusion key to perform multiple rounds of XOR operations and bit shift operations on the data block;

[0120] Perform a reversible nonlinear transformation on the operation result to obtain the final encrypted data block.

[0121] The detailed steps for encrypting each data block are as follows. These steps ensure the security and complexity of the data, making unauthorized access extremely difficult.

[0122] First, a unique dynamic key is generated for each data block. This step is crucial because it ensures that the encryption process for each data block is independent and unpredictable. The dynamic key can be generated using a pseudo-random number generator (PRNG), ensuring sufficient randomness and security. The generated dynamic key should have an appropriate length, typically matching the encryption algorithm used, such as 128 bits, 192 bits, or 256 bits.

[0123] Next, the generated dynamic key is fused with the user's biometric information to obtain a fused key. Biometric information can include fingerprints, irises, voiceprints, and other data. This biometric information is digitized by extracting feature vectors. The fusion process can use a hash function or other cryptographic algorithm to combine the dynamic key with the biometric feature vector to generate a fused key. This combination not only increases the uniqueness of the key but also enhances the security of the encryption process, as the fused key is generated based on the user's unique biometric information.

[0124] The merge key is then used to perform multiple rounds of XOR and bit shift operations on the data block. Specifically, the following steps are followed: First, the merge key is XORed with the data block to produce an intermediate result. Next, the intermediate result is bit shifted, either left or right by a certain number of bits, to increase the obfuscation of the data. This process can be repeated multiple times, each round using the merge key for XOR and bit shift operations, further increasing the complexity and security of the data. These multiple rounds ensure that even if the encryption in one round is cracked, the overall data block remains highly secure.

[0125] Finally, a reversible nonlinear transformation is performed on the result of multiple rounds of XOR and bit shift operations to obtain the final encrypted data block. Reversible nonlinear transformation is an encryption technique that processes data using nonlinear functions, making it more complex and difficult to crack. Furthermore, this transformation is reversible, meaning that the original data can be recovered by reversing the operation during decryption. Common nonlinear transformation methods include using S-boxes (Substitution boxes) or other nonlinear encryption algorithms. This step further enhances data security, ensuring that the final encrypted data block is highly confidential and resistant to attacks.

[0126] Through these detailed steps, each data block can be successfully encrypted. The encryption process for each data block is independent and complex, ensuring the security of the data during storage and transmission.

[0127] Furthermore, the step of fusing the dynamic key with the user's biometric information to obtain a fused key includes:

[0128] The dynamic key is combined with the user's biometric information using the following formula 3 to generate the fusion key F i :

[0129] F i =H((D i ⊕(B<<p))⊕(R i ⊕(D i >>q))) (3)

[0130] Among them, D i is the dynamic key of the i-th data block; B is the user's biometric information, expressed as a hash value; H is a hash function; p and q are predetermined displacements; R i is a pseudo-random number associated with the i-th data block, and the generation formula is as shown in the following formula 4:

[0131] R i =PRNG(D i ,i) (4)

[0132] Among them, PRNG is a pseudo-random number generator.

[0133] In order to implement the steps of fusing the dynamic key with the user's biometric information to generate a fusion key, the following is a detailed description.

[0134] First, a unique dynamic key D is generated for each data block. i This dynamic key is generated using a pseudo-random number generator (PRNG) to ensure sufficient randomness and unpredictability. The length of the dynamic key should match the encryption algorithm used, such as 128 bits, 192 bits, or 256 bits.

[0135] Next, the user's biometric information B is obtained and converted into a hash value. Biometric information can include fingerprints, irises, voiceprints, and other data. By extracting feature vectors, this biometric information is digitized and a cryptographic hash function (such as SHA-256) is applied to generate a hash value B. This hash value will be used in the subsequent fusion process to ensure that each user's fusion key is unique and highly secure.

[0136] Then, a pseudo-random number R is generated for each data block according to Formula 4 i Formula 4 is as follows:

[0137] R i =PRNG(D i ,i) (4)

[0138] Among them, PRNG is a pseudo-random number generator, D i Is the dynamic key of the i-th data block, i is the index of the data block. Pseudo-random number R i The generation of ensures that the fusion process of each data block has additional randomness and unpredictability.

[0139] Next, use Formula 3 to fuse the dynamic key with the user's biometric information to generate the fusion key F i Formula 3 is as follows:

[0140] F i =H((D i ⊕(B<<p))⊕(R i ⊕(D i >>q))) (3)

[0141] Among them, ⊕ represents the bitwise XOR operation, <<p represents shifting B to the left by p bits, and >>q represents shifting D to the left by i Shift right by q bits, where H is a cryptographic hash function (such as SHA-256), and p and q are the predetermined shift amounts.

[0142] When selecting parameters p and q for bit shift operations, it is necessary to comprehensively consider security, technical constraints, and operational efficiency to ensure that the generated fusion key F i With sufficient security and unpredictability.

[0143] First, we need to understand the role of bit shift operations. Bit shift operations include left shift and right shift, which are used to move bits to the left or right by a specific number of bits. In the formula, a left shift of p bits is equivalent to multiplying the value by 2. p However, due to the fixed-length binary representation, some bits will be shifted out and new zero bits will be introduced. A right shift of q bits is equivalent to dividing the value by 2. q , which also introduces zero bits at a fixed length. These shift operations increase the complexity of the data by disrupting the order of bits.

[0144] When choosing p and q, security is paramount. To avoid predictability, p and q should be unpredictable and random. Using a cryptographically secure random number generator (CSPRNG) to generate p and q ensures both randomness and security.

[0145] Secondly, the selection of p and q requires consideration of the bit length of the input data. For example, using a 256-bit hash value and dynamic key, p and q should be between 1 and 255 to ensure that the bit shift operation is effective without excessive information loss. Any value within this range should provide sufficient obfuscation while avoiding excessive bit shifting that could result in information loss or invalidation.

[0146] Operational efficiency is also a key consideration when choosing p and q. Shift operations are inherently computationally efficient, but excessively large p and q may introduce additional computational overhead. Therefore, choosing moderate values ​​can improve operational efficiency while ensuring safety.

[0147] In practice, p and q can be chosen in the following manner. First, p and q are dynamically chosen each time a merge key is generated, using a CSPRNG to generate a random value. For example, suppose in a specific example, the CSPRNG generates a value of 53 for p and a value of 91 for q. These values ​​are then used in the formula to ensure that each encryption operation is unique and secure.

[0148] This approach ensures high security and unpredictability of the fusion key by selecting p and q. The encryption process for each data block is therefore independent and random, increasing the security of data storage.

[0149] The specific steps are as follows:

[0150] 1. First, shift the user's biometric information hash value B left by p bits to obtain B<<p.

[0151] 2. Then, the dynamic key D i Shift right by q bits to get D i >>q.

[0152] 3. Next, the dynamic key D i Perform a bitwise XOR operation on the left-shifted biometric information hash value B<<p to obtain the intermediate result 1.

[0153] 4. At the same time, the pseudo-random number R i and the dynamic key D after right shift i >> Perform bitwise XOR operation on q to obtain the intermediate result 2.

[0154] 5. Perform a bitwise XOR operation on intermediate result 1 and intermediate result 2 to obtain the final fused input.

[0155] 6. Finally, the fusion input is processed through the hash function H to obtain the fusion key F i .

[0156] Through these steps, the dynamic key can be successfully fused with the user's biometric information to generate a unique and secure fusion key F i This fusion key will be used in the subsequent data block encryption process to ensure that the encryption of each data block is unique and highly secure.

[0157] Step S104: Generate a pseudo-random sequence, where the length of the pseudo-random sequence is equal to the number of data blocks.

[0158] In step S104, a pseudo-random sequence is generated whose length is equal to the number of data blocks. This is one of the core steps to ensure distributed data storage. This step requires generating an unpredictable and uniformly distributed pseudo-random number sequence to ensure that each data block can be randomly and independently assigned to a different storage location.

[0159] First, you need to choose an appropriate pseudorandom number generator (PRNG). Common PRNG algorithms include the linear congruential generator (LCG), the Mersenne Twister, and other advanced cryptographically secure PRNGs, such as the pseudorandom number generator in AES-CTR mode. To ensure that the generated sequence is sufficiently random and difficult to predict, a proven cryptographically secure PRNG can be used.

[0160] Next, you need to determine the seed value for the pseudo-random sequence. The seed value is the initial input for the PRNG to generate a random number sequence, and it determines the resulting random number sequence. Using the same seed value will result in the same sequence being generated by the PRNG. Therefore, the choice of seed value is crucial. You can use the current system time, a value provided by a hardware random number generator, or another unique and unpredictable source as the seed value to ensure the randomness of the sequence.

[0161] Once the seed value is determined, it is input into the selected PRNG to initialize the generator. Subsequently, a number of pseudo-random numbers equal to the number of data blocks is generated. These random numbers serve as elements of a pseudo-random sequence, indicating where each data block should be stored.

[0162] To ensure uniform distribution and non-repetitiveness of the pseudo-random sequence, the generated random numbers can be appropriately processed. For example, a set of unique random numbers ranging from 0 to the number of data blocks minus one can be generated and shuffled to form the desired pseudo-random sequence.

[0163] Through these steps, a pseudo-random sequence with a length equal to the number of data blocks can be obtained. This sequence will be used in subsequent steps to disperse the encrypted data blocks into multiple preset storage locations, thereby enhancing the security and distribution of the data.

[0164] Step S105: according to the pseudo-random sequence, the encrypted data blocks are dispersedly stored in a plurality of preset storage locations, wherein each storage location stores one encrypted data block.

[0165] In step S105, the encrypted data blocks are distributed across multiple pre-set storage locations according to the pseudo-random sequence, which is a key step in ensuring data security. This step utilizes the previously generated pseudo-random sequence to distribute each encrypted data block to a different storage location as indicated in the sequence.

[0166] First, identify available storage locations. These can be different physical storage units on a device, different storage devices, or even different nodes in a distributed network. Each storage location should have sufficient capacity and reliability to ensure secure data storage and efficient access.

[0167] Then, based on the pseudo-random sequence generated in step S104, the encrypted data blocks are read one by one and each data block is assigned to a corresponding storage location according to the order in the sequence. Each value in the pseudo-random sequence corresponds to an index of a storage location. For example, if the first value of the pseudo-random sequence is 3, the first encrypted data block will be stored in storage location 3. This process continues in this manner until all data blocks are distributed and stored in the pre-set storage locations.

[0168] During the allocation process, ensuring that each encrypted data block is correctly matched to its corresponding storage location can be achieved by recording the storage location index of each data block. This can be achieved using a simple data structure such as an array or a mapping table to associate the data block index with the storage location index so that the data block can be accurately found and reassembled when needed.

[0169] In addition, to further enhance data security, additional measures can be used during storage, such as encrypting the storage location or employing access control mechanisms to ensure that only authorized users or processes can access and operate data blocks in the storage location.

[0170] In practice, each encrypted data block is read sequentially and written to the corresponding storage location by searching for the corresponding index in the pseudo-random sequence. Storage operations must ensure data integrity and consistency to avoid data corruption or loss during transmission and storage.

[0171] Let's take an example to illustrate this. Suppose there is a piece of stand-alone game data with a total size of 100MB. It is chosen to be split into 10 data blocks, each of which is 10MB in size.

[0172] The first step is to generate a pseudo-random sequence:

[0173] Seed value: 12345

[0174] Generate a pseudo-random sequence: [3,7,2,9,1,8,4,0,6,5]

[0175] The second step is to split the data and encrypt it:

[0176] Split 100MB of data into ten 10MB blocks: DataBlock0, DataBlock1, ..., DataBlock9

[0177] Encrypt each data block: EncBlock0, EncBlock1, ..., EncBlock9

[0178] The third step is to determine the storage location:

[0179] Assume there are 10 storage locations: StorageLocation0, StorageLocation1, ..., StorageLocation9

[0180] Step 4: Distributed storage:

[0181] According to the pseudo-random sequence, the encrypted data blocks are scattered and stored in different storage locations:

[0182] EncBlock0 is stored in StorageLocation3

[0183] EncBlock1 is stored in StorageLocation7

[0184] EncBlock2 is stored in StorageLocation2

[0185] EncBlock3 is stored in StorageLocation9

[0186] EncBlock4 is stored in StorageLocation1

[0187] EncBlock5 is stored in StorageLocation8

[0188] EncBlock6 is stored in StorageLocation4

[0189] EncBlock7 is stored in StorageLocation0

[0190] EncBlock8 is stored in StorageLocation6

[0191] EncBlock9 is stored in StorageLocation5

[0192] Step S106: Binding the seed value of the pseudo-random sequence with the user's biometric information to obtain a bound seed value.

[0193] In step S106, the seed value of the pseudo-random sequence is bound to the user's biometric information to obtain a bound seed value, which is a key step to improve data security and personalized protection.

[0194] First, obtain the user's biometric information. This information can include fingerprints, irises, voiceprints, and other biometric features. When collecting this biometric information, reliable and accurate equipment and technology should be used to ensure that the biometric data obtained is unique and reproducible.

[0195] Next, feature vectors are extracted from the collected biometric information. A feature vector is a unique representation of the biometric information obtained through digitization. This step typically uses specific algorithms, such as fingerprint recognition algorithms to extract the minutiae of fingerprints, iris recognition algorithms to extract the texture features of the iris, and voiceprint recognition algorithms to extract the frequency characteristics of the voiceprint. The extracted feature vectors must be highly accurate and unique to ensure the reliability of the subsequent binding process.

[0196] To protect user privacy, the extracted feature vectors are then processed using a differentiable privacy algorithm. This algorithm adds appropriate noise, ensuring that the processed biometric summary provides strong privacy protection while still enabling accurate authentication. This step ensures that biometric information does not leak user privacy, even during storage and transmission.

[0197] Next, a threshold secret sharing scheme is used to split the pseudorandom sequence seed value into multiple shares. Threshold secret sharing is a method of splitting a secret into multiple shares, so that only a certain number of shares can reconstruct the original secret. An appropriate threshold value is chosen so that during the binding process and future decryption processes, only legitimate users with sufficient shares can reconstruct the seed value.

[0198] The processed biometric digest is bound to different shares of the seed value, and each share is XORed with the biometric digest. Specifically, each share is XORed with a portion of the biometric digest to produce multiple bound fragments. Each bound fragment is a combination of a share of the seed value and the biometric digest, ensuring that only the correct biometric information can decrypt the bound fragments.

[0199] Finally, all the binding fragments are combined to obtain the post-binding seed value. This step combines all the previously obtained binding fragments into a whole and stores it as the post-binding seed value. This post-binding seed value will be used in subsequent encryption and storage processes, providing multi-layered security protection.

[0200] Through the above detailed steps, the seed value of the pseudo-random sequence can be successfully bound to the user's biometric information to obtain the bound seed value.

[0201] Furthermore, the step of binding the seed value of the pseudo-random sequence with the biometric information of the user to obtain the bound seed value includes:

[0202] Obtain users' multimodal biometric information, including fingerprints, irises, and voiceprints;

[0203] extracting a feature vector from the multimodal biometric information;

[0204] Processing the feature vector using a differentiable privacy algorithm to obtain a privacy-preserving biometric summary;

[0205] Use threshold secret sharing scheme to split the seed value into multiple shares;

[0206] XORing the biometric summary with multiple shares of the seed value to obtain multiple binding fragments;

[0207] The multiple binding fragments are merged to obtain a post-binding seed value.

[0208] In order to implement binding the seed value of the pseudo-random sequence with the user's biometric information to obtain the bound seed value, the following are detailed steps.

[0209] First, the user's multimodal biometric information must be collected. This includes fingerprints, irises, and voiceprints. This information is captured using specialized biometric collection equipment, such as fingerprint scanners, iris scanners, and microphones. These devices ensure that the collected biometric information is high-quality and unique.

[0210] Next, feature vectors are extracted from the acquired multimodal biometric information. A feature vector is a set of data obtained by digitizing biometric information and can uniquely identify a user. For example, a fingerprint feature vector may include the texture pattern of the fingerprint, an iris feature vector may include the texture details of the iris, and a voiceprint feature vector may include the frequency characteristics of the sound. Feature vectors for each biometric feature are extracted using specific image processing algorithms, such as SIFT and SURF.

[0211] The extracted feature vectors are then processed using a differentiable privacy algorithm to produce a privacy-preserving biometric summary. This algorithm adds appropriate noise to the processed data, ensuring that even from the processed data, the original biometric information cannot be deduced. This processing step effectively protects user privacy and prevents the leakage of biometric information during storage and transmission.

[0212] Next, the pseudorandom sequence seed value is split into multiple shares using a threshold secret sharing scheme. A threshold secret sharing scheme is a cryptographic technique that divides a secret into multiple shares. Only when enough shares are collected can the original secret be recovered. An appropriate threshold value, such as t, is chosen, and Shamir's secret sharing algorithm is used to split the seed value into n shares, where n is the number of shares to be split and t is the minimum number of shares required to reconstruct the secret.

[0213] The processed biometric digest is then XORed with multiple shares of the seed value to produce multiple binding fragments. Specifically, each share is XORed with the corresponding portion of the biometric digest. This ensures that each binding fragment is a combination of a share of the seed value and the biometric digest, enhancing data security and uniqueness. The XOR operation is simple and efficient, ensuring rapid computation.

[0214] Finally, all the binding fragments are combined to obtain the bound seed value. This step combines all the previously obtained binding fragments into a whole, ensuring that each fragment is included to fully represent the bound seed value. This bound seed value is used in subsequent encryption and storage processes, providing multi-layered security protection.

[0215] Through these detailed steps, the seed value of the pseudo-random sequence can be successfully bound to the user's biometric information to obtain the bound seed value.

[0216] Differentiable privacy algorithms are a technology for protecting data privacy. They add noise to the data analysis process to ensure that individual data cannot be reversely inferred. This algorithm ensures privacy during data processing while also allowing statistical analysis of the data. Specifically, when processing a user's biometric information, the differentiable privacy algorithm adds a small amount of random noise to the feature vector, making it impossible to accurately restore the original biometric characteristics even if the processed data is obtained. This approach strikes a balance between data use and privacy protection, enabling efficient data processing while protecting user privacy. For example, when extracting fingerprint feature vectors, the differentiable privacy algorithm is applied to generate a biometric summary by adding noise, ensuring that even if the summary is leaked, the specific fingerprint characteristics cannot be inferred.

[0217] Threshold secret sharing is a cryptographic technique used to protect data security. It ensures data security by splitting a secret into multiple shares and setting a minimum number of shares required to recover the secret. Taking Shamir's secret sharing algorithm as an example, suppose a seed value is split into multiple shares and a threshold is set. The original seed value can only be reconstructed when a sufficient number of shares are collected. In practice, the seed value can be considered as the value of a polynomial at zero. A random polynomial is generated whose coefficients contain the seed value. Then, multiple points are selected and the coordinates of each point are distributed as a share. Only when a sufficient number of shares are collected (i.e., greater than or equal to the threshold value) can the original seed value be recovered through polynomial interpolation.

[0218] For example, suppose a seed value is split into five shares, and the threshold is set to three, meaning at least three shares are required to reconstruct the seed value. First, a random quadratic polynomial is generated, whose constant term is the seed value. Then, five points are selected, and the horizontal coordinates and corresponding vertical coordinates of these points are distributed as shares to different participants. Each share is independent and cannot reconstruct the seed value on its own. Only when at least three people combine their shares can the original seed value be restored through polynomial interpolation. This method is very effective in ensuring data security and confidentiality. Even if some shares are leaked, the original data cannot be easily restored.

[0219] Furthermore, the biometric summary is XORed with different shares of the seed value to obtain multiple binding fragments, including:

[0220] The biometric summary is converted into each share S of the seed value by the following formula 5 i Perform an XOR operation:

[0221] P i =(S i ⊕B H(i) )⊕(H(B H(i) ⊕S i )mod 2 k ) (5)

[0222] Among them, P i is the i-th binding fragment; S i is the i-th share of the seed value; B H(i) is the H(i)th bit of the biometric digest processed by the hash function H; H is the hash function; k is the bit length used for the modular operation.

[0223] To implement the aforementioned method for securely storing standalone game data, it is necessary to perform a detailed XOR operation on the biometric summary and different shares of the seed value to obtain multiple binding fragments. The following is a detailed description of the specific steps.

[0224] First, we need to get the share S of each seed value i These shares are generated through the previous threshold secret sharing scheme, and each share is a part of the seed value to ensure the security of the data.

[0225] Next, the biometric summary B is extracted and processed by the hash function H. The hash function H is an encryption algorithm used to process the biometric summary into a fixed-length bit string. Here, B H(i) represents the H(i)th bit of the biometric summary after being processed by the hash function H. This process ensures the complexity and security of the biometric summary, making it difficult to reversely restore it to the original biometric.

[0226] Then, perform XOR operation. According to formula 5, each share S i With B H(i) Perform an XOR operation. The specific steps are as follows:

[0227] 1. First, the i-th share S of the seed value i Perform an XOR operation with the H(i)th bit of the biometric summary to obtain an intermediate result. This step combines the seed value and the biometric summary, increasing the security and uniqueness of the data.

[0228] 2. Next, the H(i)th bit of the biometric summary is XORed with the i-th share of the seed value again and processed through the hash function H, and the result is then added to the 2 k Modulo. This step further disrupts the order and content of the data, ensuring that even if a part is cracked, it is difficult to restore the entire data.

[0229] 3. Finally, perform an XOR operation on the results of the above two XOR operations to obtain the final binding fragment P i The formula is as follows:

[0230] P i =(S i ⊕B H(i) )⊕(H(B H(i) ⊕S i )mod 2 k ) (5)

[0231] Here, k is the bit length used for modular operations. This length needs to be set according to specific security requirements to ensure the complexity and security of the data.

[0232] Through these steps, each binding fragment P can be obtained iEach binding fragment contains a share of the seed value combined with the processed biometric digest, ensuring data security and uniqueness. This method uses multiple XOR operations and hashing to tightly combine the original data and biometric information, making the data highly secure and unpredictable during storage and transmission.

[0233] Furthermore, the merging of the plurality of binding fragments to obtain a post-binding seed value includes:

[0234] According to the following formula 6, each binding fragment P i Input convolutional encoder to generate encoded segment E i :

[0235] E i =ConvEncoder(P i ) (6)

[0236] According to the following formula 7, all the coding segments E i Splice in sequence to generate the bound seed value S bound :

[0237] S bound =E1||E2||…||E n (7)

[0238] Where ConvEncoder is the convolutional encoder function; n is the total number of bound segments.

[0239] To implement the aforementioned method for securely storing standalone game data, multiple bound segments must be merged to generate a post-binding seed value. This process uses a convolutional encoder to encode each bound segment and then concatenates all encoded segments in sequence. The following is a detailed description of the specific steps.

[0240] First, for each binding fragment P i , it needs to be fed into a convolutional encoder. In communications, a convolutional encoder performs a series of operations on the input data, converting it into coded segments with redundant information. This allows the decoder to correct errors and recover data even if some segments are damaged or lost during transmission. Specifically, a convolutional encoder generates coded output using a sliding window technique and linear operations.

[0241] Each binding fragment P i Input into the convolutional encoder, and through the processing of the convolutional encoder, the corresponding encoding segment E is generated i This process is expressed by Equation 6:

[0242] E i =ConvEncoder(P i) (6)

[0243] The convolutional encoder performs a i Perform feature extraction and encoding to generate high-dimensional encoding fragment E i . Encoding segment E i It includes the main features of the input data while increasing the complexity and security of the data.

[0244] Next, all the generated encoding fragments E i Splice in sequence to generate the bound seed value S bound This process is expressed by formula 7:

[0245] S bound =E1||E2||…||E n (7)

[0246] Where || represents the concatenation operation and n is the total number of bound segments. The concatenation operation connects each coding segment together in sequence to form a continuous long coding segment S bound This splicing process ensures the order and integrity of all encoded fragments, and the final generated binding seed value contains the information of all bound fragments.

[0247] In practice, it is necessary to ensure that the output code segments of the convolutional encoder have a consistent length to facilitate subsequent splicing operations. If the code segments are inconsistent in length, padding or truncation can be used to ensure that the bound seed values ​​generated after splicing have a uniform format and length.

[0248] The following is a detailed implementation code for binding the seed value of the pseudo-random sequence with the user's biometric information to obtain the bound seed value.

[0249]

[0250]

[0251]

[0252]

[0253] The implementation code shows each step in detail.

[0254] Through these detailed steps, multiple binding fragments can be successfully combined to generate a post-binding seed value. This process uses a convolutional encoder to encode and extract features from the binding fragments, and then concatenates all encoded fragments to form the final post-binding seed value. This method ensures high data security and complexity, making the post-binding seed value highly secure and unpredictable during storage and transmission.

[0255] Step S107: Encrypt the bound seed value to obtain an encrypted seed value.

[0256] In step S107, the bound seed value is encrypted to obtain an encrypted seed value, which is a key step to ensure the secure storage of the seed value.

[0257] First, select an appropriate encryption algorithm to encrypt the bound seed value. The Advanced Encryption Standard (AES) algorithm is recommended, as it is widely recognized in the industry for its security and efficiency. The AES algorithm can use a key length of 128, 192, or 256 bits. For the highest security, use AES-256.

[0258] Before encryption can begin, an encryption key must be generated or selected. This key can be generated using a secure pseudo-random number generator (PRNG) to ensure randomness and unpredictability. The key generation process should ensure that the key length matches the selected AES algorithm. For example, for the AES-256 algorithm, a 256-bit key is required.

[0259] Next, initialize the AES encryption algorithm. You can choose to use AES in Cipher Block Chaining (CBC) or Pseudo-Random Number (CTR) mode, which provide higher security and data integrity. When using CBC mode, you also need to generate a random Initialization Vector (IV). This vector is used together with the key to encrypt the seed value after binding.

[0260] Then, the actual encryption operation takes place. The bound seed value is combined with the initialization vector and encrypted using the selected AES algorithm. During the encryption process, every part of the bound seed value is fully encrypted to prevent any unauthorized access or tampering.

[0261] After encryption is complete, record and securely store the encryption key and initialization vector. Key and initialization vector management should follow strict security measures, such as using a hardware security module (HSM) or other secure device for storage to prevent key leakage.

[0262] Through these steps, the bound seed value can be successfully encrypted to obtain the encrypted seed value. This process ensures the security of the seed value during storage and transmission, preventing unauthorized access and tampering.

[0263] Step S108: storing the encrypted seed value in a preset secure storage area.

[0264] In step S108, storing the encrypted seed value in a preset secure storage area is a key step to ensure that the seed value is not accessed without authorization. To this end, it is necessary to select a suitable storage area and take appropriate security measures to ensure the security and reliability of the storage process.

[0265] First, select an appropriate secure storage area. This can be a physically isolated hardware device, such as a hardware security module (HSM) or trusted platform module (TPM), or a cryptographically protected software storage area, such as a secure database or encrypted file system. The choice of storage area depends on the specific security requirements and system architecture.

[0266] Next, prepare to store the encrypted seed value in the selected secure storage area. If using a hardware security module (HSM), the encrypted seed value must be transferred and stored within the module through the HSM's API. HSMs typically have specialized key management and encryption capabilities to ensure the security of the data stored within them. If using a trusted platform module (TPM), the key storage function of the TPM can be used to store the encrypted seed value within its protected storage space.

[0267] If you choose to use a software storage area, such as a secure database or encrypted file system, you must first ensure that the storage area is protected by an appropriate encryption algorithm. You can encrypt the entire storage area using the Advanced Encryption Standard (AES) to prevent data leakage. Next, write the encrypted seed value to the storage area through a secure programming interface. To further enhance security, audit and log storage operations to ensure that all storage operations are recorded and monitored.

[0268] During the storage process, ensuring data integrity and consistency is crucial. Before writing data, you can perform a hash calculation on the encrypted seed value to generate a checksum. This checksum can then be stored along with the seed value. This allows you to verify data tampering by recalculating the hash value and comparing it with the stored checksum when reading the data.

[0269] Finally, ensure access control to storage areas. Whether using a hardware security module, trusted platform module, or software-encrypted storage area, strict access rights must be set to ensure that only authorized users or processes can access data in the storage area. Authentication mechanisms such as two-factor authentication and biometric recognition can be used to further enhance access control security.

[0270] By following these detailed steps, the encrypted seed value can be successfully stored in the preset secure storage area.

[0271] When implementing the decryption steps of the present invention, the following detailed process must be followed to ensure accurate recovery of the original single-player game data. The decryption steps include obtaining and decrypting the stored seed value, using the decrypted seed value to recover the pseudo-random sequence, reading and decrypting the data blocks, and finally reconstructing the original data.

[0272] First, retrieve the encrypted seed value from a pre-defined secure storage area. If the seed value is stored in a hardware security module (HSM) or trusted platform module (TPM), read the encrypted seed value through the provided secure interface. If stored in an encrypted file system or secure database, read it through the corresponding secure interface. When reading, ensure that strict access control mechanisms are followed to ensure that only authorized users can perform read operations.

[0273] Next, decrypt the encrypted seed value using the same algorithm and key used for encryption. If the Advanced Encryption Standard (AES) was used for encryption, the same AES key and initialization vector (IV) must be used to decrypt the seed value. The decrypted seed value should be the same as the binding seed value before encryption.

[0274] The pseudo-random sequence seed value is then recovered using the user's biometric information. First, the user's biometric information, such as fingerprint, iris, or voiceprint, is obtained and the corresponding feature vector is extracted. The extracted feature vector is then combined with the decrypted binding seed value to recover the pseudo-random sequence seed value. This process requires the same algorithm used for encryption to ensure accurate seed recovery.

[0275] After recovering the seed value of the pseudo-random sequence, use it to generate the original pseudo-random sequence. The length of the pseudo-random sequence should be equal to the number of data blocks to ensure that each data block can be found in its corresponding position. The pseudo-random number generator (PRNG) should be the same as that used for encryption to ensure the consistency of the pseudo-random sequence.

[0276] Subsequently, the encrypted data blocks are read from a plurality of preset storage locations according to the instructions in the recovered pseudo-random sequence, with each storage location storing one encrypted data block, ensuring that all data blocks are read correctly.

[0277] After reading the encrypted data block, decrypt each block using the same key and algorithm used for encryption. If the AES algorithm was used for encryption, the same AES key and initialization vector (IV) must be used for decryption. The decrypted data block should be identical to the original encrypted data block.

[0278] Finally, the decrypted data blocks are reassembled in the correct order to restore the original single-player game data. During the reassembly process, the order of the data blocks is ensured to be consistent with that before encryption to ensure data integrity and correctness. After all steps are completed, the original data obtained should be consistent with the original single-player game data to be stored.

[0279] By following the detailed steps above, you can accurately recover and decrypt stored stand-alone game data.

[0280] In the above embodiment, a method for securely storing data of a single-player game is provided. Correspondingly, the present application also provides a device for securely storing data of a single-player game. Figure 2 , which is a schematic diagram of an embodiment of a stand-alone game data secure storage device of the present application. Since this embodiment, i.e., the second embodiment, is substantially similar to the method embodiment, its description is relatively brief. For relevant details, please refer to the description of the method embodiment. The device embodiment described below is merely illustrative.

[0281] A second embodiment of the present application provides a device for securely storing data of a single-player game, comprising:

[0282] An acquisition unit 201 is used to acquire the stand-alone game data to be stored;

[0283] A segmentation unit 202 is configured to segment the stand-alone game data into a plurality of data blocks;

[0284] The encryption unit 203 is used to encrypt each data block to obtain a corresponding encrypted data block;

[0285] A generating unit 204 is configured to generate a pseudo-random sequence, wherein the length of the pseudo-random sequence is equal to the number of data blocks;

[0286] The storage unit 205 is configured to disperse and store the encrypted data blocks in a plurality of preset storage locations according to the pseudo-random sequence, wherein each storage location stores one encrypted data block;

[0287] A binding unit 206, configured to bind the seed value of the pseudo-random sequence to the biometric information of the user to obtain a bound seed value;

[0288] A first encryption unit 207 is configured to encrypt the bound seed value to obtain an encrypted seed value;

[0289] The first storage unit 208 is configured to store the encrypted seed value in a preset secure storage area.

[0290] A third embodiment of the present application provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps provided in the first embodiment of the present application when executing the computer program.

[0291] The fourth embodiment of the present application provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the steps provided in the first embodiment of the present application are implemented.

[0292] Although the present application is disclosed as above with the preferred embodiments, it is not intended to limit the present application. Any person skilled in the art may make possible changes and modifications without departing from the spirit and scope of the present application. Therefore, the scope of protection of the present application shall be based on the scope defined by the claims of the present application.

Claims

1. A method for securely storing stand-alone game data, characterized in that: include: Get the stand-alone game data to be stored; Splitting the stand-alone game data into multiple data blocks; Encrypt each data block to obtain a corresponding encrypted data block; generating a pseudo-random sequence, wherein the length of the pseudo-random sequence is equal to the number of data blocks; According to the pseudo-random sequence, the encrypted data blocks are dispersedly stored in a plurality of preset storage locations, wherein each storage location stores one encrypted data block; Binding the seed value of the pseudo-random sequence with the biometric information of the user to obtain a bound seed value; Encrypting the bound seed value to obtain an encrypted seed value; The encrypted seed value is stored in a preset secure storage area.

2. The method for securely storing stand-alone game data according to claim 1, characterized in that: The step of dividing the stand-alone game data into multiple data blocks comprises: Perform a reversible permutation transformation on the stand-alone game data to obtain permuted data; Splitting the replaced data into multiple initial data blocks according to a preset segmentation rule; A secondary permutation is performed on each initial data block to obtain a final data block, wherein a permutation rule of the secondary permutation is related to the position of the initial data block in the original data.

3. The method for securely storing stand-alone game data according to claim 2, characterized in that: The second permutation of each initial data block to obtain a final data block includes: Use the following formula 1 to perform a secondary permutation on each initial data block: FinalBlock[i]=InitialBlock[(i+k) mod n] (1) Among them, FinalBlock[i] is the i-th element of the final data block after the second permutation; InitialBlock is the initial data block; n is the length of the initial data block; k is the prime number q corresponding to the index p of the initial data block in the original data and a predefined prime number sequence p The calculated offset, the calculation formula of the offset k is as follows: Among them, q p is the prime number corresponding to index p in the predefined prime number sequence.

4. The method for securely storing stand-alone game data according to claim 1, characterized in that: The encryption process for each data block includes: Generate a unique dynamic key for each data block; Fusion the dynamic key with the user's biometric information to obtain a fusion key; Using the fusion key to perform multiple rounds of XOR operations and bit shift operations on the data block; Perform a reversible nonlinear transformation on the operation result to obtain the final encrypted data block.

5. The method for securely storing stand-alone game data according to claim 4, characterized in that: The step of fusing the dynamic key with the user's biometric information to obtain a fused key includes: The dynamic key is combined with the user's biometric information using the following formula 3 to generate the combined key F i : Among them, D i is the dynamic key of the ith data block; B is the user's biometric information, expressed as a hash value; H is a hash function; p and q are the predetermined displacements; R i is a pseudo-random number associated with the ith data block, and the generation formula is as shown in the following formula 4: R i =PRNG(D i ,i) (4) Among them, PRNG is a pseudo-random number generator.

6. The method for securely storing stand-alone game data according to claim 1, characterized in that: The step of binding the seed value of the pseudo-random sequence with the biometric information of the user to obtain the bound seed value includes: Obtain multimodal biometric information of users, including fingerprints, irises, and voiceprints; extracting a feature vector from the multimodal biometric information; Processing the feature vector through a differentiable privacy algorithm to obtain a privacy-preserving biometric summary; Split the seed value into multiple shares using a threshold secret sharing scheme; XORing the biometric summary with multiple shares of the seed value to obtain multiple binding fragments; The multiple binding fragments are merged to obtain a post-binding seed value.

7. The method for securely storing stand-alone game data according to claim 1, characterized in that: The biometric summary is XORed with different shares of the seed value to obtain multiple binding fragments, including: The biometric summary is combined with each share S of the seed value by the following formula 5 i Perform an XOR operation: Among them, P i is the i-th binding fragment; S i is the i-th share of the seed value; B H(i) is the H(i)th bit of the biometric digest processed by the hash function H; H is the hash function; k is the bit length used for the modulo operation.

8. The method for securely storing stand-alone game data according to claim 7, characterized in that: The step of merging the plurality of binding fragments to obtain a post-binding seed value includes: According to the following formula 6, each binding fragment P i Input convolutional encoder to generate encoded fragment E i : AND i =ConvEncoder(P i ) (6) According to the following formula 7, all the coded segments E i Splice in order to generate the bound seed value S bound : S bound =E1||E2||…||E n (7) Where ConvEncoder is the convolutional encoder function; n is the total number of bound segments.

9. A stand-alone game data security storage device, characterized in that: include: An acquisition unit, used for acquiring stand-alone game data to be stored; A segmentation unit, used for segmenting the stand-alone game data into a plurality of data blocks; The encryption unit is used to encrypt each data block to obtain a corresponding encrypted data block; A generating unit, configured to generate a pseudo-random sequence, wherein the length of the pseudo-random sequence is equal to the number of data blocks; A storage unit, configured to disperse and store the encrypted data blocks in a plurality of preset storage locations according to the pseudo-random sequence, wherein each storage location stores one encrypted data block; A binding unit, used to bind the seed value of the pseudo-random sequence with the biometric information of the user to obtain a bound seed value; A first encryption unit, used to encrypt the bound seed value to obtain an encrypted seed value; The first storage unit is used to store the encrypted seed value in a preset secure storage area.

10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • File encryption and decryption method and device

    CN111368316A

  • Archive data protection method based on block chain

    CN118228312A

  • Hardware device binding and mutual authentication

    US8667265B1

Cited By

  • Data security storage and verification method based on block chain

    CN120150937A

  • A blockchain-based method for secure data storage and verification

    CN120150937B

  • Aquaculture production process full-cycle tracing management platform based on block chain

    CN120373669A

  • General hash function class randomness extraction method and device

    CN120915432A

  • A general hash function class randomness extraction method and device

    CN120915432B