Hardware Security: PUF Based Authentication and Functional Obfuscation