Blowfish Algorithm
Blowfish Algorithm
ALGORITHM
History
• Blowfish is an encryption technique designed
by Bruce Schneier in 1993 as an alternative to DES
Encryption Technique.
• 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:
How does The Blowfish Algorithm
work?
Step 2: Initialise Substitution Boxes:
Source:
https://github.com/Ray784/Blowfish-S-
boxes
How does The Blowfish Algorithm
work?
Step 3: Encryption:
F function Operation:
F function Operation:
Similar to encryption, rounds involve applying operations to L and R, but this time in reverse
order using the corresponding subkey.
1.F function Operation (Decryption) The F function is applied in reverse, with the subkey XOR
and S box steps inverted. This reverse operation successfully decrypts the data block.
2.Final Round (Decryption) After all decryption rounds, the decrypted L and R halves are
combined to obtain the original data block.
Conclusion
• The Blowfish algorithm’s security lies not only in its use of the Feistel network structure and the F function but
also in its intricate subkey generation process. By meticulously expanding the original key into a series of subkeys
and performing numerous rounds of operations, Blowfish ensures that the encrypted data remains secure and
resistant to various attacks.
• Blowfish is considered secure and has not been "cracked" in the sense of a practical cryptanalysis attack that
would compromise its security significantly. However, it's essential to note that Blowfish is an aging algorithm, and
its successor, Twofish, was designed by the same author, Bruce Schneier, to provide a higher security margin.
• While Blowfish remains unbroken, it's recommended to use more modern encryption algorithms like Advanced
Encryption Standard (AES) for new applications due to their widespread adoption, extensive analysis, and ongoing
support. AES has become the industry standard for symmetric-key encryption and is considered highly secure.
• Keep in mind that the security of any cryptographic algorithm can be affected by advances in technology,
computing power, and new cryptographic attacks. Therefore, it's essential to stay informed about the latest
developments and consider using algorithms that are widely recognized and recommended by the cryptographic
community.
Thanks!
Do you have any questions?
[email protected]
www.iamsridhariyer.com
youtube: @sridhariyer