Verification Techniques For Hardware Security