Ubiquitous computing has become a reality in recent years. Tiny wireless sensors and RFID tags are being deployed today and will soon form an important aspect of our infrastructure. Security is a critical factor for these ultra-low power devices due to their impact on privacy, trust and control. Traditional cryptographic algorithms are considered too bulky, complex and power hungry for this application. This paper gives an overview of cryptographic primitives present in classic and emerging algorithms and analyzes their suitability for ultra-low power implementations. This analysis is supported with data obtained from our own example implementations of ultra-low power primitives of block ciphers, hash functions and even public key algorithms. Finally we use our findings to provide designers of cryptographic algorithms with guidelines for developing new power efficient schemes to enable cryptography on a speck of dust.