1. A method performed by a computer system for securing a first data set while providing recoverability of the first data set in the event of unavailability of data at one or more storage locations, the method comprising: (a) reading the first data set from a memory that stores the first data set, (b) processing the first data set to produce a second data set, the processing comprising: encrypting the first data set using an encryption key to produce an encrypted data set, and logically combining at least a portion of the encrypted data set with the encryption key to produce a resultant, wherein the second data set comprises the encrypted data set and the resultant, and wherein all of the at least a portion of the encrypted data set is required to recover the encryption key based on the resultant; (c) producing redundancy information based on information in the second data set; (d) producing a plurality of n shares from the second data set, wherein each of the n shares comprises at least some of the second data set; and (e) storing the plurality of n shares and the redundancy information, wherein at least some of the n shares are stored in separate storage locations and the first data set is recoverable using at least a threshold number, less than n, of the plurality of n shares.