A non-transitory computer readable medium storing a computer program for executing a reproduction process of data recorded as encrypted data on an information recording medium, said computer program structured to cause an apparatus to:
- receive an error detection code corresponding to reproduction object data, the received error detection code representing any error added to the reproduction object data;
- generate a seed based on the received error detection code;
- generate a plurality of random numbers based on the generated seed, wherein at least one of the random numbers is generated using the generated seed as an initial value thereof;
- execute a descrambling process for cryptographic key data read from the information recording medium and corresponding to a cryptographic key for the reproduction object data, wherein the generated random numbers are applied to the cryptographic key to obtain descrambled cryptographic key data;
- and
- execute a decryption process of the reproduction object data with the cryptographic key generated based on the descrambled cryptographic key data.