Secure Hash Algorithm (SHA): নেটওয়ার্ক সিকিউরিটিতে হ্যাশ ফাংশন, প্রকারভেদ এবং ব্যবহার
হ্যাশ ফাংশন কী এবং নেটওয়ার্ক সিকিউরিটিতে এর ভূমিকা?
হ্যাশ ফাংশন হলো একটি এক-মুখী (one-way) গাণিতিক ফাংশন যেকোনো দৈর্ঘ্যের ইনপুট (মেসেজ/ফাইল) নিয়ে একটি নির্দিষ্ট দৈর্ঘ্যের আউটপুট (হ্যাশ ভ্যালু/মেসেজ ডাইজেস্ট) তৈরি করে। বৈশিষ্ট্য:
- ডিটারমিনিস্টিক: একই ইনপুট → একই আউটপুট
- ফিক্সড আউটপুট সাইজ (SHA-256: ২৫৬ বিট / ৬৪ হেক্স ক্যারেক্টার)
- এভালান্স ইফেক্ট: ইনপুটে ছোট পরিবর্তন → সম্পূর্ণ ভিন্ন আউটপুট
- পূর্ব-ছবি প্রতিরোধ (Pre-image resistance): হ্যাশ থেকে ইনপুট বের করা অসম্ভব
- দ্বিতীয় পূর্ব-ছবি প্রতিরোধ (Second pre-image resistance)
- কলিশন প্রতিরোধ (Collision resistance): দুটি ভিন্ন ইনপুট একই হ্যাশ দেয় না
প্রধান SHA অ্যালগরিদম এবং তাদের বৈশিষ্ট্য
| অ্যালগরিদম | আউটপুট সাইজ | স্ট্যাটাস | ব্যবহার |
|---|---|---|---|
| SHA-0 (1993) | 160-bit | ভাঙনশীল, ব্যবহার করা হয় না | ইতিহাসপ্রসঙ্গে |
| SHA-1 (1995) | 160-bit | Deprecated (2017-এ SHA-1 কলিশন প্রুভড) | লিগেসি সিস্টেম, Git (শিপহট করছে) |
| SHA-224 | 224-bit | নিরাপদ | SHA-2 ফ্যামিলি, কম ব্যবহৃত |
| SHA-256 | 256-bit | বর্তমান স্ট্যান্ডার্ড, অত্যন্ত নিরাপদ | TLS 1.2/1.3, SSL, IPsec, SSH, PGP, Bitcoin, পাসওয়ার্ড হ্যাশিং |
| SHA-384 | 384-bit | নিরাপদ | উচ্চ সিকিউরিটি প্রয়োজনীয় ক্ষেত্রে |
| SHA-512 | 512-bit | নিরাপদ, ৬৪-বিট আর্কিটেকচারে দ্রুত | উচ্চ সিকিউরিটি, ডিজিটাল সিগনেচার |
| SHA-3 (Keccak, 2015) | 224/256/384/512-bit | নিরাপদ, SHA-2-এর আলাদা ডিজাইন | ভবিষ্যতের প্রুফ, এমবেডেড সিস্টেম |
SHA-256 কেন সবচেয়ে জনপ্রিয় এবং নিরাপদ?
- NIST FIPS 180-4 স্ট্যান্ডার্ড, US সরকার সংবেদনশীল তথ্যের জন্য বাধ্যতামূলক
- бруট-ফোর্স আক্রমণে ২²⁵৬ অপারেশন লাগে — বর্তমান কম্পিউটিং পাওয়ার سے অসম্ভব
- TLS, IPsec, SSH, PGP, Bitcoin, Unix/Linux পাসওয়ার্ড হ্যাশিং-এ ব্যবহার
- SHA-1-এর চেয়ে ধীর কিন্তু নিরাপত্তা অনেক বেশি
SHA ব্যবহারের প্রধান ক্ষেত্র
- ডিজিটাল সিগনেচার: ডেটা হ্যাশ → প্রাইভেট কী দিয়ে সাইন → পাবলিক কী দিয়ে ভেরিফাই
- সার্টিফিকেট (X.509): CA সার্টিফিকেট হ্যাশ করছে SHA-256 দিয়ে
- পাসওয়ার্ড স্টোরেজ: সল্ট (salt) + SHA-256/PBKDF2/bcrypt/Argon2
- ফাইল ইন্টিগ্রিটি চেক: ডাউনলোড করা ফাইলের SHA-256 চেকসম মিলিয়ে যাচাই
- ব্লকচেইন/ক্রিপ্টোকারেন্সি: Bitcoin-এ SHA-256 (Double SHA-256) প্রুফ-অফ-ওয়ার্কে
- HMAC (Hash-based Message Authentication Code): মেসেজ অথেন্টিকেশন
SHA এবং এনক্রিপশনের পার্থক্য
হ্যাশিং: One-way, কী লাগে না, রিভার্সIBLE নয়, ইন্টিগ্রিটি যাচাই। এনক্রিপশন: Two-way, কী লাগে, ডিক্রিপ্ট করা যায়, গোপনীয়তা নিশ্চিত।
সিকিউরিটি প্রপার্টি সারসংক্ষেপ
- Pre-image Resistance: h(x) = y দেওয়া থাকলে x বের করা অসম্ভব
- Second Pre-image Resistance: x দেওয়া থাকলে x' ≠ x যাতে h(x') = h(x) হয় এমন x' বের করা অসম্ভব
- Collision Resistance: যেকোনো x ≠ x' যাতে h(x) = h(x') হয় এমন জোড়া বের করা অসম্ভব