Enhancing Performance and Security with Blowfish Algorithm in Computer Science

In this universe, whatever information that we send can easy be cracked by any 3rd party by irrupting it. This evidently consequences us in a status to trust upon the scientific discipline of continuing secretiveness and security to our message. This can be really much achieved via a strong encoding algorithm. Blowfish block cypher is one of its sort which still remains as one of the strong encoding algorithm. It besides has a comfy design which suits for any sweetening or alteration in its construction.

This is one such work which enhances the public presentation and provides even a spot more security to the already bing Blowfish Algorithm and it is proved and justified by experimentation.

Keywords: Block cypher, Blowfish, F-Function, Security, Performance.


Cryptography is a good known and widely used technique that manipulate information in order to crypt their being. More specii¬?cally, cryptanalysis protects information by transforming it into an indecipherable format [ 1 ] . The original text is transformed into a scramble equivalent text called cypher text and this procedure is called as `` Encryption '' .

Get quality help now
checked Verified writer
star star star star 4.9 (247)

“ Rhizman is absolutely amazing at what he does . I highly recommend him if you need an assignment done ”

avatar avatar avatar
+84 relevant experts are online
Hire writer

This is achieved via an Encryption Algorithm. Merely those who possess a secret key can decode the cypher text into plaintext. Simply it scrambles a message so it can non be understood.

Cryptanalysis is the survey and pattern of protecting information by informations encoding and transmutation techniques [ 1 ] .There are two types of cryptanalytic strategies available on the footing of cardinal.

1. Symmetric cardinal Cryptography: This is the cryptanalytic strategy which uses a common key for coding and decoding the message.

Get to Know The Price Estimate For Your Paper
Number of pages
Email Invalid email

By clicking “Check Writers’ Offers”, you agree to our terms of service and privacy policy. We’ll occasionally send you promo and account related email

"You must agree to out terms of services and privacy policy"
Write my paper

You won’t be charged yet!

2. Assymetric or Public Key Cryptography: This type of cryptanalytic scheme utilizations two keys for encoding and decoding called Public key and Private Keys.

We adopted Symmetric cardinal cryptanalytic strategy and therefore merely one key is needed for communicating. So, the chosen cryptanalytic strategy involves,

1. Plaintext: The original message that has to be communicated to receiver.

2. Encoding: Enciphering of informations by utilizing a cardinal via a coveted encoding algorithm at sender side.

3. Transmission: Transportation of cipher message to receiver through a public communicating channel.

4. Decoding: Deciphering of the ciphertext therefore received via the same algorithm ( rearward Encoding ) by utilizing the key.

Fig 1: Symmetrical Key Cryptography

We can besides sort symmetric key cryptanalysis into two types on the footing of their operations as

1. Stream Ciphers: It is a symmetric key cypher where plaintext spots are combined with a pseudorandom cypher spot watercourse ( cardinal watercourse ) , typically by an exclusive-or ( xor ) operation. In a watercourse cypher the plaintext figures are encrypted one at a clip

2. Block Ciphers: It is besides a symmetric key cypher runing on fixed-length groups of spots, called blocks. A block cypher encoding algorithm takes a n-bit block of plaintext as input, and produces a corresponding n-bit end product block of ciphertext.

We have chosen block cypher for our cryptanalytic operation since it is the chief tool for implementing private cardinal encoding in pattern.


Blowfish Algorithm:

Blowfish, a symmetric block cypher that uses a Feistel web, repeating simple encoding and decoding maps of 16 times each. The block size is 64 spots, and the key can be any length up to 448 bits.the strength of the Blowfish algorithm relies on its sub-key coevals and its encoding. Blowfish is a block cypher which uses a variable-length key. It is good fitted for applications in which the key size doesnot alteration frequently, like a communications nexus or an automatic file encryptor. It is significantly faster than most encoding algorithms when implemented on 32-bit microprocessors with big informations caches.

Blowfish cypher uses 18 each of 32-bit Sun arrays normally known as P-boxes and four Substitution boxes each of 32 spot size and holding 256 entries each. It uses a Feistel cypher which is a general method of transforming a map into an another map by utilizing the construct of permutation.The working of blowfish cypher can be illustrated as follows,

It splits the 64 spot block into two equal blocks holding 32 spot size each. Lest block is XORred with first sub array P1 and therefore obtained consequence is fed in to a map called F-function.Inside theF-function permutation operations are carried out which inturn converts 32 spot blocks in to an another 32 spot blocks.Thus resulted 32bit entries are XORed with the Right half and the consequence obtained is swapped as the left half for the following round.So, After the successful completion of each unit of ammunition Right half becomes the new left half or frailty versa and fiestal construction is followed upto 16 rounds.The end point left and right halves are non swapped but XORed with the seventeenth and 18th P-arrays.The fiestal Structure of blowfish algorithm is shown in the Fig-2

Fig 2: Fiestal construction of Blowfish Cipher

The transmutation operations that really go on inside an F-function are XOR Operation, ADD Operation and few tabular array look up operations. These operations are carried out between four S-Boxes and as a consequence of all uses eventually 32 spot entries are transformed into an another 32 spot entries.F-Function of a Blowfish algorithm can be depicted pictorially in Fig-3.

Fig 3: Structure of F-function

Proposed System:

We proposed a system which really brings some alteration to the already bing Blowfish Algorithm in footings of its design. Since F-Function Plays a dominant function in Blowfish encoding it is decided to modify the F-function without altering its basic functionalities. The original F-function plants algorithmically as,

32 Bit Addition of S-box 1 and S-box 2.

32 Bit XOR of consequence of measure 1 and S-box 3.

The consequence of measure 2 is so XOR with S-4.

But we modify the order of executing of F-Function such that,

32 Bit XOR of S-box 1 and S-box 2.

32 Bit XOR of consequence of S-Box 3 and S-box 4.

32 Bit Addition of the consequences of measure 1 and 2.

Our Proposed system can be graphically represented as,

Fig 4: Existing F-Function Fig 5: Modified F-Function

The Blowfish algorithm is enhanced both in footings of public presentation every bit good as security and they are as follows,

The Performance is enhanced because of the executing of stairss 1 and 2 in the modified executing of F-function at the same time by executing multithreading and it is proved and justified. ( Refer Simulation Results )

The executing clip of Blowfish algorithm is about reduced upto 13.5 % on comparing with the original Blowfish Algorithm.

Although, we used 2-XOR Gatess and 1-ADDER but the original F-function uses 2-ADDERs and 1-XOR gate and there is no disconnected alteration in the executing clip or clock rhythms required for executing. This is because all cardinal logical operations like AND, OR, XOR takes more or less equal clip when running under any scheduling linguistic communications since those linguistic communications are logically driven.

It 's rather difficult for the eavesdroppers to recognize that the F-function is modified and hence chance of onslaught is less on comparing with the original Blowfish algorithm.

Since our proposed system conveying alterations merely to the order of executing and no alterations is made to the existent functionalities ( i.e. , we did n't added or removed new operations instead we changed merely the order of executing of bing Xor and Adders ) so performing cryptanalytics is non necessary.

4 Simulation and Consequences:

We simulated our modified blowfish system in Java since it is better suited for its platform independent characteristics, user friendly GUI Features and so on than any other scheduling linguistic communications.

Fig 6: Blowfish Encryption Fig7: Blowfish Decoding

Time Vs


Start Time

( MS )

End Time

( MS )

Elapsed Time ( MS )


Blowfish Algorithm




Modified blowfish algorithm




Table 1: Comparison of Execution Time

Therefore it is by experimentation proved that the executing clip of modified blowfish algorithm is 13.5 % lesser than the original algorithm.

5 Future Enhancements:

The executing clip of blowfish algorithm can be farther reduced and therefore the public presentation is improved more by following the constructs of correspondence which consequences in the executing of f-Function in parallel environment. Our current hereafter plants are concentrated on cut downing the executing clip f the algorithms if the operations of f-function is executed in a analogue.

6 Decision:

In this paper we have presented a fresh method heightening security and public presentation of Blowfish algorithm by utilizing the construct of Multithreading. We have proven that this attack is both an effectual Cryptographic method with regard to clip every bit good as a theoretically unbreakable one since the map is modified and therefore difficult to think it.Our experimental consequences proves and justifies that with the commercially available computing machines the clip taken for encoding and decoding procedure is negligible and we conclude that it has a good public presentation without compromising the security.

Updated: May 03, 2023
Cite this page

Enhancing Performance and Security with Blowfish Algorithm in Computer Science. (2020, Jun 02). Retrieved from https://studymoose.com/performance-and-security-enhancement-using-blowfish-algorithm-computer-science-new-essay

Enhancing Performance and Security with Blowfish Algorithm in Computer Science essay
Live chat  with support 24/7

👋 Hi! I’m your smart assistant Amy!

Don’t know where to start? Type your requirements and I’ll connect you to an academic expert within 3 minutes.

get help with your assignment