Hardware security threats and countermeasures: a study of obfuscation, camouflaging and PUFs. (29th January 2020)