1. A computer-implemented method of sharing data in a supply chain, the data corresponding to an item having a tag associated therewith, the method comprising: determining, by one or more processors, a random number from the tag, the random number being unique to the item; selecting, by the one or more processors, a first integer and a second integer from a multiplicative group of prime integers; generating, by the one or more processors, a first public key based on the first integer and a first key based on the second integer; generating, by the one or more processors, an identifier based on the first public key and the random number, the identifier being used to locate and identify encrypted data associated with the tag within a central repository of the supply chain; generating, by the one or more processors, a second key based on the first key and the random number; encrypting, by the one or more processors, the data using the second key to provide the encrypted data; transmitting, by the one or more processors, a tuple over a network; and storing the transmitted tuple in the central repository, the central repository comprising a persistent storage device, and the tuple comprising the identifier and the encrypted data and being absent from the tag.