You are on page 1of 13

VLSI IMPLEMENTATION OF BLOWFISH ALGORITHM

FOR SECURE IMAGE TRANSMISSION

GUIDED BY:
Dr.J. KAMALA

TEAM MEMBERS:

THARUN R - 2019105592
DHWANI A - 2019105525
NAVEENKUMAR S - 2019105036
AIM
⮚ To design and simulate Blowfish encryption algorithm using
Verilog HDL for image transmission.
⮚ To synthesis and implement the Blowfish algorithm in FPGA
for Real time image or video file.
⮚ Software used:
❑ MATLAB
❑ XILINX VIVADO

PHASE-1 REVIEW 1 2
FLOW CHART

DESIGN AND
CONVERT THE IMPLEMENTATION
IMAGE INTO OF BLOWFISH
START BINARY FILE ENCRYPTION USING
USING MATLAB VERILOG

DESIGN AND
IMPLEMENTATION
OF BLOWFISH
DECRYPTION
USING VERILOG

CONVERT THE
BINARY FILE
INTO IMAGE FILE STOP
USING MATLAB
6

PHASE 1 REVIEW 1
TIMELINE

0TH REVIEW
2ND REVIEW PHASE - 2

• Implementation of Pipelined
Finalized the project and Abstract Blowfish algorithm in FPGA.
submission Developing Blowfish algorithm in
Xilinx Vivado using VERILOG • To develop Real time image
HDL. or video encryption in FPGA.

Conversion of image into binary file using


MATLAB and vice versa, learning Blowfish Submission of project and report
algorithm.

1ST REVIEW FINAL REVIEW

4
PHASE-1 REVIEW 1
INTRODUCTION – CRYPTOGRAPHY

HOW DOES ENCRYPTION AND


DECRYPTION WORK?

PHASE-1 REVIEW 1
INTRODUCTION - BLOWFISH

⮚ Blowfish is a symmetric block cipher, designed in 1993 by Bruce Schneier


⮚ It is significantly faster than DES and provides a good encryption rate.
⮚ It is one of the first, secure block ciphers not subject to any patents and hence freely available for
anyone to use
⮚ The key used in the blowfish algorithm can have a varying key-length with the minimum limit of 32
bits to maximum limit of 448 bits which makes it impossible to crack it. As of today Blowfish
Algorithm remains uncracked.
Block Size: 64-bits
Key Size: 32-bits to 448-bits variable size
Number of Subkeys: 18 [P-array]
Number of Rounds: 16
Number of Substitution Boxes: 4 [each having 512 entries of 32-bits each] 6

PHASE-1 REVIEW 1
BLOWFISH ALGORITHM
⮚ STEPS INVOLVED IN BLOWFISH ALGORITHM:
❑ EXPANSION OF KEY (GENERATION OF SUBKEY)
❑ INITIALIZE S-BOX
❑ ENCRYPTION OF DATA
⮚ GENERATION OF SUBKEY
❑ The p-array consists of 18 members each of 32 bits. Each of the p-array elements are pre-initialized with
the 32-bit hexadecimal form of the number pi.
❑ After pre-initializing the p-array, the next step is to modify this array elements according to the user input
key. The first element of p-array is xor-ed with the key’s first 32 bits. Then, the next 32 bits is xor -ed with
the second p-array element. The step is continued till all the p-array elements are replaced.
⮚ INITIALIZE S-BOX:
❑ Initialization of the s-box is like that of p-array members. There are four s-boxes used in the algorithm.
Each s-box composed of 256 elements, each of 32 bits in size. 7
BLOWFISH ALGORITHM
⮚ ENCRYPTION OF DATA:

8
IMAGE TO BINARY FILE
⮚ The image is composed of many colors and almost all colors can be generated from the
three primary colors- Red, Green, and Blue. 

⮚ Each of these metrics would again have values ranging from 0 to 255 where each of these
numbers represents the intensity of the pixels or you can say that the shades of red, green,
and blue. Finally, all of these channels or all of these matrices are superimposed so the
shape of the image, when loaded in a computer, will be N*M*3 where N is the number of
pixels across the height, M would be the number of pixels across the width, and 3 is 9
representing the number of channels
RESULTS

10
RESULTS
⮚ ENCRYPTION OUTPUT OF 64-BIT NUMBER:

11
LITERATURE SURVEY
S.NO AUTHOR TITLE PUBLICATION INFERENCE
YEAR

Parvathy P and Remya Ajai A S VLSI Implementation of Blowfish


1 Algorithm 2020
for Secure Image Data Transmission

Manju Suresh a , Neema M Hardware implementation of By analyzing different security problems associated
with IoT, major share of the same are occurring in
2 blowfish algorithm for the secure the insecured channel which connects different IoT
data transmission in Internet of 2016 nodes or IoT nodes and WSN nodes. For providing
information transmission security in the network
Things layer, cryptographic techniques can be used. Of all
the cryptographic algorithms, Blowfish algorithm is
the best in terms of FFexecution time, memory
usage, throughput, power consumption, and
security and thus well suited for IoT. Hardware
implementation of original and modified Blowfish
was done in Xilinx Virtex-5 XC5VLX50T FPGA using
Verilog HDL. On comparing both, the modified one
showed improvement in terms of encryption time by
16.9% and throughput by 18.7%. Implementation
of modified Blowfish algorithm in an IoT
environment will be persuaded as our future work.

Swagata Roy Chatterjee, Soham FPGA Implementation of Pipelined The results of the proposed pipelined architecture
for Blowfish algorithm in Verilog HDL show low
3 Majumder, Bodhisatta Pramanik Blowfish Algorithm 2016 critical path delay and high throughput at the
expense of area as compared 12 with the normal non-
pipelined Blowfish algorithm.
THANK YOU

You might also like