| CPC G06F 21/121 (2013.01) | 17 Claims |

|
1. A method, comprising:
receiving a classifier trained using a first set of values for a set of features when a software is used on a first integrated circuit (IC) design, wherein at least one value in the first set of values for at least one feature in the set of features is extracted from first data of the first IC design;
receiving a request to use the software on a second IC design, wherein the second IC design includes second data on which the software is desired to be used;
extracting a second set of values for a set of features of the second IC design, wherein at least one value in the second set of values for at least one feature in the set of features is extracted from second data of the second IC design on which the software is used;
executing the classifier on a processor to classify the second IC design based on the second set of values;
in response to the classifier determining that the second IC design is the same as the first IC design, granting the request to use the software on the second IC design; and
in response to the classifier determining that the second IC design is not the same as the first IC design,
allowing the software to be used on the second IC design,
encrypting output of the software, and
forwarding a request to decrypt the output of the software to an arbiter.
|