1. A method for storing data, the method comprises: encrypting a plurality of data segments of the data using a plurality of encryption keys to produce a plurality of encrypted data segments; generating a plurality of deterministic values from the plurality of encrypted data segments using one or more deterministic functions; establishing a data intermingling pattern for the plurality of encrypted data segments; generating a plurality of masked keys by: selecting one or more of the plurality of deterministic values in accordance with the data intermingling pattern; and performing a masking function on the plurality of encryption keys and the selected one or more of the plurality of deterministic values; appending the plurality of masked keys to the plurality of encrypted data segments in accordance with the data intermingling pattern to produce a plurality of secure data packages; and outputting the plurality of secure data packages for storage.