Meet Troika — A Hashing Method Fit For IoT Blockchains?
The full article was originally published by Prof Bill Buchanan on Medium. Read the full article here.
When there’s a new crypto method, it’s like an early Christmas present for me. And so the Troika hash takes to the stage. It has been designed to integrate with the IOTA distributed ledger, and aims to be one of the most secure and energy efficient methods around. Before I outline it, we need to understand why we need a new hash signature, and why we need one that is fit for IoT devices.
One of the greatest challenges that we have on the Internet is the scale-up of devices within an IoT era. For this organisations may have millions (or even billions) of devices which must be monitored and controlled, and then discover the current state of the overall network infrastructure. Most existing system would struggle at a large-scale to create a current consensus of the infrastructure, but IOTA -with its Tangle engine — can report on the current state, along with previous states [here].
Along with scale, the greatest challenge in a world of IoT devices is that we can often have devices with limited capabilities. This might related to the number of transistors that can be supported on the device, or the amount of memory. But the greatest challenge is often energy consumption, and where we have device that have extremely limited power drain capabilities. For this we cannot use our existing energy-consuming cryptography, and thus need to implement methods which optimize for battery drain. In many cases, too, we have passive devices — which have no battery source — and which must draw their power from the radio wave which is applied to the device. And so the world is looking for new cryptography methods which are secure, robust, fast, and efficient. The first to focus the world on defining new standards for hashing methods for IoT was NIST.
The NIST Competition
Researchers in Canada have defined that the SHA-3 method will take longer to crack that the time that the universe has existed. The total time to crack, with some of the best cracking hardware around, is 1⁰²⁹ years or 1,000,000,000,000,000,000,000,000,000,000 years to crack the hash.
SHA-3 was known as Keccak and is a hash function designed by Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van Assche. MD5 and SHA-0 have been shown to be susceptible to attacks, along with theoretical attacks on SHA-1. NIST thus defined there was a need for a new hashing method which did not use the existing methods for hashing, and a competition for competing algorithms.
In October 2012, Keccak won the NIST hash function competition and is proposed as the SHA-3 standard. It should be noted that it is not replacement SHA-2, which is currently a secure method. Overall Keccak uses the sponge construction where the message blocks are XORed into the initial bits of the state, and then inevitably permuted.
The sponge function takes a simple function f and involves a number of stages, and where we create a fixed output (dependent on the bit length of the hash function). Simple operations of XOR, AND, and bit shifts are used, and which leads to a fast generation of the hash function: