1. A method performed by a system comprising a processor and a non-transitory computer-readable storage medium storing instructions that, when executed by the processor, cause the processor to perform the method, the method comprising: encrypting a first block of data with a first cryptographic key to generate a first encrypted block of data, the first block of data comprising a second cryptographic key; encrypting a second block of data with the second cryptographic key to generate a second encrypted block of data, the second block of data comprising a third cryptographic key, storing the first encrypted block of data and the second encrypted block of data on a non-volatile storage medium; generating an index comprising the first cryptographic key and a first link associating the first encrypted block of data with the second encrypted block of data; and storing the index in a secure storage medium.