Logic Locking: A Practical Approach to Secure Hardware