ডাটা নিয়ে কাজ করতে গেলে এবং তার সুরক্ষা নিশ্চিত করতে হলে আমরা প্রায়ই দুটি শব্দ শুনি — Hash এবং Encryption। অনেকেই এই দুই ধারণা একসঙ্গে মিশিয়ে ফেলেন। আজকে দেখব, এদের মধ্যে আসলে পার্থক্য কোথায় এবং কখন কোনটি ব্যবহার করা উচিত।
🔒 হ্যাশ (Hash) কী?
হ্যাশ হলো ক্রিপ্টোগ্রাফির এমন একটি পদ্ধতি যা কোনো ইনপুট ডাটা থেকে একটি fixed-length output (signature) তৈরি করে। গুরুত্বপূর্ণ বিষয় হলো — হ্যাশ একমুখী; অর্থাৎ একবার কোনো ডাটা হ্যাশ হয়ে গেলে সেটি থেকে মূল ডাটাটি আর কখনো পুনরুদ্ধার করা সম্ভব নয়।
সবচেয়ে জনপ্রিয় হ্যাশ অ্যালগরিদমের মধ্যে রয়েছে:
MD5, SHA-1, SHA-256, SHA-512 ইত্যাদি।
উদাহরণ:
Input: 12345
MD5 Hash: 827ccb0eea8a706c4c34a16891f84e7bআরেকটি উদাহরণ:
Input: I love Bangladesh
MD5 Hash: 73f077f68d709f170eafb8b347be3932👉 এই আউটপুটগুলো সবসময় ৩২ ক্যারেক্টার (MD5) বা ৬৪ ক্যারেক্টার (SHA-256) দীর্ঘ হয়, ইনপুট যত বড়ই হোক না কেন।
🔗 আপনি টেস্ট করে দেখতে পারেন https://www.sha1-online.com/
💡 হ্যাশ ব্যবহারের বাস্তব চিত্র
লগইন সিস্টেমের সময় যখন ব্যবহারকারী তার পাসওয়ার্ড দেন, সেটি সরাসরি ডাটাবেজে সেভ করা হয় না। বরং প্রথমে হ্যাশ করা হয়, তারপর সেই হ্যাশ সেভ হয়। লগইনের পর, ব্যবহারকারীর দেওয়া পাসওয়ার্ডও হ্যাশ করে তুলনা করা হয় ডাটাবেজের হ্যাশ ভ্যালুর সঙ্গে।
এভাবে কেউ ডাটাবেজে ঢুকলেও ব্যবহারকারীর আসল পাসওয়ার্ড জানতে পারে না।
🔐 এনক্রিপশন (Encryption) কী?
এনক্রিপশনও ক্রিপ্টোগ্রাফির অংশ, কিন্তু এটি reversible অর্থাৎ উল্টো দিকে কাজ করে। আপনি ডাটাকে এনক্রিপ্ট করে সুরক্ষিত করেন, আবার সঠিক key ব্যবহার করে সেটিকে decrypt করে মূল অবস্থায় ফেরত আনতে পারেন।
Input: 12345
Encrypted: YgN+d3...
Decrypted: 12345এর প্রয়োগ আমরা দেখি যেমন:
- WhatsApp-এর End-to-End Encryption
- Bank transaction data
- Secure file storage
এনক্রিপশন এমন ক্ষেত্রে কাজের, যেখানে ভবিষ্যতে মূল ডাটাটি আবার জানা প্রয়োজন।
⚙️ কখন হ্যাশ আর কখন এনক্রিপশন?
সহজভাবে বলা যায় —
🔹 Hash ব্যবহার করুন এমন ডাটায় যা কখনই পুনরুদ্ধারের প্রয়োজন নেই।
🔹 Encryption ব্যবহার করুন এমন ডাটায় যার future access প্রয়োজন।
🧬 হ্যাশ অ্যালগরিদমের বিবর্তন
হ্যাশ অ্যালগরিদমগুলোর মধ্যে সবচেয়ে প্রভাবশালী কিছু হলো:
- MD2 (1989), MD4 (1990), MD5 (1991) — উদ্ভাবক Ronald Rivest।
এগুলোর ফিক্সড আউটপুট ছিল ১২৮-বিট, তবে সময়ের সাথে Collision Attack-এর কারণে এগুলো অনিরাপদ হয়ে পড়ে। - SHA-1 (1995) — NSA কর্তৃক উদ্ভাবিত, ১৬০-bit hash তৈরি করতো কিন্তু এটিও পরবর্তীতে ভঙ্গযোগ্য প্রমাণিত হয়।
- SHA-2 Family (Sha-224, Sha-256, Sha-384, Sha-512) — ২০০১ সালে NIST প্রকাশ করে।
এগুলো আজও ব্যাপকভাবে ব্যবহৃত এবং বেশ নিরাপদ বলে ধরা হয়। - SHA-3 / Keccak — আরও উন্নত পদ্ধতি, যেখানে sponge construction ব্যবহার করা হয়। এটি যেকোনো দৈর্ঘ্যের ইনপুট নিয়ে variable-length hash তৈরি করতে পারে।
⚔️ Collision Attack কী?
Collision Attack হলো এমন একটি আক্রমণ পদ্ধতি যেখানে ভিন্ন ভিন্ন দুটি ইনপুট থেকে একই হ্যাশ ভ্যালু পাওয়া যায়।
যেমন ধরুন:
Input1: MyBirthday=10Oct1990
Input2: MyBirthday=11Oct1991
OutputHash (Same for both): a1b2c3...যদি দুই আলাদা ইনপুট একই হ্যাশ ভ্যালু দেয়, তাহলে ডাটার integrity ভেঙে যায় — যা সাইবার সিকিউরিটিতে ভয়ানক সমস্যা।
🧭 উপসংহার
হ্যাশ এবং এনক্রিপশন — দুটি ক্রিপ্টোগ্রাফিক পদ্ধতিই নিরাপত্তার জন্য অপরিহার্য, তবে কাজের ধরন সম্পূর্ণ ভিন্ন।
সঠিক জায়গায় সঠিক টেকনিক ব্যবহারের মাধ্যমে সিস্টেমের সিকিউরিটি, রিলায়াবিলিটি এবং ইউজার ডাটা প্রোটেকশন নিশ্চিত করা সম্ভব।

No comments:
Post a Comment