Patent ID: 8286004

Claim:
A method of providing encryption/decryption of data transferred between a media controller and a storage device, wherein the media controller providing said encryption/decryption based on a root key (RK), the method comprising: providing storage in a one-time programmable (OTP) memory as a plurality of un-burned slots to store data, the OTP memory initially provided without the RK; generating, with a random number generator, the RK; performing, with a control module, the steps of i) burning the RK to an initial slot of the OTP memory, and ii) validating the burned RK (bRK) stored at the initial slot based on a comparison of the RK and the burned RK; wherein, when the control module validates the burned RK: employing the burned RK as the RK by the media controller to provide said encryption/decryption; otherwise: burning one or more subsequent slots with the RK and validating each corresponding bRK until the control module validates the corresponding burned RK, and then employing the burned RK as the RK by the media controller to provide said encryption/decryption; wherein the comparison of the RK and the burned RK (bRK) is based on a maximum threshold of changed bits; and wherein a number of changed bits between RK and the bRK is determined by an exclusive-or (XOR) operation.