摘要 |
Apparatus for preventing the unauthorised copying of or tampering with software in a computer makes use of a tamper-resistant module (1) for decrypting an encrypted program in the computer memory (4). The tamper-resistant module includes a microprocessor (2) and decryption circuitry which together operate to decrypt and execute the program instruction by instruction in real time. The decryption circuitry includes a first memory for storing a decryption key and decryption algorithms, and a second memory for temporarily storing a memory map generated inside the tamper-proof module when a decryption key, prefixed to the encrypted program, is received. Elements of the memory map correspond to locations in the computer memory (4) and are individually combined with respective instructions in the program as they are read out of the computer memory, each instruction being decrypted in this way and then executed in the processor (2) before the next instruction is processed. The apparatus is also capable of decrypting a key which is itself in encrypted form, using for example a public key system. Advantages of the apparatus are that the decrypted program does not appear on conductors outside the tamper- resistant module, and that once the memory map has been generated, the program can be decrypted and executed in real time at a relatively fast rate. <IMAGE> |