Authenticated read-only memory
First Claim
1. An apparatus for controlling access to a memory comprising:
- generator means for generating random digital signals;
first encryption means for providing first predetermined encryption for digital signals, said first encryption means including an accumulator, a key shift register, a wire crossing means, a read-only-memory (ROM) and a data latch, said first encryption means coupled to said generator means;
said wire crossing means coupled to said accumulator and said key shift register for providing a permutation code for providing said first encryption;
second encryption means for providing second predetermined encryption for digital signals, said second encryption means coupled to said generator means;
comparator means for comparing two digital signals, said comparator means coupled to said first and second encryption means for receiving said encryped signals, said comparator means coupled to said memory for enabling access to said memory as a function of said comparison,said first encryption means receiving said random digital signals from said generator means and loading said signals into said accumulator;
said key shift register loading a key which is stored in said memory;
a first group of bits from said accumulator being coupled to said wire crossing means and crossed in accordance with a function determined by first key bits stored in said key shift register and coupled as an output of said wire crossing means which is then exclusively OR'"'"'ed with second key bits stored in said key shift register and outputted;
said exclusively OR'"'"'ed output being coupled to said ROM to access coded data stored in said ROM which data is then loaded into said latch;
said random digital signal in said accumulator being shifted a predetermined number of bits and a second group of bits being exclusively OR'"'"'ed with said data in said latch and shifted into said accumulator to perform a permutation within said accumulator;
whereby access to said memory is controlled as a function of the encryped signals from said first and second encryption means.
0 Assignments
0 Petitions
Accused Products
Abstract
An apparatus for controlling access to a program stored in a read-only memory is described. In one embodiment, the memory includes a random number generator and an encryptor for encrypting random numbers from the generator. A second encryptor which provides identical encryption to the first encryptor is included within the system and is coupled to receive random numbers from the generator. A comparator compares the results from the first and second encryptors and if they are identical, enables the memory. The encryptors are programmable with a 64-bit key and 32-bit random numbers are used. By making the encryption process relatively slow (e.g., one second) many decades are required to break the key.
100 Citations
16 Claims
-
1. An apparatus for controlling access to a memory comprising:
-
generator means for generating random digital signals; first encryption means for providing first predetermined encryption for digital signals, said first encryption means including an accumulator, a key shift register, a wire crossing means, a read-only-memory (ROM) and a data latch, said first encryption means coupled to said generator means; said wire crossing means coupled to said accumulator and said key shift register for providing a permutation code for providing said first encryption; second encryption means for providing second predetermined encryption for digital signals, said second encryption means coupled to said generator means; comparator means for comparing two digital signals, said comparator means coupled to said first and second encryption means for receiving said encryped signals, said comparator means coupled to said memory for enabling access to said memory as a function of said comparison, said first encryption means receiving said random digital signals from said generator means and loading said signals into said accumulator; said key shift register loading a key which is stored in said memory; a first group of bits from said accumulator being coupled to said wire crossing means and crossed in accordance with a function determined by first key bits stored in said key shift register and coupled as an output of said wire crossing means which is then exclusively OR'"'"'ed with second key bits stored in said key shift register and outputted; said exclusively OR'"'"'ed output being coupled to said ROM to access coded data stored in said ROM which data is then loaded into said latch; said random digital signal in said accumulator being shifted a predetermined number of bits and a second group of bits being exclusively OR'"'"'ed with said data in said latch and shifted into said accumulator to perform a permutation within said accumulator; whereby access to said memory is controlled as a function of the encryped signals from said first and second encryption means. - View Dependent Claims (2, 3, 4)
-
-
5. An apparatus for controlling access to a memory comprising:
-
generator means for generating random digital signals; first encryption means for providing first predetermined encryption for digital signals, said first encryption means including an accumulator, a key shift register, a wire crossing means, a read-only-memory (ROM) and a data latch, said generator means for receiving said random signals from said generator means; said wire crossing means coupled to said accumulator and said key shift register for providing a permutation code for providing said first encryption; second encryption means for providing second predetermined encryption for digital signals, said second encryption means being coupled to receive encrypted signals from said first encryption means; comparator means for comparing two digital signals, said comparator means coupled to receive said random signals form said generator means and encrypted signals from said second encryption means, said comparator means coupled to said memory for enabling said memory as a function of said comparison, said first encryption means receiving said random digital signals from said generator means and loading said signals into said accumulator; said key shift register loading a key which is stored in said memory; a first group of bits from said accumulator being coupled to said wire crossing means and crossed in accordance with a function determined by first key bits stored in said key shift register and coupled as an output of said wire crossing means which is then exclusively OR'"'"'ed with second key bits stored in said key shift register and outputted; said exclusively OR'"'"'ed output being coupled to said ROM to access coded data stored in said ROM which data is then loaded into said latch; said random digital signal in said accumulator being shifted a predetermined number of bits and a second group of bits being exclusively OR'"'"'ed with said data in said latch and shifted into said accumulator to perform a permutation within said accumulator; whereby access to said memory is controlled and access is permitted only when said first and second encryption means are present and perform said first and second predetermined encryption. - View Dependent Claims (6, 7)
-
-
8. In a computer system wherein a program for said computer system is stored in a first memory, an apparatus for permitting only authenticated access to said program comprising:
-
a first programmable encryption means for encrypting a digital number in accordance with a programmed key, said first encryption means being integrated within the same physical unit containing said first memory, said first encryption means including an accumulator, a key shift register, a wire crossing means, a read-only-memory (ROM) and a data latch; said wire crossing means coupled to said accumulator, and said key shift register for providing a permutation code for providing said first encryption; a random number generator for generating digital number, said random number generator being integral with said first memory and being coupled to said first encryption means; a comparator, said comparator being integral with said first memory and being coupled to said first encryption means; a second programmable encryption means for encrypting a digital number in accordance with a programmed key, said second encryption means being coupled to said computer system and being coupled to said random number generator and said comparator means; said comparator means being coupled to said first memory to enable access to said first memory if said first and second encryption means are programmed with the same key; said first encryption means receiving said random digital signals from said random number generator and loading said signals into said accumulator; said key shift register loading a key which is stored in said memory; a first group of bits from said accumulator being coupled to said wire crossing means and crossed in accordance with a function determined by first key bits stored in said key shift register and coupled as an output of said wire crossing means which is then exclusively OR'"'"'ed with second key bits stored in said key shift register and outputted; said exclusively OR'"'"'ed output being coupled to said ROM to access coded data stored in said ROM which data is then loaded into said latch; said random digital signal in said accumulator being shifted a predetermined number of bits and a second group of bits being exclusively OR'"'"'ed with said data in said latch and shifted into said accumulator to perform a permutation within said accumulator; whereby access to said program stored in said first memory is controlled as a function of said first encryption means and said second encryption means. - View Dependent Claims (9, 10)
-
-
11. An apparatus for controlling access to a memory comprising:
-
a random signal generator for generating random digital signals; a first encryptor coupled to said random signal generator for providing first predetermined encryption of said random digital;
signals;said first encryptor including an accumulator, a key shift register, a wire crossing means, a read-only-memory (ROM) and a data latch; said wire crossing means coupled to said accumulator and said key shift register for providing a permutation code to provide said first predetermined encryption; a second encryptor coupled to said random signal generator for providing second predetermined encryption of said random digital signals; a comparator coupled to said first and second encryptor for comparing said first and second encryptions; said comparator also coupled to said memory for enabling access to said memory when said comparison is an expected result; said first encryptor, random signal generator and comparator are fabricated in a same semiconductor ship as said memory; said first encryption means receiving said random digital signals from said random number generator and loading said signals into said accumulator; said key shift register loading a key which is stored in said memory; a first group of bits from said accumulator being coupled to said wire crossing means and crossed in accordance with a function determined by first key bits stored in said key shift register and coupled as an output of said wire crossing means which is then exclusively OR'"'"'ed with second key bits stored in said key shift register and outputted; said exclusively OR'"'"'ed output being coupled to said ROM to access coded data stored in said ROM which data is then loaded into said latch; said random digital signal in said accumulator being shifted a predetermined number of bits and a second group of bits being exclusively OR'"'"'ed with said data in said latch and shifted into said accumulator and repeating said exclusive OR'"'"'ing and shifting into said accumulator operation a predetermined number of times and then performing a permutation within said accumulator; shifting said key stored in said key shift register, and repeating sequence of encryption; whereby access to said memory is controlled as a function of said comparison of said encryptions from said first and second encryptions. - View Dependent Claims (12, 13)
-
-
14. An apparatus for controlling access to a memory comprising:
-
a random signal generator for generating random digital signals; a first encryptor coupled to said random signal generator for providing first predetermined encryption of said random digital signals; a second encryptor coupled to said first encryptor for encrypting said first predetermined encryption and providing a second predetermined encryption; said first and second encryptors each including an accumulator, a key shift register, a wire crossing means, read-only-memory (ROM) and a data latch, wherein said wire crossing means is coupled to its respective accumulator and said key shift register for providing its respective permutation code for its respective encryption; a comparator coupled to said random signal generator and said second encryptor for comparing said second encryption to said random digital signal; said comparator also coupled to said memory for enabling access to said memory when said comparison is an expected result; said first encryptor, random signal generator and comparator are fabricated in a same semiconductor chip as said memory, said first encryption means receiving said random digital signals from said random number generator and loading said signals into said accumulator; said key shift register loading a key which is stored in said memory; a first group of bits from said accumulator being coupled to said wire crossing means and crossed in accordance with a function determined by first key bits stored in said key shift register and coupled as an output of said wire crossing means which is then exclusively OR'"'"'ed with second key bits stored in said key shift register and outputted; said exclusively OR'"'"'ed output being coupled to said ROM to access coded data stored in said ROM which data is then loaded into said latch; said random digital signal in said accumulator being shifted a predetermined number of bits and a second group of bits being exclusively OR'"'"'ed with said data in said latch and shifted into said accumulator and repeating said exclusive OR'"'"'ing and shifting into said accumulator operation a predetermined number of times and then performing a permutation within said accumulator; shifting said key stored in said key shift register, and repeating sequence of encryption; said second encryption functioning equivalently to said first encryption means; whereby access to said memory is controlled as a function of said comparison of said comparator; - View Dependent Claims (15, 16)
-
Specification