A data storage device having mediametric properties used as a source of data
for
cryptoprocessing keys. A memory array is formed by a plurality of memory cells,
each cell containing a level of trapped charges that are difficult or impossible
to set to a specific value, but which may be read relatively precisely. The levels
of trapped charges are read from selected cells. Data relating to the level of
the trapped charges is used to produce the cryptoprocessing keys. In addition,
data relating to the charge levels in a memory array is used in generation of random
numbers. When a random number is desired, data is written to selected cells of
the memory array in order to establish random charge levels in the cells. The data
is then read from the selected cells and processed to yield a random number.