Technologies for preventing unauthorized alteration and analyses of programs have been studied to this date.  For example, Non-patent Reference 1 describes fundamental principles and specific methods for preventing software analyses.  Additionally, Non-patent Reference 2 discusses technological issues and measures of TRCS (Tamper Resistant Coding System) developed as a tool for preventing software analyses.  These technologies for preventing unauthorized software analyses and tampering are called “tamper resistant technologies”.  Hereinafter in this document, unauthorized alteration is simply referred to as “tampering” while authorized alteration is referred to as “updating”. 
Such tamper resistant technologies have already been in practical use.  Software for playing commercially produced DVD contents on a PC is one example of them.  DVD contents are encrypted to prevent illegal copying, and a decryption key is required in order to play back the contents.  If malicious users obtain the decryption key, the DVD contents may be easily copied and wrongly distributed via the Internet.  Therefore, the above-mentioned software is protected by tamper resistant technologies. 
Thus, digital contents represented by DVDs have been widely disseminated in recent years, and tamper resistant technologies are indispensable for software that plays these digital contents on a computer or other systems whose specifications have been made public. 
Tamper resistant technologies are also applied to electronic devices such as mobile phones.  Patent Reference 1 discloses one of the tamper resistant technologies, a tamper detection method which uses a hash function to prevent tampering with main memory of electronic devices. 
In addition, networking of electronic devices including mobile phones has been progressed in recent years, and accordingly, even if defects are found in software embedded in products after the shipment of the products, it has become possible to update the software by distributing software for correcting those defects via a network.     <Non-patent Reference 1> “Gyaku-kaiseki ya Kaihen kara Soft wo Mamoru (Protecting Software from Inverse Analyses and Tampering)” Nikkei Electronics, 1998.  1.5 (pp.  209-220)    <Non-patent Reference 2> “Software no Tai-tampering Technology (Software Tamper Resistant Technology)” Fuji Xerox Technical Report No.  13 (pp.  20-28)    <Patent Reference 1> Published Japanese Translation of PCT International Publication for Patent Application No.  2001-500293    <Patent Reference 2> Japanese Laid-Open Patent Application No.  2005-018725