Design Of Secure And Trustworthy System-On-Chip Architectures Using Hardware-Based Root-Of-Trust Techniques