Obfuscating encrypted register transfer logic model of a circuit
A method of obfuscating a circuit design includes, in part, receiving data representative of the circuit design. The method further includes, in part, simulating the circuit design, and obfuscating at least one output signal of the circuit design if a user performing the simulation is determined as not being an authorized user.
1. A method of obfuscating a circuit design during simulation of the circuit design, the method comprising:
receiving data representative of the circuit design;
simulating the circuit design;
generating an output signal of the circuit design from the simulation of the circuit design;
delivering the output signal to a first input of a logic gate;
delivering an obfuscated signal to a second input of the logic gate;
delivering, by a processor, the output signal from the logic gate to an output terminal of the circuit design in response to a determination that a user associated with the simulation is an authorized user thereby causing a select signal applied to a select terminal of the logic gate to be in a first logic state; and
delivering, by the processor, the obfuscated signal from the logic gate to the output terminal of the circuit design in response to a determination that the user is not an authorized user thereby causing the select signal applied to the select terminal of the logic gate to be in a second logic state.
2. The method of claim 1 wherein the data is a register transfer logic (RTL) model of the circuit design.
3. The method of claim 2 wherein the RTL model is an encrypted RTL model of the circuit design.
4. The method of claim 1 further comprising:
not informing the user that the one or more output signals are obfuscated.
5. The method of claim 2 further comprising:
embedding an authentication process into the RTL model of the circuit design to determine whether the user is authorized.
6. A non-transitory computer readable storage medium comprising stored instructions which when executed by a processor cause the processor to obfuscate a circuit design during simulation of the circuit design, the instructions further causing the processor to:
receive data representative of the circuit design;
simulate the circuit design in response to a user command;
generate an output signal of the circuit design from the simulation of the circuit design;
deliver the output signal to a first input of a logic gate;
deliver an obfuscated signal to a second input of the logic gate;
deliver the output signal from the logic gate to an output terminal of the circuit design in response to a determination that a user associated with the simulation is an authorized user thereby causing a select signal applied to a select terminal of the logic gate to be in a first logic state; and
deliver the obfuscated signal from the logic gate to the output terminal of the circuit design in response to a determination that the user is not an authorized user thereby causing the select signal applied to the select terminal of the logic gate to be in a second logic state.
7. The non-transitory computer readable medium of claim 6 wherein the data is register transfer logic (RTL) model of the circuit design.
8. The non-transitory computer readable medium of claim 7 wherein the RTL model is an encrypted RTL model of the circuit design.
9. The non-transitory computer readable medium of claim 6 wherein the instructions further cause the processor:
not to inform the user that the one or more output signals are obfuscated.
10. The non-transitory computer readable medium of claim 7 wherein the instructions further cause the processor to:
embed an authentication process into the RTL model of the circuit design to determine whether the user is authorized.
11. A system comprising at least one processor and at least one memory storing instructions that, when executed by the processor, cause the processor to obfuscate a circuit design during simulation of the circuit design, the instructions further causing the processor to:
receive data representative of the circuit design;
simulate the circuit design in response to a user command;
generate an output signal of the circuit design from the simulation of the circuit design;
deliver the output signal to a first input of a logic gate;
deliver an obfuscated signal to a second input of the logic gate;
deliver the output signal from the logic gate to an output terminal of the circuit design in response to a determination that a user associated with the simulation is an authorized user thereby causing a select signal applied to a select terminal of the logic gate to be in a first logic state; and
deliver the obfuscated signal from the logic gate to the output terminal of the circuit design in response to a determination that the user is not an authorized user thereby causing the select signal applied to the select terminal of the logic gate to be in a second logic state.
12. The system of claim 11 wherein the data is a register transfer logic (RTL) model of the circuit design.
13. The system of claim 12 wherein the RTL model is an encrypted RTL model of the circuit design.
14. The system of claim 11 wherein the instructions further cause the processor:
not to inform the user that the one or more output signals are obfuscated.
15. The system of claim 12 wherein the instructions further cause the processor to:
embed an authentication process into the RTL model of the circuit design to determine whether the user is authorized.
16. The system of claim 11 wherein the logic gate is a multiplexer.
17. The method of claim 1 wherein the logic gate is a multiplexer.