Professional Documents
Culture Documents
3.design of MIPS Processor Using FPGA
3.design of MIPS Processor Using FPGA
3.design of MIPS Processor Using FPGA
7 - 9 March 2017
Abstract² According to the wide developments in the area of be classified into two stages. The first stage is the Pre-
communications, there is a demand for secure system for data processing stage and the second is Hash Computation.
transmissions. In this paper, a Hash system SHA-1 and SHA-2
Processor is designed using Xilinx Spartan-3AN and interfaced A. Pre-processing
with keyboard and Video Graphics Array (VGA) Display. The SHA-1 and SHA-2 input block size varies depending on
implementation of the processor is done by using MIPS what algorithm is used. In this stage the message is padded
(Microprocessor without Interlocked Pipelines) single cycle by into block size called chunk. The input blocks size of SHA-1,
choosing a certain number of instructions that was necessary to SHA-224, SHA-256 is equal to 512-bits divider into 16 words
invoke the SHA-1, SHA-224 and SHA-256 algorithm. A keyboard
Y[0-15] of 32-bit. Then extending the 16 words Y[0-15]
in interfaced with the Xilinx Spartan-3AN kit, to enable the user
depending on a certain algorithm. Table 1 shows features of
to enter the data and the result is shown on a VGA Display.
the two hash functions.
Keywords²VHDL; SHA-1; SHA-2; MIPS Processor
I. INTRODUCTION
A variation on the message authentication code is the one-
way hash function. A hash function accepts a variable-size
message M as input and produces a fixed-size output, referred
to as a hash code H(M).Hash functions are used in conjunction
with symmetric ciphers for digital signatures. In addition, hash
functions are used for message authentication [1].
VHDL (Very High Speed Integrated Circuit Hardware
Description Language) is a hardware description language. It B. Hash Computation
describe the behaviour of an electronic circuit or system, from
Hash Computation various depending on the algorithm
which the physical circuit or system can then be attained [2].
used if it is SHA-1, SHA-224 or SHA-256.
One of the earliest hardware designs of hash function in
reported by selimis in [3]. The authors in [4] propose a x SHA-1 Computation
processor for both SHA-1 and MD5 algorithms, and
implemented on an Altera Apex 20k. While in [5] a high- A message digest is 5 hash variables each of 32 bits are used.
performance SHA-1 design in presented and implemented on It take 80 rounds to completed SHA-1 calculation. SHA-1
a Xilinx Vertex-E FPGA. The authors in [6] implement a algorithm is done as follows:
SHA-1, HAS-160 and MD5 in one chip. In [7] a processor is Fig.1 shows SHA-1 computation
designed to support the algorithm of SHA-1 and SHA-256
hashing. However, in this research SHA-1 SHA-224 and SHA-
256, hash MIPS processor with keyboard and VGA display is
designed and implemented using Xilinx-Spartan-3AN.
II. SHA-1 & SHA-2 ALGORITHMS
The SHA-2 namely SHA-224, and SHA-256 have several
commonalities. SHA-1 and SHA-2 algorithms are one-way
hash functions that process a message to produce a message
digest.
This paper presents an implementation approach for SHA-1,
SHA-224 and SHA-256 hash algorithms. Each algorithm can
L0 L1 L2 L3
6A09E667 BB67AE85 3C6EF372 A54FF53A
L4 L5 L6 L7
510E527F 9B05688C 1F83D9AB 5BE0CD19
269
Annual Conference on New Trends in Information & Communications Technology Applications-(NTICT'2017)
7 - 9 March 2017
The massage digest is 256-bit which constructed by
omitting L7.
The initial hash values L0 through L7 are shown in table IV
L0 L1 L2 L3
L4 L5 L6 L7
270
Annual Conference on New Trends in Information & Communications Technology Applications-(NTICT'2017)
7 - 9 March 2017
Fig.5 Implementation of MIPS Processor with Only Component That Hash Need
Fig .5 shows the complete design of the MIPS processor of
32-bit and table V shows all instructions required to invoke V. KEYBOARD INTERFACE & VGA DISPLAY
the SHA-1, SHA-224 and SHA-256 algorithms. The keyboard has a collection of keys and sends scan code.
For example, when press the Z key, the keyboard transmits its
make code (1A) and then when release it send the break code
(F0 1A).
The information transmitted 11-bit ³packet´ that start with a
start bit, 8 data bits, an odd parity bit, and a stop bit, as shown
in Fig 6.
271
Annual Conference on New Trends in Information & Communications Technology Applications-(NTICT'2017)
7 - 9 March 2017
VI. RESULTS
The word ³abc´ was entered from the keyboard to the Hash
MIPS processor and the result of SHA-1, SHA-224 and SHA-
256 is displayed on VGA display which use Xilinx Spartan-
3an on-board 50 MHz clock oscillator which equates to a 20
ns period as shown in Fig 7. The test simulation for the word
³abc´ is shown in Fig. 8, Fig. 9, Fig. 10 Fig. 11 and Fig 12.
Fig .8 the Hash result of a word ³abc´. Fig 10 the massage digest of SHA-256 and time require.
272
Annual Conference on New Trends in Information & Communications Technology Applications-(NTICT'2017)
7 - 9 March 2017
REFERENCES
273