In this article we describe the SHA-3 algorithm and its internal permutation in which potential weaknesses are hidden. The hash algorithm can be used for different purposes, such aspseudo-random bit sequences generator, key wrapping or one pass authentication, especially in weak devices (WSN, IoT, etc.). Analysis of the function showed that successful preimage attacksare possible for low round hashes, protection from which only works with increasing the number of rounds inside the function.When the hash function is used for building lightweight applications, it is necessary to apply a small number of rounds,which requires additional security measures. This article proposes a variant improved hash function protecting against preimage attacks, which occur on SHA-3. We suggest using an additional external randomness sources obtained from a lightweight PRNG or from application of the source data permutation.
A spinal code is the type of rateless code, which has been proved to be capacity- achieving over both a binary symmetric channel (BSC) and an additive white Gaussian noise (AWGN) channel. Rateless spinal codes employ a hash function as a coding kernel to generate infinite pseudo-random symbols. A good hash function can improve the perfor- mance of spinal codes. In this paper, a lightweight hash function based on sponge structure is designed. A permutation function of registers is a nonlinear function. Feedback shift registers are used to improve randomness and reduce bit error rate (BER). At the same time, a pseudo-random number generator adopts a layered and piecewise combination mode, which further encrypts signals via the layered structure, reduces the correlation between input and output values, and generates the piecewise random numbers to compensate the shortcoming of the mixed linear congruence output with fixed length. Simulation results show that the designed spinal code with the lightweight hash function outperforms the original spinal code in aspects of the BER, encoding time and randomness.