US5850452A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method for numerically scrambling data and its application to a programmable circuit
Assignee: STMicroelectronics SA
•
Filing: 1995-07-31
•
Granted: 1998-12-15
•
Expires: 2015-07-31
Abstract
Abstract The present invention concerns a method for the numerical scrambling by permutation of data bits in a programmable circuit comprising a control unit and at least one data bus (DBUS) to transmit data between the control unit and several memory circuits. It consists of having data on the bus either in a scrambled form or in an unscrambled form according to whether it is instructions data or not. And data in some of the memories is scrambled. The present invention also concerns a method for realising a permutation circuit.
Inventors
- 👤 Laurent Sourgen
- 👤 Sylvie Wuidart
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 15:33
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/76; G06F21/00; G06F21/60; G06F21/62; G06F21/70; G06F21/71; G06F21/72
Claims Analysis
Total Claims: 31
Claim 1
Independent Claim
79 words
A programmable circuit, comprising: n input lines and n output lines; n permutation stages, each having a central interconnecting layer which is connected to a respective one of said n output lines and a local interconnecting layer, portions of which connect respective ones of said input lines to the level of said central interconnecting layer; wherein the programming of a permutation stage consists of extending said central interconnecting layer of said permutation stage to a respective local interconnecting layer.
Claim 2
Dependent Claim
79 words
A programmable circuit, comprising: n input lines and n output lines; n permutation stages, each having a central interconnecting layer which is connected to a respective one of said n output lines and a local interconnecting layer, portions of which connect respective ones of said input lines to the level of said central interconnecting layer; wherein the programming of a permutation stage consists of extending said central interconnecting layer of said permutation stage to a respective local interconnecting layer.
Claim 3
Dependent Claim
21 words
A programmable circuit according to claim 1, wherein said central interconnecting layer and said local interconnecting layer are ion implanted silicon.
Claim 4
Dependent Claim
25 words
A programmable circuit according to claim 1, wherein said central interconnecting layer is made of metal and said local interconnecting layers are ion implanted silicon.
Claim 5
Dependent Claim
24 words
A programmable circuit according to claim 1, wherein a read-only memory is formed and programmed in the same manufacturing steps as said permutation stages.
Claim 6
Dependent Claim
31 words
The circuit of claim 4, wherein the difficulty of visually inspecting a descrambling key is increased by the use of the same manufacturing steps as are used in said read-only memory.
Claim 7
Dependent Claim
170 words
A numerical scrambling method for a programmable circuit, comprising the steps of: (a.) accepting a first set of data from a data bus, applying a first scrambling operation to said first set of data to produce a first set of scrambled data, which is then stored in a first rewritable memory; (b.) accepting a second set of data from said data bus, applying a second scrambling operation, which is different from said first scrambling operation, to said second set of data to produce a second set of scrambled data, which is then stored in a second rewritable memory, which is different from said first rewrittable memory; and (c.) when a memory read request is accepted, reading one of said sets of scrambled data from a respective one of said rewritable memories, applying a respective inverse scrambling operation, corresponding to a respective one of said scrambling operations, to said respective set of scrambled data to reproduce said respective set of data, and placing said set of data on said data bus.
Claim 8
Dependent Claim
170 words
A numerical scrambling method for a programmable circuit, comprising the steps of: (a.) accepting a first set of data from a data bus, applying a first scrambling operation to said first set of data to produce a first set of scrambled data, which is then stored in a first rewritable memory; (b.) accepting a second set of data from said data bus, applying a second scrambling operation, which is different from said first scrambling operation, to said second set of data to produce a second set of scrambled data, which is then stored in a second rewritable memory, which is different from said first rewrittable memory; and (c.) when a memory read request is accepted, reading one of said sets of scrambled data from a respective one of said rewritable memories, applying a respective inverse scrambling operation, corresponding to a respective one of said scrambling operations, to said respective set of scrambled data to reproduce said respective set of data, and placing said set of data on said data bus.
Claim 9
Dependent Claim
17 words
A method according to claim 6, wherein said scrambling operations are a bit permutation of said data.
Claim 10
Dependent Claim
16 words
The programmable system of claim 6, wherein said first rewritable memory is a random access memory.
Claim 11
Dependent Claim
17 words
The programmable system of claim 6, wherein said second rewritable memory is an electrically erasable, programmable memory.
Claim 12
Dependent Claim
19 words
The programmable system of claim 6, wherein said first set of data transmitted on said data bus is scrambled.
Claim 13
Dependent Claim
19 words
The programmable system of claim 6, wherein said second set of data transmitted on said data bus is unscrambled.
Claim 14
Dependent Claim
25 words
The programmable system of claim 6, further comprising a read-only memory in which instructions are stored and transmitted to a data bus in scrambled form.
Claim 15
Dependent Claim
16 words
A method according to claim 6, wherein said scrambling operations are performed by a passive circuit.
Claim 16
Dependent Claim
160 words
A numerical scrambling method for a programmable circuit, comprising the steps of: (a.) generating a first set of data: (b.) applying a first scrambling operation to said first set of data to obtain a second set of scrambled data; (c.) transmitting said second set of scrambled data over a data bus to a rewritable memory, (d.) applying a second scrambling operation to said second set of scrambled data to produce a third set of scrambled data and storing said second set of scrambled data n said rewritable memory; (e.) reading said third set of scrambled data from said rewritable memory and applying an inverse scrambling operation, corresponding to said second scrambling operation, to said third set of scrambled data to reproduce said second set of scrambled data, which is transmitted over said data bus; (f.) applying an inverse scrambling operation, corresponding to said first scrambling operation, to said second set of scrambled data, to reproduce said first set of data.
Claim 17
Dependent Claim
160 words
A numerical scrambling method for a programmable circuit, comprising the steps of: (a.) generating a first set of data: (b.) applying a first scrambling operation to said first set of data to obtain a second set of scrambled data; (c.) transmitting said second set of scrambled data over a data bus to a rewritable memory, (d.) applying a second scrambling operation to said second set of scrambled data to produce a third set of scrambled data and storing said second set of scrambled data n said rewritable memory; (e.) reading said third set of scrambled data from said rewritable memory and applying an inverse scrambling operation, corresponding to said second scrambling operation, to said third set of scrambled data to reproduce said second set of scrambled data, which is transmitted over said data bus; (f.) applying an inverse scrambling operation, corresponding to said first scrambling operation, to said second set of scrambled data, to reproduce said first set of data.
Claim 18
Dependent Claim
20 words
A method according to claim 14, wherein said scrambling operations are a bit permutation of the data to be scrambled.
Claim 19
Dependent Claim
15 words
The method of claim 14, wherein said scrambling operations are performed by a passive circuit.
Claim 20
Dependent Claim
105 words
A memory comprising: a memory; a data bus on which are transmitted a first set of data, which is in a scrambled form; a scrambling circuit having an first and second port, said first port connected to said data bus, said second port being operatively connected to said memory; wherein said scrambling circuit performs a permutation of said first set of data to obtain a second set of data which is then stored in said memory and performs a reverse permutation on said second set of data in said memory to reproduce said first set of data which is then transmitted on said data bus.
Claim 21
Dependent Claim
105 words
A memory comprising: a memory; a data bus on which are transmitted a first set of data, which is in a scrambled form; a scrambling circuit having an first and second port, said first port connected to said data bus, said second port being operatively connected to said memory; wherein said scrambling circuit performs a permutation of said first set of data to obtain a second set of data which is then stored in said memory and performs a reverse permutation on said second set of data in said memory to reproduce said first set of data which is then transmitted on said data bus.
Claim 22
Dependent Claim
11 words
A memory according to claim 17, wherein said memory is rewritable.
Claim 23
Dependent Claim
14 words
A method according to claim 17, wherein said scrambling circuit is a passive circuit.
Claim 24
Dependent Claim
134 words
A processing unit comprising: a processor, connected through a data bus to a first and a second memory; a first passive scrambling circuit having a first and a second port, and connected to receive a first data string from said data bus and to permute said first data string into a first scrambled data set to be stored in said first memory; a second passive scrambling circuit having a first and a second port, and connected to receive a second data string from said data bus and to permute said second data string into a second scrambled data set to be stored in said second memory; wherein said first memory is a different type of memory from said second memory; wherein said first scrambling circuit performs a different permutation from said second scrambling circuit.
Claim 25
Dependent Claim
134 words
A processing unit comprising: a processor, connected through a data bus to a first and a second memory; a first passive scrambling circuit having a first and a second port, and connected to receive a first data string from said data bus and to permute said first data string into a first scrambled data set to be stored in said first memory; a second passive scrambling circuit having a first and a second port, and connected to receive a second data string from said data bus and to permute said second data string into a second scrambled data set to be stored in said second memory; wherein said first memory is a different type of memory from said second memory; wherein said first scrambling circuit performs a different permutation from said second scrambling circuit.
Claim 26
Dependent Claim
18 words
A processing unit according to claim 20, wherein said first and second scrambling circuits are passive logic circuits.
Claim 27
Dependent Claim
103 words
A numerical scrambling method comprising the steps of: reading data from a memory address: and applying a scrambling operation to at least two bits of said data to produce scrambled data, wherein said scrambling operation is performed by a passive circuit, said passive circuit comprising: n input lines; n output lines; and a connection from each said input line to a respective output line such that data received on said input lines is output on said output lines in at least partially scrambled form, wherein the pattern of metallization, including used and unused vias, increases the difficulty of visually inspecting a descrambling key.
Claim 28
Dependent Claim
103 words
A numerical scrambling method comprising the steps of: reading data from a memory address: and applying a scrambling operation to at least two bits of said data to produce scrambled data, wherein said scrambling operation is performed by a passive circuit, said passive circuit comprising: n input lines; n output lines; and a connection from each said input line to a respective output line such that data received on said input lines is output on said output lines in at least partially scrambled form, wherein the pattern of metallization, including used and unused vias, increases the difficulty of visually inspecting a descrambling key.
Claim 29
Independent Claim
72 words
A method of protecting a smart card from fraud, said method comprising: (a.) storing scrambled programming instructions in a read-only-memory of said smart card; (b.) retrieving said scrambled programming instructions for transmission via a data bus to a descrambling unit; (c.) descrambling said scrambled programming instructions using a passive descrambling unit in which the pattern of metallization, including both used and unused vias, increases the difficulty of visually determining a descrambling key.
Claim 30
Independent Claim
72 words
A method of protecting a smart card from fraud, said method comprising: (a.) storing scrambled programming instructions in a read-only-memory of said smart card; (b.) retrieving said scrambled programming instructions for transmission via a data bus to a descrambling unit; (c.) descrambling said scrambled programming instructions using a passive descrambling unit in which the pattern of metallization, including both used and unused vias, increases the difficulty of visually determining a descrambling key.
Claim 31
Dependent Claim
70 words
The method of claim 23, wherein said passive descrambling unit comprises: n input lines; n output lines; a connection from each said input line to a respective output line such that data received on said input lines is output on said output lines in at least a partially scrambled form; wherein the pattern of metallization patterns, including used and unused vias, increases the difficulty of visually inspecting a descrambling key.
References Cited (Backward Citations)
US3958081A
Cited
US3962539A
Cited
US4278837A
Cited
US4172213A
Cited
US4203166A
Cited
FR2504730A1
Cited
US4633388A
Cited
US5095525A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-12-14 | 2002-06-15 | 2002-12-15 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-12-14 | 2006-06-15 | 2006-12-15 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-12-14 | 2010-06-15 | 2010-12-15 | $7700.00 | Window Closed / Lapsed |