হ্যাশিং কী? উদাহরণসহ ব্যাখ্যা
হ্যাশিং হলো একটি গাণিতিক অ্যালগরিদম যা যেকোনো আকারের ইনপুট ডেটাকে একটি নির্দিষ্ট দৈর্ঘ্যের আউটপুট (হ্যাশ ভ্যালু বা ডাইজেস্ট) এ রূপান্তর করে। উদাহরণস্বরূপ, ২০,০০০ সংখ্যার তালিকা থেকে একটি নির্দিষ্ট সংখ্যা খুঁজে বের করতে হ্যাশ টেবিল ব্যবহার করা হয়।
নেটওয়ার্ক সিকিউরিটিতে হ্যাশ ফাংশন
হ্যাশ ফাংশন একটি तरफা (one-way) গাণিতিক পরিবর্তন। এটি ইনপুট ডেটাকে একটি নির্দিষ্ট দৈর্ঘ্যের বাইনারি বা হেক্সাডেসিমেল স্ট্রিং-এ রূপান্তর করে।SHA-256, MD5, SHA-1, NTLM, LANMAN ইত্যাদি জনপ্রিয় হ্যাশিং অ্যালগরিদম।
হ্যাশিং এবং এনক্রিপশনের পার্থক্য
| বিষয় | হ্যাশিং | এনক্রিপশন |
|---|---|---|
| প্রকৃতি | এক-পথ (Irreversible) | দুই-পথ (Reversible with key) |
| উদ্দেশ্য | ইন্টিগ্রিটি যাচাই, পাসওয়ার্ড স্টোরেজ | গোপনীয়তা, ডেটা সুরক্ষা |
| কী দরকার | নहीं | হ্যাঁ (পাবলিক/প্রাইভেট কী) |
হ্যাশিং সিকিউরিটিতে কীভাবে ব্যবহৃত হয়?
- পাসওয়ার্ড স্টোরেজ: প্লেইন টেক্সট পাসওয়ার্ড না রাখে হ্যাশ ভ্যালু রাখা হয়। লগইন সময় ইনপুট হ্যাশ করে স্টোর করা হ্যাশের সাথে মিলিয়ে যাচাই করা হয়।
- ডেটা ইন্টিগ্রিটি: ফাইল ডাউনলোড বা ট্রান্সফারের পর হ্যাশ মিলিয়ে ফাইল অক্ষত কিনা যাচাই করা হয়।
- ডিজিটাল সিগনেচার ও সার্টিফিকেট: পাবলিক কী ইনফ্রাস্ট্রাকচার (PKI)-তে হ্যাশিং ব্যবহার হয়।
সুরক্ষিত হ্যাশ অ্যালগরিদম (SHA) এবং কলিশন
SHA-256 (২৫৬ বিট আউটপুট) বর্তমানে الأكثر নিরাপদ। কলিশন হলো দুটি ভিন্ন ইনপুট থেকে একই হ্যাশ ভ্যালু পাওয়া - যা ক্রিপ্টোগ্রাফিকভাবে অসম্ভব হওয়া উচিত। MD5 এবং SHA-1 এখন কলিশন আক্রমণের কারণে ডিপ্রিকেটেড।
হ্যাশিং এর মূল উদ্দেশ্য
- প্রমাণীকরণ (Authentication) - পাসওয়ার্ড যাচাই
- অখণ্ডতা (Integrity) - ডেটা পরিবর্তন নেই তা নিশ্চিত করা
- নন-রিপুডিয়েশন (Non-repudiation) - প্রেরক 부인 করতে পারবে না
হ্যাকাররা হ্যাশিং কীভাবে ব্যবহার করে?
হ্যাকাররা চুরি করা হ্যাশ ডাটাবেস থেকে রেইনবো টেবিল, ব্রুট-ফোর্স বা ডিকশনারি আক্রমণ চালিয়ে পাসওয়ার্ড كر্যাক করার চেষ্টা করে। সল্ট (Salt) যুক্ত হ্যাশিং এবং শক্তিশালী অ্যালগরিদম (bcrypt, Argon2, PBKDF2) এই আক্রমণ রোধে সাহায্য করে।