Algorithms and Silicon Architectures for Public-key Cryptography by Ciaran Mcivor