Trusting Locked Logic
A developer can share their core design while protecting their intellectual property by sharing a locked core that will only demonstrate desired behavior when provided with a special key input. Unfortunately, a client developer who wishes to use a locked core as a component of their own design, but is unwilling or unable to obtain a key, has no assurance that an erroneous or malicious locked core will not break critical safety or security properties of the complete core, once unlocked.
In this report, we describe ongoing work on the design, development, and evaluation of a logic-locking scheme that, given a core design and safety property, generates not only a locked core design, but a proof that a client can efficiently inspect to ensure that the locked core satisfies a desired property. We formally define the problem that our scheme will address and describe ongoing work on developing a testbed to evaluate an implementation of our scheme.