Encryption and deduplication storage method for decentralized data based on coding matrix secret sharing
By dividing the data to be stored into multiple blocks and encrypting and deduplication storage through multiple decentralized key servers, the data blocks are encrypted and deduplicated by co-generating the encryption encoding matrix through multiple decentralized key servers, the problems of insufficient scalability, high computing overhead and insufficient data security in the existing encryption and deduplication methods are solved, and efficient decentralized data encryption and deduplication storage are achieved, which improves the scalability and performance of the system, and ensures data security and storage reliability.
Patent Information
- Application Number
- CN202411840823.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-13
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2044-12-13
AI Technical Summary
There are problems in the existing encryption deduplication methods such as insufficient scalability, high computing overhead and insufficient data security.
By dividing the data to be stored into multiple blocks and co-generating the encrypted encoding matrix through multiple decentralized key servers to encrypt and deduplicate the data blocks, the calculation and communication overhead during key exchange is reduced.
It improves deduplication efficiency, reduces the overall load of the system, and realizes efficient decentralized data encryption and deduplication storage, greatly improving the scalability and performance of the system, ensuring data security and storage reliability.
Smart Images

Figure CN119759278A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of computer storage technology, and more specifically, to a decentralized data encryption and deduplication storage method based on coding matrix secret sharing. Background Art
[0002] With the surge in data storage demand, more and more users are outsourcing data to cloud storage systems, but this is accompanied by data redundancy and data security issues. In data encryption deduplication technology, the encrypted ciphertext blocks of the same plaintext blocks are also the same, so deduplication can be performed. Data encryption deduplication technology combines data encryption methods with deduplication (data deduplication) methods, which can reduce redundant overhead while protecting data privacy, thereby ensuring security and reducing storage costs.
[0003] Existing data encryption deduplication technologies mainly include centralized encryption deduplication methods and decentralized encryption deduplication methods. Centralized encryption deduplication technology uses a centralized key management server to generate encryption keys to encrypt data, and uses code-based secret sharing technology to distribute the encrypted data to multiple cloud servers. However, centralized encryption deduplication technology will rely heavily on centralized servers, which will greatly affect the security of the system when the server is attacked. In the current decentralized key management method, each key server independently generates different keys, which will encrypt the same data of different users to generate different data. Therefore, additional technologies such as key exchange are required to ensure that the same data can be deduplicated, resulting in additional computing and deduplication indexing overhead, affecting system performance. Summary of the invention
[0004] In view of the defects of the prior art, the purpose of this application is to provide a decentralized data encryption deduplication storage method based on coding matrix secret sharing, aiming to solve the problems of insufficient scalability, high computational overhead and insufficient data security in the existing encryption deduplication methods.
[0005] To achieve the above objectives, in a first aspect, the present application provides a decentralized data encryption deduplication storage method based on coding matrix secret sharing, comprising: The data to be stored is processed into blocks to generate multiple data blocks; Based on the content fingerprints of the plurality of data blocks, a plurality of decentralized key servers are used to collaboratively generate an encryption coding matrix; Encrypting the plurality of data blocks based on the encryption coding matrix to generate a plurality of ciphertext blocks; The multiple ciphertext blocks are stored in a distributed storage system, and duplicate data are deleted based on content fingerprints corresponding to the multiple ciphertext blocks.
[0006] This application divides the data to be stored into multiple blocks, and uses multiple decentralized key servers to collaboratively generate an encryption coding matrix to encrypt and dedupe the data blocks. This can reduce the computing and communication overhead in the key exchange process, thereby improving deduplication efficiency and reducing the overall system load, achieving efficient decentralized data encryption and deduplication storage, greatly improving the scalability and performance of the system, ensuring data security and storage reliability, and is suitable for large-scale distributed storage environments.
[0007] According to a decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided by the present application, the block processing of the data to be stored includes: The data to be stored is processed by dividing it into blocks using a block algorithm defined based on content.
[0008] The present application uses a content-based definition-based block algorithm to perform block processing on the data to be stored, thereby ensuring that the same data block generates the same block and fingerprint.
[0009] According to a decentralized data encryption deduplication storage method based on secret sharing of coding matrices provided by the present application, the encryption coding matrix is collaboratively generated by multiple decentralized key servers based on the content fingerprints of the multiple data blocks, including: Based on the content fingerprints of the multiple data blocks, initial key fragments are respectively generated through multiple decentralized key servers; The encryption encoding matrix is generated based on a plurality of initial key fragments.
[0010] According to a decentralized data encryption deduplication storage method based on coding matrix secret sharing provided by the present application, the encryption coding matrix is generated based on multiple initial key fragments, including: The matrix elements are generated step by step based on a plurality of initial key fragments, and the pipeline is accelerated by combining the sliding window technology to generate the encryption coding matrix.
[0011] This application uses a sliding window-based matrix element generation method to ensure that multiple key servers can calculate in parallel and generate complete encoding matrices in a timely manner, improve matrix generation efficiency and support multi-user collaborative operations.
[0012] According to a decentralized data encryption deduplication storage method based on coding matrix secret sharing provided by the present application, deduplication is performed based on content fingerprints corresponding to the multiple ciphertext blocks, including: Obtaining content fingerprints corresponding to the ciphertext blocks already existing in the distributed storage system; The content fingerprints corresponding to the multiple ciphertext blocks are compared with the content fingerprints corresponding to the existing ciphertext blocks, and the ciphertext blocks corresponding to the duplicate content fingerprints are deleted.
[0013] This application optimizes the deduplication process through consistent mapping of data content, thereby improving the deduplication efficiency of the entire system.
[0014] According to a decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided by the present application, the method also includes: The content fingerprint information of the ciphertext blocks in the distributed storage system is updated in real time.
[0015] This application updates the stored ciphertext block information in real time to ensure efficient retrieval and deduplication of data.
[0016] In a second aspect, the present application provides a decentralized data encryption deduplication storage system based on coding matrix secret sharing, a decentralized key server cluster, a distributed storage system and a client module, wherein: The decentralized key server cluster is connected to the client module, and includes multiple decentralized key servers, each of which can independently generate keys and collaboratively participate in the generation of encryption coding matrices and data block encryption processes, and multiple server clusters exchange data and collaborate through secure communication protocols; The distributed storage system is connected to the client module, and is used to store ciphertext blocks, implement deduplication operations according to ciphertext block content fingerprints, and update the stored ciphertext block information in real time; The client module is connected to the decentralized key server cluster and the distributed storage system, and is used to interact with the key server cluster and the distributed storage system to complete data uploading, encryption, storage and data recovery operations.
[0017] In a third aspect, the present application provides a decentralized data encryption deduplication storage device based on coding matrix secret sharing, comprising: A block module is used to process the data to be stored in blocks and generate multiple data blocks; A generation module, configured to collaboratively generate an encryption coding matrix through a plurality of decentralized key servers based on the content fingerprints of the plurality of data blocks; An encryption module, used for encrypting the multiple data blocks based on the encryption coding matrix to generate multiple ciphertext blocks; The deduplication storage module is used to store the multiple ciphertext blocks in a distributed storage system and perform duplicate data deletion based on the content fingerprints respectively corresponding to the multiple ciphertext blocks.
[0018] In a fourth aspect, the present application provides an electronic device comprising: at least one memory for storing programs; and at least one processor for executing the programs stored in the memory. When the programs stored in the memory are executed, the processor is used to execute the decentralized data encryption and deduplication storage method based on coding matrix secret sharing described in the first aspect or any possible implementation method of the first aspect.
[0019] In a fifth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the decentralized data encryption and deduplication storage method based on coding matrix secret sharing described in the first aspect or any possible implementation of the first aspect.
[0020] In a sixth aspect, the present application provides a computer program product. When the computer program product runs on a processor, the processor executes the decentralized data encryption and deduplication storage method based on coding matrix secret sharing described in the first aspect or any possible implementation of the first aspect.
[0021] It can be understood that the beneficial effects of the second to sixth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here.
[0022] In general, the above technical solutions conceived by this application have the following beneficial effects compared with the prior art: (1) By dividing the data to be stored into multiple blocks and using multiple decentralized key servers to collaboratively generate encryption coding matrices to encrypt and de-dupe the data blocks, the computational and communication overhead in the key exchange process can be reduced, thereby improving de-duplication efficiency and reducing the overall system load, achieving efficient decentralized data encryption and de-duplication storage, greatly improving the scalability and performance of the system, ensuring data security and storage reliability, and being suitable for large-scale distributed storage environments.
[0023] (2) The use of a sliding window-based matrix element generation method can ensure that multiple key servers can calculate in parallel and generate complete encoding matrices in a timely manner, thereby improving matrix generation efficiency and supporting multi-user collaborative operations. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the technical solutions in the present application or the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0025] Figure 1It is a flow chart of a decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided in an embodiment of the present application; Figure 2 It is a schematic diagram of a process for generating an encrypted coding matrix provided in an embodiment of the present application; Figure 3 It is a schematic diagram of a process of generating an optimization matrix step by step using matrix elements provided in an embodiment of the present application; Figure 4 It is a schematic diagram of a process of optimizing matrix generation using parameter scalability provided in an embodiment of the present application; Figure 5 It is a structural diagram of a decentralized data encryption and deduplication storage system based on coding matrix secret sharing provided in an embodiment of the present application; Figure 6 It is a structural diagram of a decentralized data encryption and deduplication storage device based on coding matrix secret sharing provided in an embodiment of the present application; Figure 7 It is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0027] The term "and / or" in this article is a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The symbol " / " in this article indicates that the associated objects are in an or relationship, for example, A / B means A or B.
[0028] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" 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" or "for example" is intended to present related concepts in a specific way.
[0029] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more than two. For example, multiple processing units refer to two or more processing units, etc.; multiple elements refer to two or more elements, etc.
[0030] Next, combine Figure 1-Figure 4The decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided in an embodiment of the present application is introduced.
[0031] Figure 1 is a flow chart of a decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided in an embodiment of the present application, such as Figure 1 As shown, the method comprises the following steps: Step 100, dividing the data to be stored into blocks to generate multiple data blocks; The decentralized data encryption and deduplication storage method based on coding matrix secret sharing provided in the embodiment of the present application can be executed by a client. The client first divides the data to be stored into several data blocks according to the content to ensure that each data block has a clear content boundary and a fixed size to facilitate subsequent deduplication operations.
[0032] Step 110, based on the content fingerprints of the multiple data blocks, a plurality of decentralized key servers are used to collaboratively generate an encryption coding matrix; Content fingerprinting is a technology that identifies and tracks digital content by extracting unique characteristics of the content to create a "fingerprint" that can be used to identify and verify the identity of the content, similar to the role of human fingerprints in identifying individuals.
[0033] Alternatively, the content fingerprint may be a hash value.
[0034] Optionally, multiple decentralized key servers exchange data through a secure communication protocol to ensure information security during the encryption process.
[0035] The client generates a unique identifier for each data block based on the content fingerprint of the data block and sends it to multiple decentralized key servers, so that the servers can collaboratively generate encryption coding matrices through matrix decomposition methods based on secret sharing technology.
[0036] Step 120, encrypting multiple data blocks based on the encryption coding matrix to generate multiple ciphertext blocks; The client converts the data block into a ciphertext block by performing matrix multiplication on the data block based on the encryption coding matrix. The ciphertext block contains redundant information of the original data, so that the data can still be recovered even if part of the ciphertext is lost.
[0037] Step 130: Store the multiple ciphertext blocks in a distributed storage system, and perform data deduplication based on content fingerprints corresponding to the multiple ciphertext blocks.
[0038] The client uploads the generated ciphertext to different cloud storage servers to ensure distributed storage of data to improve the security and reliability of storage.
[0039] The client stores the encrypted ciphertext block in the distributed storage system. The system checks and removes duplicates based on the ciphertext block content fingerprint.
[0040] Optionally, when data recovery is required, the client may download a sufficient number of encrypted segments from each cloud storage server and use the previously generated key segments to decrypt and recover the original data blocks.
[0041] The present application provides a decentralized data encryption and deduplication storage method based on secret sharing of coding matrices. By dividing the data to be stored into multiple blocks and using multiple decentralized key servers to collaboratively generate encryption coding matrices to encrypt and dedupe the data blocks, the computing and communication overhead in the key exchange process can be reduced, thereby improving deduplication efficiency and reducing the overall system load, achieving efficient decentralized data encryption and deduplication storage, greatly improving the scalability and performance of the system, ensuring data security and storage reliability, and being suitable for large-scale distributed storage environments.
[0042] In some embodiments, step 100 specifically includes: The data to be stored is divided into blocks using a content-based block algorithm.
[0043] Content-Defined Chunking (CDC) is a technology used for data deduplication and backup. It determines the data chunking boundaries by analyzing the content of the data itself, rather than relying on the size or location of the data. The core idea is to divide the data stream into a series of chunks, each of which consists of a series of continuous data. The chunk boundaries are determined by the data content, which means that two data chunks with the same content will be divided into the same chunk even if they are in different positions in the file.
[0044] The client uses a content-defined chunking algorithm to chunk the data to be stored, ensuring that each data chunk has clear content boundaries and a fixed size for subsequent deduplication operations.
[0045] In some embodiments, step 110 specifically includes: Step 1101, based on the content fingerprints of the plurality of data blocks, initial key fragments are respectively generated by a plurality of decentralized key servers; Step 1102: Generate an encryption encoding matrix based on multiple initial key fragments.
[0046] The client generates a unique identifier for each data block by calculating the hash value of each data block, and sends it to multiple decentralized key servers to request key sharding. Different decentralized key servers independently generate key fragments based on the client's request. These fragments are combined into an encryption coding matrix to provide a basis for the encryption of subsequent data blocks.
[0047] In some embodiments, step 1102 specifically includes: The matrix elements are generated step by step based on multiple initial key fragments, and the sliding window technology is combined for pipeline acceleration to generate an encrypted coding matrix.
[0048] Figure 2 is a schematic diagram of a process for generating an encrypted coding matrix provided in an embodiment of the present application, such as Figure 2 As shown in Figure 1, when multiple decentralized key servers generate key fragments to form an encryption encoding matrix, the Cauchy matrix generation method is specifically used. First, the client generates two different element sequences {x i} and {y i}These sequences are calculated using a hash function (such as SHA-256), and the elements of each sequence are closely related to the content of the data block.
[0049] The vector-based convergence matrix generation method cannot effectively redundancy the ciphertext fragments. The matrix generation optimization method is used to improve this problem and speed up the generation of the convergence matrix. The main idea is to avoid reversibility checks and adjustments to the matrix and reduce communication overhead. The main optimization methods include step-by-step matrix generation based on matrix elements and parameter scalability optimization.
[0050] Figure 3 is a flow chart of using matrix elements to generate an optimization matrix step by step, as provided in an embodiment of the present application. Figure 3 As shown, in the optimization method based on step-by-step matrix generation based on matrix elements, the two sequences generated by the client are not directly used. and Instead of using a single sequence to generate the Cauchy matrix, two sequences are used to generate the Cauchy matrix, one from the client and the other from the key server. The client generates the initial sequence using the encrypted hash value of the data block , and then send the elements to k key servers for encryption, and the key server returns another sequence to the client , and finally the client continues to generate another sequence in sequence from the encrypted hash value of the data block . Because the initialization sequence It is not used as a target sequence, so its generation process does not need to be guaranteed to be different from each other, but the sequence returned at the end and the regenerated sequence To ensure that they are different. and You can calculate the MDS properties. The encoding matrix.
[0051] Preferably, through pipeline design, convergence matrix generation operations of three data blocks can be processed simultaneously, thereby reducing the overall time of matrix generation.
[0052] Figure 4 is a flow chart of the process of optimizing matrix generation using parameter scalability provided in the embodiment of the present application, such as Figure 4 As shown in Figure 1, for archival data with low access frequency, medium-parameter erasure coding schemes are usually used to achieve redundant storage.
[0053] However, when the encoding parameters (n, k) and word length w meet certain specific conditions, the traditional hashing method cannot generate a sufficient number of convergent matrix elements, which affects the encoding efficiency and data reliability.
[0054] For example, when using RS(14,10) erasure code and word length w=16, a 256-bit hash value cannot generate a 384-bit matrix element.
[0055] Using the sliding window method, matrix elements are dynamically generated from a fixed-length hash value. By moving the window and gradually generating elements, it is ensured that the generated matrix elements meet the requirements of the erasure code and avoid repeated generation of the same elements.
[0056] Specifically, the initial range of the sliding window is set to the first w bits of the hash value, generating the sequence The first element x1 of the sliding window moves backward Each time, a candidate element is generated from the current window. Check whether the generated candidate element already exists in the previous sequence. If not, save it as the next element in the sequence. If it does, continue to generate new candidate elements. Repeat the movement of the sliding window and the generation of elements until the sequence is generated. and All elements.
[0057] for Sequences do not need to ensure that the elements are unique. When the key server returns a new sequence After that, continue to generate sequences from the position of the sliding window , and guarantee and The elements are different from each other.
[0058] In some embodiments, step 130 specifically includes: Step 1301, obtaining content fingerprints corresponding to the ciphertext blocks existing in the distributed storage system; Step 1302 : Compare the content fingerprints corresponding to the multiple ciphertext blocks with the content fingerprints corresponding to the existing ciphertext blocks, and delete the ciphertext blocks corresponding to the duplicate content fingerprints.
[0059] The cloud server uses content fingerprints, i.e. hash values, to detect whether each uploaded ciphertext block already exists in the distributed storage system. If identical fragments are found, deduplication is performed and unique ciphertext blocks are stored to reduce redundancy.
[0060] In some embodiments, the method further comprises: Update the content fingerprint information of the ciphertext blocks in the distributed storage system in real time.
[0061] Optionally, the distributed storage system may include a deduplication index module for updating the stored ciphertext block information in real time to ensure efficient retrieval and deduplication of data.
[0062] Figure 5 is a structural diagram of a decentralized data encryption and deduplication storage system based on coding matrix secret sharing provided in an embodiment of the present application, such as Figure 5 As shown, the system includes a decentralized key server cluster 510, a distributed storage system 520 and a client module 530, wherein: The decentralized key server cluster 510 is connected to the client module 530, and includes multiple decentralized key servers, each of which can independently generate keys and collaboratively participate in the generation of encryption coding matrices and data block encryption processes, and multiple server clusters exchange data and collaborate through secure communication protocols; The distributed storage system 520 is connected to the client module 530, and is used to store ciphertext blocks, implement deduplication operations based on ciphertext block content fingerprints, and update the stored ciphertext block information in real time; The client module 530 is connected to the decentralized key server cluster 510 and the distributed storage system 520, and is used to interact with the key server cluster and the distributed storage system to complete data uploading, encryption, storage and data recovery operations.
[0063] It should be understood that the above-mentioned device is used to execute the method in the above-mentioned embodiment. The implementation principle and technical effect of the corresponding program module in the device are similar to those described in the above-mentioned method. The working process of the device can refer to the corresponding process in the above-mentioned method, which will not be repeated here.
[0064] Figure 6 is a structural diagram of a decentralized data encryption and deduplication storage device based on coding matrix secret sharing provided in an embodiment of the present application, such as Figure 6As shown, the device includes a block segmentation module 610, a generation module 620, an encryption module 630 and a deduplication storage module 640, wherein: A block module 610, used for performing block processing on the data to be stored to generate multiple data blocks; A generation module 620, configured to generate an encryption coding matrix through multiple decentralized key servers in collaboration based on content fingerprints of multiple data blocks; An encryption module 630, configured to encrypt a plurality of data blocks based on an encryption coding matrix to generate a plurality of ciphertext blocks; The deduplication storage module 640 is used to store multiple ciphertext blocks in a distributed storage system and perform deduplication based on content fingerprints corresponding to the multiple ciphertext blocks.
[0065] It should be understood that the above-mentioned device is used to execute the method in the above-mentioned embodiment. The implementation principle and technical effect of the corresponding program module in the device are similar to those described in the above-mentioned method. The working process of the device can refer to the corresponding process in the above-mentioned method, which will not be repeated here.
[0066] Based on the method in the above embodiment, Figure 7 An example of a physical structure diagram of an electronic device is shown in FIG. Figure 7 As shown, an embodiment of the present application provides an electronic device, which may include: a processor 710, a communication interface 720, a memory 730 and a communication bus 740, wherein the processor 710, the communication interface 720, and the memory 730 communicate with each other through the communication bus 740. The processor 710 may call the logic instructions in the memory 730 to execute the decentralized data encryption deduplication storage method based on coding matrix secret sharing in the above embodiment.
[0067] In addition, the logic instructions in the above-mentioned memory 730 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the decentralized data encryption and deduplication storage method based on coding matrix secret sharing described in each embodiment of the present application.
[0068] Based on the method in the above embodiment, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the decentralized data encryption and deduplication storage method based on coding matrix secret sharing in the above embodiment.
[0069] Based on the method in the above embodiment, an embodiment of the present application provides a computer program product. When the computer program product runs on a processor, the processor executes the decentralized data encryption and deduplication storage method based on coding matrix secret sharing in the above embodiment.
[0070] It is understandable that the processor in the embodiment of the present application may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0071] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC.
[0072] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions may be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.
[0073] It should be understood that the various numerical numbers involved in the embodiments of the present application are only used for the convenience of description and are not used to limit the scope of the embodiments of the present application.
[0074] It will be easily understood by those skilled in the art that the above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A decentralized data encryption and deduplication storage method based on coding matrix secret sharing, characterized in that: include: The data to be stored is processed into blocks to generate multiple data blocks; Based on the content fingerprints of the plurality of data blocks, a plurality of decentralized key servers are used to collaboratively generate an encryption coding matrix; Encrypting the plurality of data blocks based on the encryption coding matrix to generate a plurality of ciphertext blocks; The multiple ciphertext blocks are stored in a distributed storage system, and duplicate data are deleted based on content fingerprints corresponding to the multiple ciphertext blocks.
2. According to claim 1, the decentralized data encryption and deduplication storage method based on coding matrix secret sharing is characterized in that: The block processing of the data to be stored includes: The data to be stored is processed by dividing the data into blocks using a block algorithm defined based on content.
3. The decentralized data encryption and deduplication storage method based on coding matrix secret sharing according to claim 1 is characterized in that: The method of collaboratively generating an encryption coding matrix based on the content fingerprints of the plurality of data blocks through a plurality of decentralized key servers includes: Based on the content fingerprints of the multiple data blocks, initial key fragments are respectively generated through multiple decentralized key servers; The encryption encoding matrix is generated based on a plurality of initial key fragments.
4. The decentralized data encryption and deduplication storage method based on coding matrix secret sharing according to claim 3 is characterized in that: The step of generating the encryption coding matrix based on a plurality of initial key fragments comprises: The matrix elements are generated step by step based on a plurality of initial key fragments, and the pipeline is accelerated by combining the sliding window technology to generate the encryption coding matrix.
5. The decentralized data encryption and deduplication storage method based on coding matrix secret sharing according to claim 1 is characterized in that: The deduplication of data based on the content fingerprints respectively corresponding to the multiple ciphertext blocks includes: Obtaining content fingerprints corresponding to the ciphertext blocks already existing in the distributed storage system; The content fingerprints corresponding to the multiple ciphertext blocks are compared with the content fingerprints corresponding to the existing ciphertext blocks, and the ciphertext blocks corresponding to the duplicate content fingerprints are deleted.
6. The decentralized data encryption and deduplication storage method based on coding matrix secret sharing according to claim 1 is characterized in that: The method further comprises: The content fingerprint information of the ciphertext blocks in the distributed storage system is updated in real time.
7. A decentralized data encryption and deduplication storage system based on coding matrix secret sharing, characterized in that: It includes a decentralized key server cluster, a distributed storage system, and a client module, among which: The decentralized key server cluster is connected to the client module, and includes multiple decentralized key servers, each of which can independently generate keys and collaboratively participate in the generation of encryption coding matrices and data block encryption processes, and multiple server clusters exchange data and collaborate through secure communication protocols; The distributed storage system is connected to the client module, and is used to store ciphertext blocks, implement deduplication operations according to ciphertext block content fingerprints, and update the stored ciphertext block information in real time; The client module is connected to the decentralized key server cluster and the distributed storage system, and is used to interact with the key server cluster and the distributed storage system to complete data uploading, encryption, storage and data recovery operations.
8. A decentralized data encryption and deduplication storage device based on coding matrix secret sharing, characterized in that: include: A block module is used to process the data to be stored in blocks and generate multiple data blocks; A generation module, configured to collaboratively generate an encryption coding matrix through a plurality of decentralized key servers based on the content fingerprints of the plurality of data blocks; An encryption module, used for encrypting the multiple data blocks based on the encryption coding matrix to generate multiple ciphertext blocks; The deduplication storage module is used to store the multiple ciphertext blocks in a distributed storage system and perform duplicate data deletion based on the content fingerprints respectively corresponding to the multiple ciphertext blocks.
9. An electronic device, characterized in that: include: at least one memory for storing a computer program; At least one processor is used to execute the program stored in the memory. When the program stored in the memory is executed, the processor is used to execute the decentralized data encryption and deduplication storage method based on coding matrix secret sharing as described in any one of claims 1-6.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program runs on a processor, the processor executes the decentralized data encryption and deduplication storage method based on coding matrix secret sharing as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Data change recovery algorithm capable of restoring data authenticity in cloud storage
CN106612172A
Cloud encrypted data deduplication method and device based on secret sharing and storage medium
CN118590316A
Distributed data method for encrypting data
EP3367292A2
Cloud secured storage system
US20210096753A1
Method and system for supporting dedupe, compression, logical volume crypto-erasure, and physical volume crypto-erasure on a storage array
US20240361936A1
Cited By
Federated learning method and system for decentralized orthogonal encryption based on symmetric noise
CN120223312A