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: calculating a first cryptographic hash of at least a portion of a block of data; calculating a second cryptographic hash of at least one piece of meta-data relating to the block of data; encrypting the block of data and the at least one piece of the meta-data to form one or more uniform blocks of encrypted data; and storing the one or more uniform blocks of encrypted data on a non-volatile storage medium.