CPC H04L 9/30 (2013.01) [H04L 9/0618 (2013.01); H04L 9/50 (2022.05)] | 8 Claims |
1. A method for ensuring search completeness of searchable public key encryption, applicable to a blockchain network formed by a plurality of computer nodes, the method at least comprising:
the blockchain network receiving a keyword ciphertext and a corresponding file-identifier ciphertext generated by a transmitting end based on the public key encryption, and at least one miner storing the ciphertexts in a ciphertext table;
the blockchain network receiving a search trapdoor Tw transmitted by a receiving end, generated according to a private key and a keyword w to be searched;
the at least one miner in the blockchain network performing a secure search based on information of a state table and the search trapdoor Tw, and outputting a search result to the blockchain network; and
the blockchain network feeding the search result back to the receiving end,
further comprising:
the miner in the blockchain network, for the receiving end, initializing a ciphertext table cipherTablePK and a state table stateTablePK on a distributed ledger of the blockchain network,
wherein the transmitting end generating the keyword ciphertext and the corresponding file-identifier ciphertext based on the public key encryption comprises:
entering the keyword w, a file identifier id and the public key PK=(PKPEKS,PKPKE), computing the keyword ciphertext CPEKS←PEKS.Enc(PKPEKS,w) based on a keyword encryption algorithm, and computing the file-identifier ciphertext CPKE←PKE.Enc(PKPKE,id) based on a public key encryption algorithm, so as to generate the ciphertext C←(CPEKS,CPKE); and
encoding the ciphertext C and the public key PK so as to generate at least one first blockchain transaction, and publishing the first blockchain transaction to the blockchain network.
|