Co-Designing Cryptographic Systems With Resource-Constrained Hardware