Exploring SHA-1 (Secure Hash Algorithm)


In computer cryptography, a popular message compress standard is utilized known as Secure Hash Algorithm (SHA). Its enhanced version is called SHA-1. It has the ability to compress a fairly lengthy message and create a short message abstract in response.  The algorithm can be utilized along various protocols to ensure security of the applied algorithm, particularly for Digital Signature Standard (DSS).  The algorithm offers five separate hash functions which were created by National Security Agency (NSA) and were issued by the National Institute of Standards and Technology (NIST).  Looking at the popularity graph, SHA-1 leads the charts.


According to SHA-1 standard, a message digest is evaluated utilizing padded message. The evaluation utilizes two buffers, each comprises of five 32 bit words and a sequence of eighty 32 bit words.  The words of the first five-word buffer are labeled as A, B, C, D and E.  The words of the second five-word buffer are labeled as H0, H1, H2, H3 and H4. The words of the eighty-word sequence are labeled as W0, W1, W2 to W79. SHA1 operates blocks of 512 bits, when evaluating a message digest. The entire extent lengthwise of message digest shall be multiple of 512. A novel architecture of SHA-1 for enhanced throughput and decreased area, in which at the same time diverse acceleration techniques are exerted like pre-computation, loop unfolding and pipelining. Hash function requires a set of operations that an input of diversifying length and create a stable length string which is known as the hash value or message digest.


SHA-1 hash architecture has been occupied utilizing Visual Hardware Description Language (VHDL) and executed in Xilinx 13.2. It utilizes transformed Carry Save Adder so as to achieve enhanced throughput and decreased area. The recommended pipelined architecture has achieved a throughput of 8.6 Gbps and 1230 slices, with the integration of diverse acceleration techniques. When compared with prior work, it has been observed that the recommended execution shows 17% improved throughput as well as 25% additional dense architecture. Loop unfolding is a technique which exploits the combinational logic to execute several rounds in only one clock cycle. Pipelining is a technique in which the architecture is break into ‘n’ number of steps in which independent estimations are executed. Pre-computation technique is utilized to produce definite intermediate signals of the critical path and reserve them in a register, which can be utilized in the computation of values of next step.  For a message possessing a maximum length of 264, SHA-1 constructs a 160 bit message digest. `


160 bit dedicated hash function is incorporated in SHA-1 originate in the design principle of MD4, which is an algorithm utilized to certify data integrity through the formation of a 128 bit message digest from data input that is declared to be as distinctive to that particular data as a fingerprint is to the particular individual. It implements the Merkle-Damgard paradigm to a dedicated compression function. The input message is padded and break into ‘k’ 512 bit message blocks. At every iteration of the compression function ‘h’, a 160 bit chaining variable Ht is upgraded utilizing one message block Mt+1, that is Ht+1 = h(Ht, Mt+1). The beginning value H0 is established in advance and Hk is the out-turn of the hash function. SHA-1 compression function is constructed upon the Davis Meyer construction. It utilizes a function ‘E’ as a block cipher with Ht for the message input and Mt+1 for the key input.


To generate the final output, SHA-1 core block occupy 80 clock cycles. The value of all the other chaining variables appears sooner than At variable. It means that the computation of value of At variable creates the critical path. The critical path includes delay of additions and non-linear function. This delay should be minimized so as to enhance the comprehensive performance, since the addition operation of critical path influences the delay of the SHA-1 algorithm. Diverse categories of adders are available. Carry Save Adder (CSA) is the high-speed multi-operand adder which can execute parallel addition of three operand simultaneously. It has a distinct path of sum and carry to reduce the delay. Output carry of every bit addition is secured in the present step and then it is provided in the upcoming step for addition, rather of carry propagation to the upcoming high-level significant bit. A carry look ahead adder is utilized in the place of Ripple carry adder in the last stage, to enhance the speed of carry save adder.


The SHA-1 is implicit easily. It is as secure as anything in opposition to reimaged attacks, although it is effortless to calculate, which means it is uncomplicated to mount a brute force or dictionary attack. It is a well-known cryptographic primitive which ensures the integrity and reliability of original message.



No comments yet. Be the first to chime in!