Encrypted data detection method and device based on zero-knowledge proof and medium

By adopting a zero-knowledge proof-based encrypted data detection method on the data trading platform, combined with IPFS and blockchain technology, the problem that existing platforms cannot detect compliance while maintaining data privacy is solved, and efficient and secure data compliance detection and management is achieved.

CN120223361APending Publication Date: 2025-06-27INSPUR SMART TECH (NANJING) CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202510264176.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-06
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

Existing data trading platforms cannot effectively detect and manage non-compliant encrypted data while maintaining data privacy, especially in data transactions involving multiple parties.

Method used

The encrypted data detection method based on zero-knowledge proof is adopted to ensure the privacy and compliance of the data in a confidential state by generating and verifying proof documents. The method includes the use of cryptography technologies such as Pederson commitment, blinded vector factors, non-interactive proofs and Bulletproofs, combined with IPFS for proof document storage, and data transactions and audits through blockchain.

Benefits of technology

It realizes compliance detection of encrypted data without decrypting data, ensuring data quality and privacy, reducing communication overhead and complexity, and improving data storage and transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120223361A_ABST
    Figure CN120223361A_ABST
Patent Text Reader

Abstract

The invention discloses an encrypted data detection method and device based on zero-knowledge proof and a medium, and relates to the technical field of data detection. The method comprises the following steps: through a first client, using a proof generation algorithm to generate a proof file for a to-be-uploaded plaintext data item; uploading the proof file to an interstellar file system, generating a storage address of the proof file, and returning the storage address to the first client; encrypting the plaintext data item by using a symmetric encryption algorithm through the first client to obtain an encrypted data file; uploading the storage address and the encrypted data file to a block chain, and identifying the storage address and the encrypted data file as unaudited data; checking the unaudited data through the administrator system, and auditing the unaudited data; and under the condition that the auditing is passed, updating the unaudited data into the audited data. According to the method, the data in the data transaction process is effectively hidden, and the privacy, security and compliance of the data in a secret state are ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of data detection, and in particular, to an encrypted data detection method, device, and medium based on zero-knowledge proof. Background Art

[0002] Zero-knowledge proof is a cryptographic technique that allows a prover to prove to a verifier that a certain statement is true without revealing any additional information. The Pederson commitment is a commitment scheme based on cryptography that allows a committer to "commit" a value to a verifier, but the specific content cannot be determined before it is revealed. It has two key properties: hiding ensures that the verifier cannot infer the content of the value from the commitment, and binding guarantees that once the committer generates a commitment, the value cannot be modified. Bulletproofs is an efficient non-interactive zero-knowledge proof protocol mainly used to prove the correctness of certain calculations without exposing the input data.

[0003] Existing data trading platforms face a major challenge, that is, how to effectively detect and manage non-compliant data; during the trading process, the platform needs to be able to identify encrypted data that exceeds specific standards or does not conform to the specifications, so as to ensure the data quality obtained by data consumers and avoid affecting their research and decision-making. Although there are already various technologies, such as homomorphic encryption and obfuscation, which focus on protecting the privacy of data providers, in multi-party data transactions, existing solutions often fail to consider how to achieve compliance detection while maintaining data privacy.

[0004] Through the above analysis, the problems and defects of the existing technology are as follows: The trading platforms in the existing technology cannot effectively detect non-compliant data. Especially in multi-party data transactions, they cannot achieve compliance detection while maintaining data privacy, thus ensuring the data quality obtained by data consumers. Summary of the Invention

[0005] The embodiments of this application provide an encrypted data detection method, device, and medium based on zero-knowledge proof, which can solve the problem that the trading platforms in the existing technology cannot effectively detect non-compliant data. Especially in multi-party data transactions, they cannot achieve compliance detection while maintaining data privacy, thus ensuring the data quality obtained by data consumers.

[0006] In a first aspect, an embodiment of the present application provides an encrypted data detection method based on zero-knowledge proof. The method includes: using a proof generation algorithm by a first client to generate a proof file for the plaintext data item to be uploaded; uploading the proof file to the InterPlanetary File System, generating a storage address for the proof file, and returning the storage address to the first client; using a symmetric encryption algorithm by the first client to encrypt the plaintext data item to obtain an encrypted data file; uploading the storage address and the encrypted data file to the blockchain and marking them as un-reviewed data; viewing the un-reviewed data through an administrator system and initiating a review of the un-reviewed data; and updating the un-reviewed data to reviewed data in the case of passing the review.

[0007] In an implementation manner of the present application, viewing the un-reviewed data through an administrator system and initiating a review of the un-reviewed data specifically includes: obtaining, through the administrator system, the storage address of the proof file corresponding to the encrypted data file and sending the storage address to a third party; the third party requesting the proof file from the InterPlanetary File System according to the storage address; the InterPlanetary File System returning the proof file; and the third party verifying the proof file through a verification algorithm to obtain a verification result and returning the verification result to the first client.

[0008] In an implementation manner of the present application, after updating the un-reviewed data to reviewed data in the case of passing the review, the method further includes: a second client purchasing the reviewed data in the blockchain; the blockchain returning the corresponding encrypted data file; and the second client and the first client performing key exchange to complete decryption.

[0009] In an implementation manner of the present application, using a proof generation algorithm by a first client to generate a proof file for the plaintext data item to be uploaded specifically includes: generating public parameters and a random number according to preset security parameters, where the security parameters are used to generate the proof file and the random number is used to generate a key; randomly selecting a range proof data item from the plaintext data item to be uploaded; and committing to the secret value of the proof according to the public parameters and the range proof data item to calculate and obtain the proof file.

[0010] In an implementation manner of the present application, using a symmetric encryption algorithm by a first client to encrypt the plaintext data item to obtain an encrypted data file specifically includes: obtaining a public key and a private key based on the public parameters and the random number, and obtaining a symmetric key using the symmetric encryption algorithm. The public key and the private key are used for key exchange between the first client and the second client, and the symmetric key is used to encrypt the plaintext data item; and calculating and obtaining the encrypted data file according to the symmetric key and the plaintext data item.

[0011] In an implementation of the present application, a third-party institution verifies a proof document through a verification algorithm, obtains a verification result, and returns the verification result to the first client, which specifically includes: obtaining public parameters and a proof document; parsing and calculating the proof document to verify whether the secret value is within a preset range; if the secret value is within the preset range, returning verification passed to the first client.

[0012] In an implementation of the present application, in the case of passing the review, after updating the un-reviewed data to reviewed data, the method further includes: when the plaintext data item is updated, the first client updates the proof document and the encrypted data file; when the plaintext data item is revoked, recording the revocation operation.

[0013] In an implementation of the present application, the method further includes: introducing an identity authentication and access control mechanism to enable authorized users to access and operate on the data.

[0014] In a second aspect, an embodiment of the present application further provides an encrypted data detection device based on zero-knowledge proof. The device includes at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to: through the first client, use a proof generation algorithm to generate a proof document for the plaintext data item to be uploaded; upload the proof document to the InterPlanetary File System, generate a storage address of the proof document, and return the storage address to the first client; through the first client, use a symmetric encryption algorithm to encrypt the plaintext data item to obtain an encrypted data file; upload the storage address and the encrypted data file to the blockchain and mark them as un-reviewed data; view the un-reviewed data through an administrator system and initiate a review of the un-reviewed data; in the case of passing the review, update the un-reviewed data to reviewed data.

[0015] In a third aspect, an embodiment of the present application further provides a non-volatile computer storage medium for encrypted data detection based on zero-knowledge proof, storing computer-executable instructions, and the computer-executable instructions are set to: through the first client, use a proof generation algorithm to generate a proof document for the plaintext data item to be uploaded; upload the proof document to the InterPlanetary File System, generate a storage address of the proof document, and return the storage address to the first client; through the first client, use a symmetric encryption algorithm to encrypt the plaintext data item to obtain an encrypted data file; upload the storage address and the encrypted data file to the blockchain and mark them as un-reviewed data; view the un-reviewed data through an administrator system and initiate a review of the un-reviewed data; in the case of passing the review, update the un-reviewed data to reviewed data.

[0016] A method, device, and medium for encrypted data detection based on zero-knowledge proof provided by an embodiment of the present application effectively hide the data in the data transaction process by using cryptographic technologies such as Pederson commitment, blinded vector factors, non-interactive proofs, and Bulletproofs, ensuring the privacy, security, and compliance of the data in the encrypted state; combined with IPFS for storing proof files, it avoids the transaction platform from storing useless data while maintaining high security, further improving the data storage efficiency and transmission efficiency, significantly reducing the communication volume during multiple file transmissions, and verifying through experiments that the space and time overhead of generating proof files are relatively low.

[0017] The encrypted data detection scheme based on range proof solves the problem that in existing supply chains or data transaction platforms, it is impossible to effectively detect the compliance of uploaded data without decrypting it. Through zero-knowledge range proof, it can verify whether the data meets the predetermined standards on the premise of ensuring data privacy, ensuring data quality; through non-interactive zero-knowledge proof and Fiat-Shamir transformation, it reduces the communication overhead and the complexity in the process of proof generation and verification; the data provider can upload the data to the blockchain to clarify its ownership and transaction rules; the data requester can then obtain the data securely and automatically through smart contracts without relying on intermediary institutions. Such platforms often combine privacy computing technologies to ensure that data privacy is not leaked during the transaction process.

[0018] Through theoretical analysis and experimental verification, it is proved that this scheme has relatively low space and time overhead when generating and verifying proof files. Compared with other similar schemes, the communication volume and storage cost are significantly reduced, verifying the applicability and efficiency of the scheme in actual data transaction platforms. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings: Figure 1 It is a schematic flowchart of a method for encrypted data detection based on zero-knowledge proof provided by an embodiment of the present application; Figure 2 It is a schematic diagram of a model of a method for encrypted data detection based on zero-knowledge proof provided by an embodiment of the present application; Figure 3 It is a schematic flowchart of the uploading process of encrypted data files and proof files of a method for encrypted data detection based on zero-knowledge proof provided by an embodiment of the present application; Figure 4 It is a schematic flowchart of the data review process of a method for encrypted data detection based on zero-knowledge proof provided by an embodiment of the present application; Figure 5 Schematic diagram of the internal structure of an encrypted data detection device provided by an embodiment of the present application based on zero - knowledge proof. Detailed implementation manners

[0020] To make the objectives, technical solutions, and advantages of the present application clearer, the technical solutions of the present application will be clearly and completely described below in conjunction with specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present application.

[0021] The embodiments of the present application provide an encrypted data detection method, device, and medium based on zero - knowledge proof, which solve the problem that in the prior art, the trading platform cannot effectively detect non - compliant data. Especially in multi - party participated data transactions, it cannot achieve compliance detection while maintaining data privacy, thus ensuring the data quality obtained by data consumers.

[0022] The technical solutions proposed in the embodiments of the present application will be described in detail below with reference to the drawings.

[0023] Figure 1 Flowchart of an encrypted data detection method based on zero - knowledge proof provided by an embodiment of the present application. As Figure 1 shown, an encrypted data detection method based on zero - knowledge proof provided by an embodiment of the present application specifically includes the following steps: Step 10: Use a proof generation algorithm through a first client to generate a proof file for the plaintext data item to be uploaded; First, it can be understood that the embodiments of the present application are for encrypted data detection based on range proof. Aiming at the problem of lack of data compliance detection in the data sharing scheme, using data with range criteria ensures the feasibility of applying range proof to data detection. Then, use IPFS (InterPlanetary File System) to store the proof data file, separating the storage of the actual shared file from the proof file, reducing the burden on the actual shared file storage system, and also achieving the non - tampering of the proof file. Starting from the designed encrypted data detection scheme, after comparing with other schemes, finally select the Bulletproofs range proof algorithm as the theoretical basis of the detection scheme to implement the data detection scheme, and analyze the performance of the detection scheme from the aspects of the proof generation space consumption, time consumption, and verification time consumption.

[0024] In the embodiments of the present application, as Figure 2As shown in the figure, the system model of the confidential dirty data detection scheme can include six entities: Trusted Institution TI: A trusted third-party institution that can provide specified cryptographic services and can provide verification services for range proofs to the platform. Therefore, TI will work when the platform data auditor conducts data audits; InterPlanetary File System IPFS: A blockchain-like file system that can store data, which only stores the proof files of the data uploaded to the platform generated by the DP on the local client, rather than storing the actual data files. After IPFS stores the proof files, it will return a storage address (i.e., the Hash value of the file) to the DP; Blockchain Platform BC: A Fabric consortium blockchain platform that supports multiple institutions to enter the blockchain network through identity authentication and registration of nodes to jointly maintain. BC also supports chain codes to operate account information in the world state database. BC is used to store the uploaded encrypted data and related transaction information; Data Producer DP: The entity that generates and uploads encrypted data to the shared platform. Before uploading the data to the blockchain, DP will first generate proof files on the local client, upload the successfully generated proof files to IPFS, then encrypt the data using a key, and finally upload the encrypted file and the storage address of the proof file to BC together; Data Consumer DC: The purchaser and user of the data, that is, the user of the shared data in the platform. DC needs to obtain the authorization of the DP corresponding to the data to access the real information of the data; Platform Data Auditor DA: The auditor who detects the data uploaded to the platform, usually a full-time management staff in the data sharing platform, mainly responsible for auditing the data shared on the platform.

[0025] In the embodiments of the present application, the following several algorithms can be included: (Initialization) Setup(ρ) → Param: This algorithm is executed by the DP local client, takes the security parameter ρ as input, and outputs the public parameter Param used in the range proof and the random number R for generating the key.

[0026] (Key Generation) KeyGen(R, Param) → (Pk, Sk, K): Takes the random number R as input, and outputs the public-private key pair Pk, Sk for key exchange and the symmetric key K for encrypting the file.

[0027] (Data Encryption) Encrypt(Data, K) → (cipherData): Inputs the symmetric key K for data encryption and the data plaintext Data to be uploaded, and outputs the ciphertext data cipherData after symmetric encryption.

[0028] Prove(Param, Data) → evidence: The input parameters include the public parameter Param and the data plaintext Data uploaded by the DP to the platform. The output is the proof file evidence generated after the proof is generated.

[0029] Verify(Param, evidence) → {true, false}: This algorithm is executed by the TI. The inputs include the public parameter Param and the corresponding evidence retrieved by the TI from IPFS. After verification by the verification algorithm, the output result {true, false} corresponds to the verification result.

[0030] Decrypt(cipherData, K) → (Data): This algorithm is executed by the DC on the user's client. The input parameters include the encrypted data file Data obtained from the BC and the symmetric key K obtained from the DP. The output is the data file plaintext Data after decryption.

[0031] Based on the zero-knowledge proof algorithm Bulletproofs, an encrypted data detection scheme is designed for compliance detection of encrypted data in the supply chain data trading platform. By constructing a range proof for confidential data, reviewers can verify the compliance of encrypted data without disclosing any information.

[0032] In addition, combined with the characteristics of supply chain data, the scheme is extended and optimized; first, support for any range proof is provided; then, the construction process of the proof file is optimized. By aggregating the range proofs of similar data items, the size of the generated proof in the multi-data item scenario is effectively reduced; finally, a low-coupling and high-cohesion system model is designed in combination with the scheme, effectively separating the computing and storage overheads from the blockchain and realizing efficient on-chain and off-chain interactions.

[0033] The above entities and algorithms are explained in detail below.

[0034] As an alternative embodiment, as Figure 3 shown, through the first client, use the proof generation algorithm to generate a proof file for the plaintext data item to be uploaded. Specifically, it may include: Step 101: Generate public parameters and random numbers according to the preset security parameters. The security parameters are used to generate the proof file, and the random numbers are used to generate keys. In this step, first, initialize. At the DP client, input the security parameter , and generate the public parameter , where is the elliptic curve group, is the order of the elliptic curve, which is a large prime number, is Generator Output the generated random number R and public parameters:

[0035] Step 102: Randomly select a range proof data item from the plaintext data items to be uploaded; In this step, the Prove(Param,Data) proof generation algorithm includes the public parameter Param and the shared data file Data to be uploaded. Randomly select a data item data1 that can be used for range proof from the shared data file Data. After completing the standard preprocessing of the selected data item according to the algorithm, commit to the secret value m of the proof. After all the materials required for proof generation are prepared, the proof can be generated.

[0036] Step 103: Commit to the secret value of the proof according to the public parameter and the range proof data item, and calculate the proof file.

[0037] In this step: 1: Randomly select , calculate the secret value commitment of , although M hides m, it is possible to verify whether M corresponds to a specific m value without revealing m.

[0038] 2: According to the specific value of the secret value m, calculate the binary representation of the secret value m , and let the vector .

[0039] 3: Define , can convert the representation forms of and to .

[0040] 4: Arbitrarily and randomly select a random number , calculate the commitment values for the vector and the vector , make a commitment to the vector form of the secret value.

[0041] 5: Arbitrarily select a random number , arbitrarily and randomly select two blinding vector factors , commit to the randomly selected blinding vector factors, and calculate .

[0042] 6: Use the Fiat-Shamir transform to generate challenges. Select a secure hash algorithm , use as input and calculate respectively , output two challenge values

[0043] 7: Use the challenge values for vector polynomials and generation. ; . Here, the definition of. is . .

[0044] 8: Perform an inner product operation on the vector polynomial to generate a quadratic expression about , , and the constant in the quadratic expression is represented as .

[0045] 9: Randomly select as the blinding factor, and respectively commit to the linear term coefficient and the quadratic term coefficient in , and calculate . Use the Fiat-Shamir transform again to generate the third challenge value .

[0046] 10: Calculate according to the generated challenge value , and calculate . Complete the data generation in all proof files. Use inner product optimized proof to reduce the amount of transmission required, and .

[0047] 11: Combine and generate a json file evidence, and upload it to be stored in the InterPlanetary File System IPFS.

[0048] Step 20: Upload the proof file to the InterPlanetary File System, generate the storage address of the proof file, and return the storage address to the first client; In this step, using IPFS (InterPlanetary File System) for storing the proof file ensures the decentralization, security, and immutability of data storage, effectively avoiding the single point of failure and data loss risks in traditional centralized storage.

[0049] Step 30: Through the first client, use the symmetric encryption algorithm to encrypt the plaintext data item to obtain the encrypted data file; As an alternative embodiment, through the first client, the plaintext data item is encrypted using a symmetric encryption algorithm to obtain an encrypted data file, which specifically may include: Step 301: Based on the public parameters and a random number, a public key and a private key are obtained, and a symmetric key is obtained using the symmetric encryption algorithm. The public key and the private key are used for key exchange between the first client and the second client, and the symmetric key is used to encrypt the plaintext data item; In this step, the private key is randomly selected , and calculate , is the private key of DP, is the generated public key, and the generated public and private keys are used in the subsequent encryption key exchange process; According to the selected AES symmetric encryption algorithm, use the random number to generate a symmetric key for encrypting the data file.

[0050] Step 302: According to the symmetric key and the plaintext data item, calculate to obtain the encrypted data file.

[0051] In this step, input the symmetric key of the encrypted data file and the shared data file Data to be uploaded, perform master key expansion, initial round key addition, multi-round function operations, and final round function operations to complete the encryption of the shared data, and finally output the encrypted data file cipherData.

[0052] Step 40: Upload the storage address and the encrypted data file to the blockchain and mark them as un-reviewed data; In this step, based on the data trading platform of the blockchain, this platform ensures the ownership, authenticity, and security of transactions of data through the decentralized, immutable, and transparent characteristics of the blockchain.

[0053] Step 50: View the un-reviewed data through the administrator system and initiate a review of the un-reviewed data; As an alternative embodiment, as Figure 4 shown, view the un-reviewed data through the administrator system and initiate a review of the un-reviewed data, which specifically may include: Step 501: Obtain the storage address of the proof file corresponding to the encrypted data file through the administrator system and send the storage address to a third-party institution; Step 502: The third-party institution requests the proof file from the InterPlanetary File System according to the storage address; Step 503: The InterPlanetary File System returns the proof file; Step 504: The third-party institution verifies the proof file through a verification algorithm to obtain a verification result and returns the verification result to the first client.

[0054] As an alternative embodiment, a third-party institution verifies the proof document through a verification algorithm, obtains a verification result, and returns the verification result to the first client. Specifically, it may include: Step 5041: Obtain public parameters and a proof document; In this step, the third-party institution TI obtains the public parameter Param and the proof document evidence retrieved from IPFS.

[0055] Step 5042: Parse and calculate the proof document to verify whether the secret value is within a preset range; In this step, 1: Parse the proof document evidence into the proof data to be used , . If the parsing fails, directly return false.

[0056] 2: Verify the correctness of the challenge value . If it is incorrect, directly return false.

[0057] 3: Verify the correctness of in the proof document. By calculating , if the results of both sides of the equation are equal, it means that has not been modified and is correct. Proceed to the next verification; otherwise, directly return false.

[0058] 4: According to the commitment generated by , generate the commitment of , where .

[0059] 5: Use the generated commitment to determine whether is correct, that is, determine . If the results of both sides of the equation are equal, it means that has not been modified and is correct. Proceed to the next verification; otherwise, directly return false.

[0060] 6: Finally, determine whether is equal to the result of the inner product of , that is, determine . Here, a proof verification method based on inner product optimization is used, and is used as the input for verification; if the results of both sides of the equation are equal, it can prove that the value of m is within the specified range, that is, prove that DP indeed has data within the range, and return true; otherwise, return false, indicating that it does not have data within the range.

[0061] Step 5043: If the secret value is within the preset range, return verification passed to the first client.

[0062] Step 60: In the case of successful review, update the un-reviewed data to reviewed data.

[0063] In this step, for data that is shared normally, the DC can contact the DP after purchase to obtain the decryption key for the corresponding file, and then the DC can complete data decryption locally; otherwise, it will be marked as failed, and all other DCs cannot obtain the relevant information of the data.

[0064] To ensure the confidentiality of the uploaded shared data in the solution, the user will generate a new key as the encryption key each time data is uploaded, preventing the situation where the DC can use all the shared data of the DP with just one purchase. And to ensure the availability of the solution, the DP needs to upload the corresponding data according to the specified data upload template to prevent the failure of generating the proof file, that is, in the case of a small detection scenario, the platform will reject the upload request lacking the proof file.

[0065] As an optional embodiment, in the case of successful review, after updating the un-reviewed data to reviewed data, the method may further include: Step 70: The second client selects and purchases the reviewed data in the blockchain; Step 80: The blockchain returns the corresponding encrypted data file; Step 90: The second client exchanges keys with the first client to complete decryption.

[0066] In this step, the DC client inputs the symmetric key obtained from the DP and the encrypted file cipherData downloaded from the BC, performs key expansion, initial round key addition, multi-round round function operations, and final round function operations according to the input master key to complete the decryption of the ciphertext and output the plaintext data file Data.

[0067] As an optional embodiment, in the case of successful review, after updating the un-reviewed data to reviewed data, the method may further include: when the plaintext data item is updated, the first client updates the proof file and the encrypted data file; when the plaintext data item is revoked, record the revocation operation.

[0068] As an optional embodiment, the method may further include: introducing an authentication and access control mechanism to enable authorized users to access and operate the data.

[0069] The above is the method embodiment proposed in this application. Based on the same inventive concept, the embodiments of this application also provide an encrypted data detection device based on zero-knowledge proof, and its structure is as Figure 5 shown.

[0070] Figure 5 Schematic diagram of the internal structure of an encryption data detection device provided by an embodiment of the present application. As Figure 5 shown, the device includes: At least one processor 501; And a memory 502 communicatively connected to the at least one processor; Wherein, the memory 502 stores instructions executable by the at least one processor. The instructions are executed by the at least one processor 501 to enable the at least one processor 501 to: generate a proof file for the plaintext data item to be uploaded using a proof generation algorithm through a first client; upload the proof file to the InterPlanetary File System, generate a storage address of the proof file, and return the storage address to the first client; encrypt the plaintext data item using a symmetric encryption algorithm through the first client to obtain an encrypted data file; upload the storage address and the encrypted data file to the blockchain and mark them as un-reviewed data; view the un-reviewed data through an administrator system and initiate a review of the un-reviewed data; update the un-reviewed data to reviewed data in the case of passing the review.

[0071] A non-volatile computer storage medium for encryption data detection based on zero-knowledge proof provided by some embodiments of the present application corresponds to Figure 1 stores computer-executable instructions, and the computer-executable instructions are set to: generate a proof file for the plaintext data item to be uploaded using a proof generation algorithm through a first client; upload the proof file to the InterPlanetary File System, generate a storage address of the proof file, and return the storage address to the first client; encrypt the plaintext data item using a symmetric encryption algorithm through the first client to obtain an encrypted data file; upload the storage address and the encrypted data file to the blockchain and mark them as un-reviewed data; view the un-reviewed data through an administrator system and initiate a review of the un-reviewed data; update the un-reviewed data to reviewed data in the case of passing the review.

[0072] Each embodiment in the present application is described in a progressive manner. The same or similar parts among the embodiments can be referred to each other, and the differences between each embodiment and other embodiments are emphasized. In particular, for the embodiments of the Internet of Things devices and media, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.

[0073] The systems and media provided by the embodiments of the present application correspond one-to-one to the methods. Therefore, the systems and media also have beneficial technical effects similar to the corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the systems and media are not elaborated here.

[0074] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0075] The present application is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, as well as the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the specified functions in Figure 1 one or more flows and / or blocks Figure 1 one or more blocks.

[0076] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that implement the specified functions in Figure 1 one or more flows and / or blocks Figure 1 one or more blocks.

[0077] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are performed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the specified functions in Figure 1 one or more flows and / or blocks Figure 1 one or more blocks.

[0078] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and memory.

[0079] The memory may include non-permanent memory in the form of computer-readable media, random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). The memory is an example of computer-readable media.

[0080] A computer-readable medium includes both permanent and non-permanent, removable and non-removable media that can store information by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transitory medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer-readable medium does not include transitory computer-readable media such as modulated data signals and carrier waves.

[0081] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.

[0082] The above description is only for the embodiments of the present application and is not intended to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.

Claims

1. A method for detecting encrypted data based on zero-knowledge proof, characterized in that: The method comprises: Generate a proof file for the plaintext data item to be uploaded using a proof generation algorithm through the first client; Uploading the certification file to the Interplanetary File System, generating a storage address for the certification file, and returning the storage address to the first client; By using the first client, the plaintext data item is encrypted using a symmetric encryption algorithm to obtain an encrypted data file; Upload the storage address and encrypted data file to the blockchain and mark them as unaudited data; Viewing the unaudited data through an administrator system and initiating an audit of the unaudited data; In the case of passing the audit, the unaudited data is updated to the audited data.

2. The method for detecting encrypted data based on zero-knowledge proof according to claim 1, characterized in that: View the unaudited data through the administrator system and initiate an audit of the unaudited data, including: Obtaining the storage address of the certification file corresponding to the encrypted data file through the administrator system, and sending the storage address to a third-party organization; The third party institution requests the certification document from the interplanetary file system according to the storage address; The interplanetary file system returns the certification document; The third-party organization verifies the certification document through a verification algorithm, obtains a verification result, and returns the verification result to the first client.

3. The method for detecting encrypted data based on zero-knowledge proof according to claim 2, characterized in that: In the case of passing the audit, after updating the unaudited data to the audited data, the method further includes: The second client purchases the approved data in the blockchain; The blockchain returns the corresponding encrypted data file; The second client exchanges keys with the first client to complete decryption.

4. The method for detecting encrypted data based on zero-knowledge proof according to claim 2, characterized in that: Generate a proof file for the plaintext data item to be uploaded using a proof generation algorithm through the first client, specifically including: Generate public parameters and random numbers according to preset security parameters, wherein the security parameters are used to generate a certification document and the random numbers are used to generate a key; Randomly selecting a range proof data item from the plaintext data items to be uploaded; According to the public parameters and the scope proof data item, the secret value of the proof is committed and the proof document is calculated.

5. The method for detecting encrypted data based on zero-knowledge proof according to claim 4, characterized in that: By using the first client, the plaintext data item is encrypted using a symmetric encryption algorithm to obtain an encrypted data file, specifically including: Based on the public parameter and the random number, a public key and a private key are obtained, and a symmetric key is obtained using a symmetric encryption algorithm, wherein the public key and the private key are used for the first client and the second client to perform key exchange, and the symmetric key is used to encrypt the plaintext data item; An encrypted data file is obtained by calculation according to the symmetric key and the plaintext data item.

6. The method for detecting encrypted data based on zero-knowledge proof according to claim 4, characterized in that: The third party institution verifies the certification document by using a verification algorithm to obtain a verification result, and returns the verification result to the first client, specifically including: Obtaining the public parameters and certification documents; Parsing and calculating the certification document to verify whether the secret value is within a preset range; If the secret value is within a preset range, a verification is returned to the first client.

7. The method for detecting encrypted data based on zero-knowledge proof according to claim 1, characterized in that: In the case of passing the audit, after updating the unaudited data to the audited data, the method further includes: When the plaintext data item is updated, the first client updates the certification file and the encrypted data file; When the plaintext data item is revoked, the revocation operation is recorded.

8. The method for detecting encrypted data based on zero-knowledge proof according to claim 7, characterized in that: The method further comprises: Introduce authentication and access control mechanisms to enable authorized users to access and operate data.

9. An encrypted data detection device based on zero-knowledge proof, characterized in that: The device comprises: at least one processor; and, a memory communicatively coupled to the at least one processor; The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to: Generate a proof file for the plaintext data item to be uploaded using a proof generation algorithm through the first client; Uploading the certification file to the Interplanetary File System, generating a storage address for the certification file, and returning the storage address to the first client; By using the first client, the plaintext data item is encrypted using a symmetric encryption algorithm to obtain an encrypted data file; Upload the storage address and encrypted data file to the blockchain and mark them as unaudited data; Viewing the unaudited data through an administrator system and initiating an audit of the unaudited data; In the case of passing the audit, the unaudited data is updated to the audited data.

10. A non-volatile computer storage medium for encrypted data detection based on zero-knowledge proof, storing computer executable instructions, characterized in that: The computer executable instructions are configured to: Generate a proof file for the plaintext data item to be uploaded using a proof generation algorithm through the first client; Uploading the certification file to the Interplanetary File System, generating a storage address for the certification file, and returning the storage address to the first client; By using the first client, the plaintext data item is encrypted using a symmetric encryption algorithm to obtain an encrypted data file; Upload the storage address and encrypted data file to the blockchain and mark them as unaudited data; Viewing the unaudited data through an administrator system and initiating an audit of the unaudited data; In the case of passing the audit, the unaudited data is updated to the audited data.

Citation Information

Patent Citations

  • Data management method and device applied to block chain

    CN111369236A

  • Supervisable zero-knowledge proof method and device based on discrete logarithm equality proof

    CN112733163A

  • File auditing system and method based on block chain and IPFS

    CN113468612A

  • Data sharing method, device and system

    CN118802147A

  • Systems and methods for distributed identity verification

    US20170250972A1