0% found this document useful (0 votes)
25 views12 pages

Network Security

The document discusses image encryption and decryption using the Blowfish algorithm. It begins with an abstract stating that different encryption techniques are needed for different types of data, and that most available encryption algorithms are for textual data but may not be suitable for multimedia data like images. It then introduces a block-based transformation algorithm that combines image transformation with the Blowfish encryption and decryption algorithm. The results showed a significantly decreased correlation between image elements and higher entropy when using smaller block sizes.

Uploaded by

Divjot Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views12 pages

Network Security

The document discusses image encryption and decryption using the Blowfish algorithm. It begins with an abstract stating that different encryption techniques are needed for different types of data, and that most available encryption algorithms are for textual data but may not be suitable for multimedia data like images. It then introduces a block-based transformation algorithm that combines image transformation with the Blowfish encryption and decryption algorithm. The results showed a significantly decreased correlation between image elements and higher entropy when using smaller block sizes.

Uploaded by

Divjot Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

CSE1029 - Network Security

and Cryptography
Fundamentals
IMAGE ENCRYPTION AND
DECRYPTION USING
BLOWFISH ALGORITHM

Jeevesh Nandan Upadhyay - 20MIA1116


Chetan Srivastava - 20MIA1122
Abstract
Encryption is used to securely transmit data in open networks. Each type
of data has its own features therefore different techniques should be
used to protect confidential image data from unauthorized access. Most
of the available encryption algorithms are mainly used for textual data
and may not be suitable for multimedia data such as images. Here, we
introduce a block-based transformation algorithm based on the
combination of image transformation and a well known encryption and
decryption algorithm called Blowfish. The original image was divided
into blocks, which were rearranged into a transformed image using a
transformation algorithm presented here, and then the transformed
image was encrypted using the Blowfish algorithm. The results showed
that the correlation between image elements was significantly
decreased by using the proposed technique. The results also show that
increasing the number of blocks by using smaller block sizes resulted in
a lower correlation and higher entropy.
Why do we need image
ENCRYPTION
Image security is essential, topic through the
increase of the image usage in most of
communications besides assures information
security which is hidden in these images such as
military and medical images
In our day to day life Generally, we send many
pictures to our friend’s relatives and others. The
photos that may contain personal information so
keeping them to at most secure is the important
thing.
Image encryption decryption has applications in
internet communication, multimedia systems,
medical imaging, telemedicine, military
communication
Which technique is used and why?
Many image content encryption algorithms have been proposed
we are implementing blowfish algorithm which is strongest and
fastest in data processing/storing compare to other algorithms.
Blowfish algorithm is highly secured because it has longer key
length (more no of key size). The philosophy of proposal
algorithm is to use the full menu of “Strong operations”
supported in modern computers to achieve better security
properties and provide high speed. The main aim behind the
design of this proposal is to get the best security/performance
tradeoff over existing Web Images
About Blowfish

It is significantly faster
than DES and provides a number of subkeys: 18
good encryption rate with BlockSize: 64-bits [P-array]
no effective cryptanalysis keySize: 32-bits to number of rounds: 16
technique found to date. It
448-bits variable number of substitution
is one of the first, secure
boxes: 4 [each having
block cyphers not subject size

512 entries of 32-bits


to any patents and hence
freely available for anyone each]
to use

Blowfish algorthim
Step1: Generation of subkeys
Step2: Initialise Substitution Boxes
Step3: Encryption
Step by step explanation of the algorithm
Step1: Generation of subkeys:

18 subkeys{P[0]…P[17]} are needed in both encryption as well as decryption process and the same
subkeys are used for both the processes.
These 18 subkeys are stored in a P-array with each array element being a 32-bit entry.
It is initialized with the digits of pi.
The hexadecimal representation of each of the subkeys is given by ¡Now each of the subkey is
changed with respect to the input key as:
P[0] = P[0] xor 1st 32-bits of input key
P[1] = P[1] xor 2nd 32-bits of input key………..
P[i] = P[i] xor (i+1)th 32-bits of input key
(roll over to 1st 32-bits depending on the key length)…….
P[17] = P[17] xor 18th 32-bits of input key
(roll over to 1st 32-bits depending on key length)
The resultant P-array holds 18 subkeys that is used during the entire encryption process
Step by step explanation of the algorithm

Step2: Initialise Substitution Boxes:

4 Substitution boxes(S-boxes) are needed{S[0]…S[4]} in both encryption


aswell as decryption process with each S-box having 256 entries{S[i][0]…
S[i][255] where each entry is 32-bit.
It is initialized with the digits of pi after initializing the P-array

Step3: Encryption:

The encryption function consists of two parts:


A. Rounds: The encryption consists of 16 rounds with each round(Ri)
taking inputs the plainText(P.T.) from previous round and corresponding
subkey(Pi). The description of each round is as follows:
Step by step explanation of the algorithm
The description of the function ” F ” is as follows

Here the function “add” is addition modulo 2^32


Step by step explanation of the algorithm
B. Post-processing: The output after the 16 rounds is processed as follows:
THANK YOU!

You might also like