A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for privacy-preserving verification of a product claim for a product provided from a supply chain, the operations comprising:
- receiving, by a system of a re-encryption party, an index and a first set of random numbers from a computing device of a verifier, the first set of random numbers comprising one or more random numbers;
- receiving, by the system of the re-encryption party and from a shared data storage, encrypted supply chain data (SCD) of a supply chain actor (SCA);
- re-encrypting, by the system of the re-encryption party;
- the encrypted SCD to provide re-encrypted SCD, the encrypted SCD being re-encrypted under a public encryption key of a decryption party;
- executing, by the system of the re-encryption party, one or more homomorphic operations on the re-encrypted SCD to provide an encrypted blinded result using a second set of random numbers;
- receiving, by the system of the re-encryption party and from a system of the decryption party, an encrypted modified blinded result;
- generating, by the system of the re-encryption party, an encrypted blinded verification result using a verification function, the encrypted blinded result, the encrypted modified blinded result, and the first set of random numbers;
- and
- sending, from the system of the re-encryption party to the system of the decryption party, the encrypted blinded verification result, the system of the decryption party decrypting the encrypted blinded verification result to provide a blinded verification result to the computing device of the verifier, the computing device determining a verification result based on the blinded verification result and the first set of random numbers, and comparing the verification result to the product claim.