Data block storage method, device and equipment and computer readable storage medium
By dividing the data into multiple data blocks and encrypting them using different key and encryption algorithm combinations, the problem of key leakage causing the encrypted data to be cracked is solved, improving the security of data storage and the difficulty of cracking.
Patent Information
- Application Number
- CN202411438417.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-15
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2044-10-15
Smart Images

Figure CN119356610A_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, device, equipment and computer-readable storage medium. Background Art
[0002] At present, in order to ensure the security of data, data is generally encrypted before storage. The decryption process is the reverse operation of the encryption process, which is used to restore the original data. Regardless of symmetric encryption or asymmetric encryption, since the algorithm is public, the reliability of encryption depends on the key. Once the key is leaked, the encrypted content will also be cracked. 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 The 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 get 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 Encryption is performed to 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 get 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 implementation, for each data block B i , determine B i The 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 The corresponding sub-storage area S i .
[0029] In combination with the first aspect, in one embodiment, the D i 'Determine B i The corresponding sub-storage area S i include:
[0030] Determine from the available storage area that the storage capacity is equal to the D i ′ as the sub-storage area of B i The corresponding sub-storage area S i .
[0031] In combination with the first aspect, in one embodiment, the D i 'Determine B i The corresponding sub-storage area S i include:
[0032] Find the available sub-storage area with 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 The 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, used for partitioning 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 The 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 get 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 Encryption is performed to 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, used to store 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 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 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 brought by the technical solution 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 The 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 get 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 Encryption is performed to obtain the encryption control parameter EK i and store it in S i , when i is 1, P i-1 is 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 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 a method for storing data in blocks according to the present application;
[0044] Figure 2 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 a 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 solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, 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 the present application clearer, the implementation methods of the present 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 The corresponding sub-storage area S i , i∈[1,N];
[0054] In this embodiment, for ease of explanation, assuming that N=5, the data blocks include B1 to B5, wherein 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 get 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, B1 is encrypted using C1 to obtain encrypted data block EB1 and stored in S1, B2 is encrypted using C2 to obtain encrypted data block EB2 and stored in S2, B3 is encrypted using C3 to obtain encrypted data block EB3 and stored in S3, B4 is encrypted using C4 to obtain encrypted data block EB4 and stored in S4, and B5 is encrypted using C5 to obtain encrypted data block EB5 and stored 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 Encryption is performed to 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: 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 FIG. 1 is a 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, and the encrypted control parameter EK1 is obtained and stored 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, and the encrypted control parameter EK2 is obtained and stored 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 into 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 specific secure storage hardware, or encrypted using a combination of a preset key and 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 The 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 get 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 Encryption is performed to obtain the encryption control parameter EK i and store it in S i , when i is 1, P i-1 is 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 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 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] According to P5, the sub-storage area S5 can be found, thereby reading P4, C5 and EB5 in S5, and then decrypting EB5 through C5 to obtain B5;
[0084] According to 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] According to 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] According to 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] According to 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 The corresponding sub-storage area S i .
[0099] In this embodiment, the data amounts between different data blocks may be the same or different, depending on the division situation and is not limited here.
[0100] Considering that the encrypted data obtained after the encryption operation is not necessarily the same as the original data, the amount of data may increase or decrease. Therefore, in order to ensure B i The corresponding sub-storage area S i Can accommodate B i , then based on D i 'Determine B i The 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 that the storage capacity is equal to the D i ′ as the sub-storage area of B i The 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 ′ as the sub-storage area of B i The 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 the available sub-storage area with 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 The 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 storage capacity not less than D i ′ and D i ′The closest target available sub-storage area is B i The 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 determined first, 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 also 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 the present application. Figure 3 As shown, the data block storage device includes:
[0110] A division module 10, used to divide 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 The 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 get 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 Encryption is performed to 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, which is used to:
[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, which is used to:
[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, which is used to:
[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 used 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 The corresponding sub-storage area S i .
[0133] Furthermore, in one embodiment, the determination module 20 is used to:
[0134] Determine from the available storage area that the storage capacity is equal to the D i ′ as the sub-storage area of B i The corresponding sub-storage area S i .
[0135] Furthermore, in one embodiment, the determination module 20 is used to:
[0136] Find the available sub-storage area with 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 The corresponding sub-storage area S i .
[0137] Among them, 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 no longer repeated here.
[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 The hardware structure diagram of the data block storage device involved in the embodiment of the present application is shown in FIG. 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, the memory, and the communication interface.
[0141] The communication interface includes input / output (I / O) interface, physical interface and logical interface, etc., which are used to realize the interconnection of devices inside the data block storage device, and the interface used to realize the interconnection between the data block storage device and other devices (such as other computing devices or user devices). The physical interface can be an Ethernet interface, a fiber optic interface, an ATM interface, etc.; the user device can be a display (Display), a keyboard (Keyboard), etc.
[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, and the general-purpose processor may call the data block storage program stored in the memory and execute the data block storage method provided in the embodiment 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 may refer to the various embodiments of the data block storage method of the present application, which 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 on the present application, and may include more or less components than shown in the figure, or combine certain components, or arrange the components differently.
[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 the present 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 only for description 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 "first", "second" and "third" to different types.
[0150] In the description of the embodiments of the present application, "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 the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary", "for example" or "for example" is intended to present related concepts in a specific way.
[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; the “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 that appear in a specific order are included, but it should be understood that these operations or steps may not be executed in the order in which they appear in the embodiments of the present application or in parallel, and the sequence number of the operation is only used to distinguish the different operations, and the sequence number itself does not represent any execution order. In addition, these processes may include more or fewer operations, and these operations or steps may be executed 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 a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application is essentially 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, disk, CD) as described above, and includes a number of instructions for 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 are not intended to 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 comprises: 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 The 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 get 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 Encryption is performed to 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 The corresponding C N Store to S N ; P N For secure storage.
2. The data block storage method according to claim 1, characterized in that: The key and algorithm combinations corresponding to different sub-storage areas are different.
3. The data block storage method according to claim 1, characterized in that: 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, characterized in that: In the use of S i The corresponding key and encryption algorithm combination C i To B i Encrypt and get the encrypted data block EB i and store it in S i After that, it also includes: EB i Perform hash operation and 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, characterized in that: For each data block B i , determine B i The 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 The 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 The corresponding sub-storage area S i include: Determine from the available storage area that the storage capacity is equal to the D i ′ as the sub-storage area of B i The corresponding sub-storage area S i .
7. The data block storage method according to claim 5, characterized in that: Based on the D i 'Determine B i The corresponding sub-storage area S i include: Find the available sub-storage area with 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 The corresponding sub-storage area S i .
8. A data block storage device, characterized in that: The data block storage device comprises: A partitioning module, used for partitioning 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 The 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 get 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 Encryption is performed to 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 The 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
Low latency block cipher
CN102204158A
Data encryption and decryption method and device, equipment and medium
CN117235754A
Data storage method, data decryption method and chip
CN118133310A
Information processing apparatus, information processing method, and recording medium
US20170102898A1
Secured cloud storage broker with enhanced security
US20180046586A1