Cryptography – Cryptanalysis
Patent
1996-12-26
1999-11-09
Cangialosi, Salvatore
Cryptography
Cryptanalysis
H04L 900
Patent
active
059828870
DESCRIPTION:
BRIEF SUMMARY
TECHNICAL FIELD
The present invention relates to an encrypted program executing apparatus loaded into a computer or the like which has a function of decrypting an encrypted program and executing the decrypted program.
BACKGROUND ART
A variety of types of software have recently been contrived in accordance with the remarkable spread of computers and can be utilized as general-purpose software irrespective of a type of computer. However, an illegal copy of software is increasing and thus some measures have to be taken immediately to prevent an illegal copy.
As one measure to prevent software from being illegally copied, there is provided a copy prevention method wherein a software is encrypted and only an authorized user is informed of a decrypting program and the encrypted software is decrypted before execution.
The conventional encryption is performed mainly using a software conversion algorithm. The more complicated the conversion algorithm, the more difficult the decryption of software, however, it is actually very hard to create such an encryption algorithm. Further, the conventional encryption method has drawbacks in which a decrypting program itself is copied and the encrypted software is decrypted and the decrypted program is copied and used, and so on.
Stated another way, the copy of the software is prevented in the conventional system by a software method using a password. However, the software method is not an almighty measure and can not perfectly prevent an illegal copy. It is possible to completely copy the software. The complete copy can not be distinguished from the original.
The present invention has been developed in consideration of the above and its object is to provide an encrypted program executing apparatus capable of preventing an encrypted program from being copied and used.
DISCLOSURE OF INVENTION
According to a first aspect of the present invention, there is provided an encrypted program executing apparatus for executing an encrypted program at least a part of which is encrypted, the apparatus comprising first memory means for storing a decrypting program, means for decrypting the encrypted program by using the decrypting program stored in the first memory means, second memory means for storing a program decrypted by the decrypting means, and means for inhibiting the decrypted program stored in the second memory means from being read out.
According to a second aspect of the present invention, there is provided an encrypted program according to the first aspect, in which the decrypting means comprises a CPU, formed in an LSI, for executing the decrypting program stored in the first storing means, and the second storing means comprises a cache memory formed in the LSI.
According to a third aspect of the present invention, there is provided an encrypted program according to the second aspect, in which the inhibiting means comprises a control register, formed in the LSI, to which an inhibit flag is set when the decrypting program is executed, and a cache function of the cache memory is inhibited if the inhibit flag is set in the control register.
According to a fourth aspect of the present invention, there is provided an encrypted program according to the second aspect, in which the inhibiting means comprises a flip-flop, formed in the LSI, to which an inhibit flag is set when the CPU executes an instruction to write the decrypted program into the cache memory, and a cache function of the cache memory is inhibited if the inhibit flag is set in the flip-flop.
According to a fifth aspect of the present invention, there is provided an encrypted program according to the second aspect, which further comprises means for inputting a program, third memory means for storing a specific information of the apparatus, and in which when the inputting means inputs a program including a password calculation program which is encrypted, the CPU decrypts the password calculation program, stores the decrypted password calculation program in the second memory means, calculates the password based on
REFERENCES:
patent: 4168396 (1979-09-01), Best
patent: 4433207 (1984-02-01), Best
patent: 4633388 (1986-12-01), Chiu
patent: 4764959 (1988-08-01), Watanabe et al.
patent: 5153921 (1992-10-01), Kawarabayashi
patent: 5544244 (1996-08-01), Ogura
The Transactions of The Institute of Electronics Information And Communication Engineers (IEICE), J70-D(1) (1987) Ryoichi Mori, Shuichi Tashiro "Proposal of the Software Service System (SSS)", pp. 70-81.
Cangialosi Salvatore
Casio Computer Co. Ltd.
MacPherson Alan H.
Marino Fabio E.
LandOfFree
Encrypted program executing apparatus does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Encrypted program executing apparatus, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Encrypted program executing apparatus will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-1466657