Data block storage method, device, equipment and computer-readable storage medium
By dividing data into blocks and using multiple encryption mechanisms, the problem of data cracking caused by key leakage is solved, and the security and difficulty of data storage are improved.
Patent Information
- Application Number
- CN202411438417.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-15
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2044-10-15
AI Technical Summary
In the prior art, the risk of encrypted data being cracked due to key leakage is high, and data security is insufficient.
The data to be stored is divided into multiple data blocks, and each data block is encrypted using a different combination of keys and encryption algorithms. The key and encryption algorithm of the next data block are used to encrypt the key and location identifier of the previous data block to form encryption control parameters, which are stored in the corresponding sub-storage area.
It improves the security of data storage, increases the difficulty of cracking, ensures that multiple parameters are required for decryption, and reduces the risk of single key leakage.
Smart Images

Figure CN119356610B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data security technology, and in particular to a data block storage method, apparatus, device, and computer-readable storage medium. Background Art
[0002] Currently, to ensure data security, data is typically encrypted before storage. Decryption is the reverse of encryption, used to restore the original data. Whether using symmetric or asymmetric encryption, since the algorithms are public, the reliability of the encryption depends on the key. Once the key is leaked, the encrypted content can be decrypted. Summary of the Invention
[0003] The present application provides a data block storage method, device, equipment and computer-readable storage medium, which can solve the technical problem in the prior art that encrypted data can be cracked as long as the key is leaked.
[0004] In a first aspect, an embodiment of the present application provides a data block storage method, the data block storage method comprising:
[0005] Divide the data to be stored into N data blocks, where N is a positive integer greater than 1;
[0006] For each data block B i , determine B i Corresponding sub-storage area S i , i∈[1,N];
[0007] Use S i The corresponding key and encryption algorithm combination C i To B i Encrypt and obtain the encrypted data block EB i And store it in S i ;
[0008] When i∈[1, N-1], use C i+1 C i and S i-1 Position marker P i-1 Encrypt and obtain the encryption control parameter EK i And store it in S i , when i is 1, P i-1 is empty;
[0009] P N-1 and S N Corresponding C N Store to S N ;
[0010] P N For secure storage.
[0011] In combination with the first aspect, in one implementation, different sub-storage areas correspond to different key and algorithm combinations.
[0012] In combination with the first aspect, in one embodiment, in the N After secure storage, it also includes:
[0013] Read P N ;
[0014] According to P N Read EB N 、P N-1 and C N ;
[0015] By C N EB N Decrypt to get B N ;
[0016] According to P N-1 Read EK N-1 and EB N-1 ;
[0017] According to C N EK N-1 Decrypt and get C N-1 and P N -2;
[0018] By C N-1 EB N-1 Decrypt to get B N-1 ;
[0019] And so on, until B1 is obtained.
[0020] In combination with the first aspect, in one embodiment, in the use of S i The corresponding key and encryption algorithm combination C i To B i Encrypt and obtain the encrypted data block EB i And store it in S i After that, it also includes:
[0021] EB i Perform hash operation to obtain the hash operation result H i And store it in S i ;
[0022] When i∈[1, N], the data block storage method further includes:
[0023] Based on H i EB i Perform integrity check;
[0024] If the integrity check passes, the execution passes C i EB i Decrypt to get B i steps.
[0025] In combination with the first aspect, in one embodiment, for each data block B i , determine B i Corresponding sub-storage area S i , i∈[1,N] includes:
[0026] For each data block B i , determine B i The amount of data D i , i∈[1,N];
[0027] In D i Based on the preset data volume, the required data volume D is obtained i ';
[0028] Based on the D i 'Determine B i Corresponding sub-storage area S i .
[0029] In combination with the first aspect, in one embodiment, the D i 'Determine B i Corresponding sub-storage area S i include:
[0030] Determine from the available storage area the storage capacity equal to the D i ′’s sub-storage area, as B i Corresponding sub-storage area S i .
[0031] In combination with the first aspect, in one embodiment, the D i 'Determine B i Corresponding sub-storage area S i include:
[0032] Find a sub-storage area with a storage capacity not less than D from the available sub-storage area set. i ′ and D i ′The closest target available sub-storage area is B i Corresponding sub-storage area S i .
[0033] In a second aspect, an embodiment of the present application provides a data block storage device, the data block storage device comprising:
[0034] A partitioning module, configured to partition the data to be stored into N data blocks, where N is a positive integer greater than 1;
[0035] Determine module for each data block B i , determine B i Corresponding sub-storage area S i , i∈[1,N];
[0036] The first encryption storage module is used to use S i The corresponding key and encryption algorithm combination C i To B i Encrypt and obtain the encrypted data block EB i And store it in S i ;
[0037] The second encryption storage module is used to use C when i∈[1, N-1]. i+1 C i and S i-1 Position marker P i-1 Encrypt and obtain the encryption control parameter EK i And store it in S i , when i is 1, P i-1 is empty;
[0038] Storage module for P N-1 and S N Corresponding C N Store to S N ; for P N For secure storage.
[0039] In a third aspect, an embodiment of the present application provides a data block storage device, which includes a processor, a memory, and a data block storage program stored on the memory and executable by the processor, wherein when the data block storage program is executed by the processor, the steps of the data block storage method described in the first aspect are implemented.
[0040] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a data block storage program is stored, wherein when the data block storage program is executed by a processor, the steps of the data block storage method described in the first aspect are implemented.
[0041] The beneficial effects of the technical solutions provided in the embodiments of the present application include:
[0042] In this embodiment, the data to be stored is divided into N data blocks, where N is a positive integer greater than 1; for each data block B i , determine B i Corresponding sub-storage area Si , i∈[1,N]; use S i The corresponding key and encryption algorithm combination C i To B i Encrypt and obtain the encrypted data block EB i And store it in S i ; When i∈[1, N-1], use C i+1 C i and S i-1 Position marker P i-1 Encrypt and obtain the encryption control parameter EK i And store it in S i , when i is 1, P i-1 Empty; N-1 and S N Corresponding C N Store to S N ; for P N Through this embodiment, each data block is encrypted and stored in the corresponding sub-storage area, and the key and encryption algorithm combination of the previous sub-storage area and the location identifier of the previous sub-storage area are encrypted with the key and encryption algorithm combination of the next sub-storage area, so that when decrypting, in addition to knowing P N and C N , you must also know EK i The meaning of the data is determined and decrypted in sequence, which greatly increases the difficulty of cracking and increases the security of data storage. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 This is a flow chart of an embodiment of the data block storage method of the present application;
[0044] Figure 2 This is a schematic diagram of a storage scenario in an embodiment of a data block storage method;
[0045] Figure 3 This is a functional module diagram of an embodiment of the data block storage device of the present application;
[0046] Figure 4 This is a schematic diagram of the hardware structure of the data block storage device involved in the embodiment of the present application. DETAILED DESCRIPTION
[0047] In order to enable those skilled in the art to better understand the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0048] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.
[0049] In a first aspect, an embodiment of the present application provides a data block storage method.
[0050] In one embodiment, referring to Figure 1 , Figure 1 This is a flow chart of an embodiment of the data block storage method of this application. Figure 1 As shown, the data block storage method includes:
[0051] Step S10, dividing the data to be stored into N data blocks, where N is a positive integer greater than 1;
[0052] In this embodiment, the data to be stored is divided based on actual needs to obtain N data blocks, and no restriction is imposed on the data division.
[0053] Step S20: for each data block B i , determine B i Corresponding sub-storage area S i , i∈[1,N];
[0054] In this embodiment, for ease of explanation, assuming N=5, the data blocks include B1 to B5, where B1 corresponds to sub-storage area S1, B2 corresponds to sub-storage area S2, B3 corresponds to sub-storage area S3, B4 corresponds to sub-storage area S4, and B5 corresponds to sub-storage area S5.
[0055] Step S30, using S i The corresponding key and encryption algorithm combination C i To B i Encrypt and obtain the encrypted data block EB i And store it in S i ;
[0056] In this embodiment, a key and encryption algorithm combination corresponding to each sub-storage area is preset, that is, a corresponding key is generated for each sub-storage area and a corresponding encryption algorithm is selected.
[0057] Furthermore, in one embodiment, different sub-storage areas correspond to different combinations of keys and algorithms.
[0058] In this embodiment, for every two sub-storage areas, the corresponding keys and / or algorithms are different.
[0059] Taking N=5 as an example, C1 is used to encrypt B1 to obtain encrypted data block EB1 and store it in S1, C2 is used to encrypt B2 to obtain encrypted data block EB2 and store it in S2, C3 is used to encrypt B3 to obtain encrypted data block EB3 and store it in S3, C4 is used to encrypt B4 to obtain encrypted data block EB4 and store it in S4, and C5 is used to encrypt B5 to obtain encrypted data block EB5 and store it in S5.
[0060] Step S40, when i∈[1, N-1], use C i+1 C i and S i-1 Position marker P i-1 Encrypt and obtain the encryption control parameter EK i And store it in S i , when i is 1, P i-1 is empty;
[0061] Step S50: P N-1 and S N Corresponding C N Store to S N ;
[0062] In this embodiment, taking N=5 as an example, refer to Figure 2 , Figure 2 Schematic diagram of a storage scenario in an embodiment of a data block storage method. Figure 2 As shown:
[0063] When i=1, C2 is used to encrypt C1 and the position identifier P0 of S0 to obtain the encrypted control parameter EK1 and store it in S1. Since S0 does not exist, P0 is empty, that is, EK1 is actually the result of encrypting C1 using C2;
[0064] When i=2, C3 is used to encrypt C2 and the position identifier P1 of S1 to obtain the encrypted control parameter EK2 and store it in S2;
[0065] When i=3, C4 is used to encrypt C3 and the position identifier P2 of S2 to obtain the encrypted control parameter EK3 and store it in S3;
[0066] When i=4, C5 is used to encrypt C4 and the position identifier P3 of S3 to obtain the encrypted control parameter EK4 and store it in S4;
[0067] Store P4 and C5 corresponding to S5 in S5.
[0068] It should be noted that EK i And store it in S i A specific location in, for example, S i P4 and C5 corresponding to S5 are stored at the head or tail of S5.
[0069] Step S60: N For secure storage.
[0070] In this embodiment, P N Stored in a specific secure storage hardware, or encrypted using a combination of a preset key and an encryption algorithm N After encryption, it is stored in the preset location.
[0071] In the above embodiment, P i For S i The address of P i It can be determined that S i In which part of the memory, i∈[1,N].
[0072] In this embodiment, the data to be stored is divided into N data blocks, where N is a positive integer greater than 1; for each data block B i , determine B i Corresponding sub-storage area S i , i∈[1,N]; use S i The corresponding key and encryption algorithm combination C i To B i Encrypt and obtain the encrypted data block EB i And store it in S i ; When i∈[1, N-1], use C i+1 C i and S i-1 Position marker P i-1 Encrypt and obtain the encryption control parameter EK i And store it in S i , when i is 1, P i-1 Empty; N-1 and S N Corresponding C N Store to S N ; for P N Through this embodiment, each data block is encrypted and stored in the corresponding sub-storage area, and the key and encryption algorithm combination of the previous sub-storage area and the location identifier of the previous sub-storage area are encrypted with the key and encryption algorithm combination of the next sub-storage area, so that when decrypting, in addition to knowing PN and C N , you must also know EK i The meaning of the data can be obtained and decrypted on demand, which greatly increases the difficulty of cracking and increases the security of data storage.
[0073] Furthermore, in one embodiment, after step S60, the method further includes:
[0074] Read P N ;
[0075] According to P N Read EB N 、P N-1 and C N ;
[0076] By C N EB N Decrypt to get B N ;
[0077] According to P N-1 Read EK N-1 and EB N-1 ;
[0078] According to C N EK N-1 Decrypt and get C N-1 and P N-2 ;
[0079] By C N-1 EB N-1 Decrypt to get B N-1 ;
[0080] And so on, until B1 is obtained.
[0081] In this embodiment, Figure 2 Take the storage scenario shown below as an example:
[0082] First, P5 needs to be read; if P5 is stored in specific secure storage hardware, P5 is read from the secure storage hardware; if P5 is encrypted by a preset key and encryption algorithm combination and stored in a preset location, the encrypted P5 is read from the preset location and then decrypted by a preset key and encryption algorithm combination to obtain P5.
[0083] Based on P5, the sub-storage area S5 can be found, and P4, C5 and EB5 in S5 can be read. Then, EB5 can be decrypted by C5 to obtain B5.
[0084] Based on P4, the sub-storage area S4 can be found, and EK4 and EB4 in S4 can be read. EK4 can be decrypted by C5 to obtain C4 and P3, and then EB4 can be decrypted by C4 to obtain B4.
[0085] Based on P3, the sub-storage area S3 can be found, and EK3 and EB3 in S3 can be read. EK3 can be decrypted by C4 to obtain C3 and P2, and then EB3 can be decrypted by C3 to obtain B3.
[0086] Based on P2, the sub-storage area S2 can be found, and EK2 and EB2 in S2 can be read. EK2 can be decrypted by C3 to obtain C2 and P1, and then EB2 can be decrypted by C2 to obtain B2.
[0087] Based on P1, the sub-storage area S1 can be found, and EK1 and EB1 in S1 can be read. EK1 can be decrypted by C2 to obtain C1, and then EB1 can be decrypted by C1 to obtain B1.
[0088] At this point, B1 to B5 can be obtained, that is, the data to be stored is restored.
[0089] Furthermore, in one embodiment, after step S30, the method further includes:
[0090] EB i Perform hash operation to obtain the hash operation result H i And store it in S i ;
[0091] When i∈[1, N], the data block storage method further includes:
[0092] Based on H i EB i Perform integrity check;
[0093] If the integrity check passes, the execution passes C i EB i Decrypt to get B i steps.
[0094] In this embodiment, each time an encrypted data block is stored, its hash operation result is stored together for subsequent integrity verification, and the encrypted data block is decrypted only when the integrity verification passes, thereby ensuring the correctness of the decryption result.
[0095] Furthermore, in one embodiment, step S20 includes:
[0096] Step S201: for each data block B i , determine B iThe amount of data D i , i∈[1,N];
[0097] Step S202, in D i Based on the preset data volume, the required data volume D is obtained i ';
[0098] Step S203, based on the D i 'Determine B i Corresponding sub-storage area S i .
[0099] In this embodiment, the data amounts of different data blocks may be the same or different, depending on the specific division situation and is not limited here.
[0100] Considering that the encrypted data obtained after the original data is encrypted may not be completely consistent with the original data, and may increase or decrease. Therefore, in order to ensure B i Corresponding sub-storage area S i Can accommodate B i , then based on D i 'Determine B i Corresponding sub-storage area S i . That is S i Greater than or equal to D i ′.
[0101] Furthermore, in one embodiment, step S203 includes:
[0102] Determine from the available storage area the storage capacity equal to the D i ′’s sub-storage area, as B i Corresponding sub-storage area S i .
[0103] In this embodiment, when data block B needs to be stored i Determine B i The corresponding required data volume D i '; Then divide the available storage area into a storage capacity equal to the D i ′’s sub-storage area, as B i Corresponding sub-storage area S i That is, when there is a storage demand, the sub-storage area corresponding to each data block is determined from the available storage area, which makes the management of the storage area more flexible.
[0104] Furthermore, in one embodiment, step S203 includes:
[0105] Find a sub-storage area with a storage capacity not less than D from the available sub-storage area set. i ′ and D i′The closest target available sub-storage area is B i Corresponding sub-storage area S i .
[0106] In this embodiment, the available storage area is divided into a plurality of available sub-storage areas in advance, and the plurality of available sub-storage areas constitutes an available sub-storage area set.
[0107] For each data block B i , find the available sub-storage area with a storage capacity not less than D i ′ and D i ′The closest target available sub-storage area is B i Corresponding sub-storage area S i It should be noted that the action of determining the sub-storage area corresponding to each data block is performed separately. For example, the sub-storage area corresponding to data block S1 is first determined, then the sub-storage area corresponding to data block S2 is determined, and so on. After each sub-storage area corresponding to a data block is determined, the sub-storage area is removed from the set of available sub-storage areas.
[0108] In a second aspect, an embodiment of the present application further provides a data block storage device.
[0109] In one embodiment, referring to Figure 3 , Figure 3 This is a functional module diagram of an embodiment of the data block storage device of this application. Figure 3 As shown, the data block storage device includes:
[0110] A partitioning module 10 is configured to partition the data to be stored into N data blocks, where N is a positive integer greater than 1;
[0111] Determination module 20, for each data block B i , determine B i Corresponding sub-storage area S i , i∈[1,N];
[0112] The first encryption storage module 30 is used to use S i The corresponding key and encryption algorithm combination C i To B i Encrypt and obtain the encrypted data block EB i And store it in S i ;
[0113] The second encryption storage module 40 is used to use C i+1 C i and S i-1 Position marker P i-1 Encrypt and obtain the encryption control parameter EKi And store it in S i , when i is 1, P i-1 is empty;
[0114] Storage module 50, used to store P N-1 and S N Corresponding C N Store to S N ; for P N For secure storage.
[0115] Furthermore, in one embodiment, different sub-storage areas correspond to different combinations of keys and algorithms.
[0116] Furthermore, in one embodiment, the data block storage device further includes a decryption module for:
[0117] Read P N ;
[0118] According to P N Read EB N 、P N-1 and C N ;
[0119] By C N EB N Decrypt to get B N ;
[0120] According to P N-1 Read EK N-1 and EB N-1 ;
[0121] According to C N EK N-1 Decrypt and get C N-1 and P N-2 ;
[0122] By C N-1 EB N-1 Decrypt to get B N-1 ;
[0123] And so on, until B1 is obtained.
[0124] Furthermore, in one embodiment, the data block storage device further includes a decryption module for:
[0125] EB i Perform hash operation to obtain the hash operation result H i And store it in S i ;
[0126] The data block storage device also includes a verification module for:
[0127] Based on H i EB i Perform integrity check, i∈[1,N];
[0128] If the integrity check passes, the execution passes C i EB i Decrypt to get B i steps.
[0129] Furthermore, in one embodiment, the determination module 20 is configured to:
[0130] For each data block B i , determine B i The amount of data D i , i∈[1,N];
[0131] In D i Based on the preset data volume, the required data volume D is obtained i ';
[0132] Based on the D i 'Determine B i Corresponding sub-storage area S i .
[0133] Furthermore, in one embodiment, the determination module 20 is configured to:
[0134] Determine from the available storage area the storage capacity equal to the D i ′’s sub-storage area, as B i Corresponding sub-storage area S i .
[0135] Furthermore, in one embodiment, the determination module 20 is configured to:
[0136] Find a sub-storage area with a storage capacity not less than D from the available sub-storage area set. i ′ and D i ′The closest target available sub-storage area is B i Corresponding sub-storage area S i .
[0137] The functional implementation of each module in the above-mentioned data block storage device corresponds to each step in the above-mentioned data block storage method embodiment, and its functions and implementation processes are not repeated here one by one.
[0138] In a third aspect, an embodiment of the present application provides a data block storage device, which may be a personal computer (PC), a laptop computer, a server, or other device with data processing capabilities.
[0139] Reference Figure 4 , Figure 4 Schematic diagram of the hardware structure of the data block storage device involved in the embodiment of the present application. In the embodiment of the present application, the data block storage device may include a processor, a memory, a communication interface and a communication bus.
[0140] The communication bus may be of any type and is used to interconnect the processor, memory, and communication interface.
[0141] Communication interfaces include input / output (I / O) interfaces, physical interfaces, and logical interfaces, which interconnect components within the data block storage device and connect the data block storage device to other devices (such as other computing devices or user devices). Physical interfaces can include Ethernet, fiber, and ATM interfaces; user devices can include displays and keyboards.
[0142] The memory can be various types of storage media, such as random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), flash memory, optical storage, hard disk, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), etc.
[0143] The processor may be a general-purpose processor that can call a data block storage program stored in a memory and execute the data block storage method provided in the embodiments of the present application. For example, the general-purpose processor may be a central processing unit (CPU). The method executed when the data block storage program is called can refer to the various embodiments of the data block storage method of the present application, and will not be repeated here.
[0144] Those skilled in the art will understand that Figure 4 The hardware structure shown in the figure does not constitute a limitation to the present application and may include more or fewer components than shown in the figure, or a combination of certain components, or a different arrangement of components.
[0145] In a fourth aspect, an embodiment of the present application also provides a computer-readable storage medium.
[0146] The computer-readable storage medium of the present application stores a data block storage program, wherein when the data block storage program is executed by a processor, the steps of the data block storage method described above are implemented.
[0147] Among them, the method implemented when the data block storage program is executed can refer to the various embodiments of the data block storage method of this application, and will not be repeated here.
[0148] It should be noted that the serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0149] The terms "including" and "having" and any variations thereof in the specification and claims of this application and the above-mentioned drawings are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices. The terms "first", "second" and "third" are used to distinguish different objects, etc., and do not represent a sequence, nor do they limit the "first", "second" and "third" to different types.
[0150] In the description of the embodiments of this application, the words "exemplary," "for example," or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary," "for example," or "for example" in the embodiments of this application should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary," "for example," or "for example" is intended to present the relevant concepts in a concrete manner.
[0151] In the description of the embodiments of the present application, unless otherwise specified, “ / ” means or, for example, A / B can mean A or B; “and / or” in the text is merely a description of the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, “multiple” refers to two or more than two.
[0152] In some processes described in the embodiments of the present application, multiple operations or steps are included that appear in a specific order. However, it should be understood that these operations or steps may not be performed in the order in which they appear in the embodiments of the present application or may be performed in parallel. The sequence numbers of the operations are only used to distinguish between different operations, and the sequence numbers themselves do not represent any order of execution. In addition, these processes may include more or fewer operations, and these operations or steps may be performed in sequence or in parallel, and these operations or steps may be combined.
[0153] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, of course, it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes a number of instructions for enabling a terminal device to execute the methods described in each embodiment of the present application.
[0154] The above are only preferred embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A data block storage method, characterized in that: The data block storage method includes: Divide the data to be stored into N data blocks, where N is a positive integer greater than 1; For each data block B i , determine B i Corresponding sub-storage area S i , i∈[1,N]; Use S i The corresponding key and encryption algorithm combination C i To B i Encrypt and obtain the encrypted data block EB i And store it in S i ; When i∈[1, N-1], use C i+1 C i and S i-1 Position marker P i-1 Encrypt and obtain the encryption control parameter EK i And store it in S i , when i is 1, P i-1 is empty; P N-1 and S N Corresponding C N Store to S N ; P N For secure storage.
2. The data block storage method according to claim 1, wherein: Different sub-storage areas correspond to different key and algorithm combinations.
3. The data block storage method according to claim 1, wherein: In the P N After secure storage, it also includes: Read P N ; According to P N Read EB N 、P N-1 and C N ; By C N EB N Decrypt to get B N ; According to P N-1 Read EK N-1 and EB N-1 ; According to C N EK N-1 Decrypt and get C N-1 and P N-2 ; By C N-1 EB N-1 Decrypt to get B N-1 ; And so on, until B1 is obtained.
4. The data block storage method according to claim 3, wherein: In the use of S i The corresponding key and encryption algorithm combination C i To B i Encrypt and obtain the encrypted data block EB i And store it in S i After that, it also includes: EB i Perform hash operation to obtain the hash operation result H i And store it in S i ; When i∈[1, N], the data block storage method further includes: Based on H i EB i Perform integrity check; If the integrity check passes, the execution passes C i EB i Decrypt to get B i steps.
5. The data block storage method according to claim 1, wherein: For each data block B i , determine B i Corresponding sub-storage area S i , i∈[1,N] includes: For each data block B i , determine B i The amount of data D i , i∈[1,N]; In D i Based on the preset data volume, the required data volume D is obtained i '; Based on the D i 'Determine B i Corresponding sub-storage area S i .
6. The data block storage method according to claim 5, characterized in that: Based on the D i 'Determine B i Corresponding sub-storage area S i include: Determine from the available storage area the storage capacity equal to the D i ′’s sub-storage area, as B i Corresponding sub-storage area S i .
7. The data block storage method according to claim 5, wherein: Based on the D i 'Determine B i Corresponding sub-storage area S i include: Find a sub-storage area with a storage capacity not less than D from the available sub-storage area set. i ′ and D i ′The closest target available sub-storage area is B i Corresponding sub-storage area S i .
8. A data block storage device, characterized in that: The data block storage device includes: A partitioning module, configured to partition the data to be stored into N data blocks, where N is a positive integer greater than 1; Determine module for each data block B i , determine B i Corresponding sub-storage area S i , i∈[1,N]; The first encryption storage module is used to use S i The corresponding key and encryption algorithm combination C i To B i Encrypt and obtain the encrypted data block EB i And store it in S i ; The second encryption storage module is used to use C when i∈[1, N-1]. i+1 C i and S i-1 Position marker P i-1 Encrypt and obtain the encryption control parameter EK i And store it in S i , when i is 1, P i-1 is empty; Storage module for P N-1 and S N Corresponding C N Store to S N ; for P N For secure storage.
9. A data block storage device, characterized in that: The data block storage device includes a processor, a memory, and a data block storage program stored in the memory and executable by the processor, wherein when the data block storage program is executed by the processor, the steps of the data block storage method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a data block storage program, wherein when the data block storage program is executed by a processor, the steps of the data block storage method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Data storage method, data decryption method and chip
CN118133310A
Information processing apparatus, information processing method, and recording medium
US20170102898A1