Date of Award


Document Type


Degree Name

Master of Science in Computer Engineering


Department of Electrical and Computer Engineering

First Advisor

J. Todd McDonald, PhD


In this research, the problem of software protection and the attributes that define that protection is considered. Specifically, how to protect programs defined as structural combinational logic gates. Obfuscation is one technique for protecting such circuits and involves replacing an original circuit with a functionally equivalent variant that has some definable hiding property. The difficulty of reverse engineering versus identifying and recovering the original components or sub-circuits within an original circuit is compared. With a polymorphic circuit engine that produces semantically equivalent variations of standard benchmark circuits the level of component hiding across variants with different physical configurations is determined to provide an entropy-based attribute to assess whether components are merged at the structural level. Specific types of obfuscating transformations with respect to component hiding using ancestral entropy are compared as well as the measure of uncertainty related to origination of a gate within a circuit.

AFIT Designator


DTIC Accession Number