A method for generating a seed value for use in symmetric encryption
includes creating and storing a first data set and generating a hashed
value based on the first data set. A replacement position in the first
data set is selected, and at least a portion of the hashed value is
written into the first data set at the replacement position. A seed
portion of the first data set is selected as the seed value. By varying a
number of iterations, a balance can be struck between performance (fewer
iterations) and security (more iterations).