Abstract:
The rapid development of wireless sensor networks and RFID technologies is transform ing every aspect of human life ranging from personal fitness companions to goods tracking in the supply chain industry. The sensitive nature of the data which these devices handle has created the demand for lightweight cryptography as existing standards of security and privacy are impractical for these tiny resource-constrained devices. In addition to the limita tion of computational resources, the challenges for lightweight block cipher design include low gate count, power consumption, cycle count, latency, resistance to side-channel attacks and support for decryption with minimal overhead on top of encryption. Meeting all of these additional constraints while maintaining the required level of security is a challenging task. This Master's thesis focuses on reducing the decryption cost of Substitution Permu tation Network (SPN) lightweight block ciphers. We describe techniques to implement a lightweight block cipher in both hardware and software platforms followed by how to incor porate the decryption routine with encryption. The traditional way to solve this problem is either by reducing the inverse implementation cost of existing components or constructing new components which support inversion with minimal overhead. Our contribution spans over both. First, we find methods to efficiently implement inverse of a Maximum Distance Separable (MDS) matrix with minimum additional cost. On average, our methods enable this implementation with 40% lesser xor operations. Moreover, in the best case, only 12 additional xor operations are required to support inverse matrix multiplication. Secondly, we define constructions of non-involutive cryptographic components for both confusion and diffusion layers which use similar implementation for its inverse. This helps in further re ducing the implementation cost for the inverse transform of the cryptographic primitives. In the end, based on these primitives, we propose an SPN structure to support decryption routine with minimal overhead.