Blowfish Algorithm in Cryptography Explained in Hindi & English | ब्लोफिश एल्गोरिद्म क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)


ब्लोफिश एल्गोरिद्म क्रिप्टोग्राफी में (Blowfish Algorithm in Cryptography)

परिचय:

Blowfish Algorithm एक तेज़, सुरक्षित और प्रभावी Symmetric Key Block Cipher एल्गोरिद्म है, जिसे 1993 में Bruce Schneier द्वारा डिजाइन किया गया था। इसका उद्देश्य पुराने और कमजोर एल्गोरिद्म जैसे DES का स्थान लेना था।

Blowfish विशेष रूप से ओपन-सोर्स और नॉन-पेटेंटेड एन्क्रिप्शन समाधान के रूप में विकसित किया गया था ताकि कोई भी इसे स्वतंत्र रूप से उपयोग कर सके।

मुख्य विशेषताएँ:

  • Algorithm Type: Symmetric Block Cipher
  • Block Size: 64 bits
  • Key Size: 32 bits से 448 bits तक (Variable Key Length)
  • Structure: Feistel Network
  • Rounds: 16
  • Invented by: Bruce Schneier (1993)
  • Applications: Password Protection, VPN, File Encryption

ब्लोफिश का उद्देश्य:

DES की 56-bit कुंजी सीमाओं और पेटेंट प्रतिबंधों के कारण, Blowfish को एक ऐसा एल्गोरिद्म बनाने के लिए डिजाइन किया गया जो:

  • तेज़ हो,
  • कुंजी आकार में लचीला हो,
  • फ्री और पब्लिक डोमेन में उपलब्ध हो।

ब्लोफिश एल्गोरिद्म की संरचना (Structure of Blowfish):

Blowfish एल्गोरिद्म Feistel Structure पर आधारित है, जिसमें डेटा को दो हिस्सों (Left और Right) में बाँटकर 16 राउंड में प्रोसेस किया जाता है।

Feistel Structure Representation:

Plain Text (64 bits)
 → Initial Key-dependent Permutation
 → 16 Feistel Rounds (Substitution + Permutation)
 → Final Permutation
 → Cipher Text (64 bits)

ब्लोफिश एल्गोरिद्म के मुख्य घटक:

1️⃣ Key Expansion:

Blowfish एल्गोरिद्म 18 P-arrays और चार S-boxes का उपयोग करता है। इन S-boxes में कुल 1024 entries होती हैं।

  • P-Array = 18 Subkeys (P1, P2, ..., P18)
  • S-Boxes = 4 Tables, प्रत्येक में 256 Entries

Key Expansion के दौरान इन सभी arrays को Initialization और Key Mixing से भरा जाता है।

2️⃣ Feistel Rounds (16 Rounds):

प्रत्येक राउंड में निम्नलिखित क्रियाएँ होती हैं:

  1. Left और Right Half को अलग करें।
  2. Function F को Right Half पर लागू करें।
  3. F के परिणाम को Left Half के साथ XOR करें।
  4. दोनों Halves को स्वैप करें।

3️⃣ F-Function (Round Function):

F-Function Blowfish का सबसे महत्वपूर्ण भाग है। यह Substitution और Addition दोनों का संयोजन है।

F(X) = ((S1[a] + S2[b]) XOR S3[c]) + S4[d]

जहाँ X 32-bit input है, जिसे 4 बाइट्स (a, b, c, d) में विभाजित किया जाता है।

4️⃣ Final Permutation:

16 राउंड के बाद Left और Right halves को फिर से स्वैप किया जाता है और अंतिम P-array XOR के बाद Cipher Text प्राप्त किया जाता है।

ब्लोफिश का एन्क्रिप्शन प्रोसेस:

Input: 64-bit Plain Text
1. Split into Left (L) and Right (R)
2. For i = 1 to 16:
     L = L XOR P[i]
     R = F(L) XOR R
     Swap L and R
3. Swap L and R again
4. R = R XOR P[17]
   L = L XOR P[18]
Output: Cipher Text

डिक्रिप्शन प्रोसेस:

Blowfish में डिक्रिप्शन प्रक्रिया एन्क्रिप्शन जैसी ही होती है, बस Round Keys का क्रम उल्टा होता है (P[18] से P[1] तक)।

उदाहरण:

Plain Text: “OpenAI1234” Key: “Crypto2025” Cipher Text: “A94B8E9CF48A44BB” (Hexadecimal Representation)

ब्लोफिश की विशेषताएँ:

  • Key Size में लचीलापन (32 से 448 bits)।
  • बेहद तेज़ एन्क्रिप्शन और डिक्रिप्शन।
  • Free and Open Source Algorithm।
  • Software Implementation में उत्कृष्ट प्रदर्शन।

ब्लोफिश के लाभ:

  • कुंजी वितरण में लचीलापन।
  • DES की तुलना में अधिक सुरक्षित।
  • Memory Efficient और Portable।

ब्लोफिश की सीमाएँ:

  • 64-bit Block Size के कारण बड़ी फाइलों पर Collision की संभावना।
  • Key Expansion धीमा हो सकता है।
  • नए एल्गोरिद्म जैसे AES अब Blowfish को Replace कर चुके हैं।

ब्लोफिश बनाम AES तुलना:

पैरामीटरBlowfishAES
Block Size64 bits128 bits
Key Size32–448 bits128/192/256 bits
Rounds1610–14
SpeedHighHigh (Hardware optimized)
Security LevelModerateVery High

वास्तविक जीवन में उपयोग:

  • Password Protection (bcrypt के माध्यम से)।
  • VPN Systems और Firewalls में उपयोग।
  • Embedded Systems में तेज़ एन्क्रिप्शन।
  • Freeware और Open-Source Encryption Tools (TrueCrypt, GnuPG)।

निष्कर्ष:

Blowfish ने Symmetric Encryption की दुनिया में क्रांति ला दी। इसकी सरलता, लचीलापन और Open Source प्रकृति ने इसे 1990 और 2000 के दशक में अत्यंत लोकप्रिय बनाया। हालांकि अब AES इसे प्रतिस्थापित कर चुका है, लेकिन Blowfish आज भी Password Hashing (bcrypt) और Lightweight Applications में प्रासंगिक बना हुआ है।

Related Post