ক্রিপ্টোগ্রাফির ক্ষেত্রে হ্যাশ ফাংশন তথ্যের অখণ্ডতা এবং নিরাপত্তা নিশ্চিত করতে ব্যবহৃত হয়। এখানে কিছু সাধারণ হ্যাশ ফাংশনের উদাহরণ দেওয়া হলো: MD5, SHA-1, এবং SHA-256।
১. MD5 (Message Digest Algorithm 5)
MD5 হল একটি জনপ্রিয় হ্যাশ ফাংশন যা 128-বিট (16-বাইট) হ্যাশ ভ্যালু উৎপন্ন করে। এটি মূলত ডেটার অখণ্ডতা যাচাই করার জন্য ব্যবহৃত হয়।
বৈশিষ্ট্য:
- হ্যাশ আকার: 128-বিট
- গতি: দ্রুত হ্যাশিং ক্ষমতা।
- ব্যবহার: ফাইল ইন্টিগ্রিটি চেক, পাসওয়ার্ড স্টোরেজ (যদিও নিরাপত্তার কারণে বর্তমানে এটি নিরাপদ নয়)।
দুর্বলতা:
- কলিশন: MD5 এর জন্য কলিশন (একই হ্যাশ ভ্যালু উৎপন্ন করা) সৃষ্টির সম্ভাবনা আছে, যার ফলে এটি নিরাপদ নয়।
- নিরাপত্তা: আধুনিক আক্রমণের বিরুদ্ধে প্রতিরোধী নয়, তাই নিরাপত্তা সংক্রান্ত ব্যবহারে এটি আর সুপারিশ করা হয় না।
২. SHA-1 (Secure Hash Algorithm 1)
SHA-1 হল একটি ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন যা 160-বিট (20-বাইট) হ্যাশ ভ্যালু উৎপন্ন করে। এটি ডিজিটাল স্বাক্ষর এবং তথ্যের অখণ্ডতা যাচাইয়ের জন্য ব্যবহৃত হয়।
বৈশিষ্ট্য:
- হ্যাশ আকার: 160-বিট
- ব্যবহার: ডিজিটাল সিগনেচার, টোকেন সিস্টেম, এবং নিরাপত্তা প্রোটোকল।
দুর্বলতা:
- কলিশন: SHA-1-এ কলিশন আক্রমণের মাধ্যমে নিরাপত্তা ভঙ্গের ঘটনা ঘটেছে, ফলে এটি ক্রমশ অপ্রাসঙ্গিক হয়ে পড়ছে।
- নিরাপত্তা: আধুনিক অ্যাপ্লিকেশনগুলিতে SHA-1 ব্যবহার করা নিরাপদ নয়।
৩. SHA-256 (Secure Hash Algorithm 256)
SHA-256 হল SHA-2 পরিবারের একটি সদস্য এবং এটি 256-বিট (32-বাইট) হ্যাশ ভ্যালু উৎপন্ন করে। এটি বর্তমানে নিরাপত্তার জন্য সবচেয়ে জনপ্রিয় এবং নিরাপদ হ্যাশ ফাংশন।
বৈশিষ্ট্য:
- হ্যাশ আকার: 256-বিট
- ব্যবহার: ব্লকচেইন (যেমন বিটকয়েন), ডিজিটাল সিগনেচার, এবং ডেটা নিরাপত্তা।
সুবিধা:
- নিরাপত্তা: SHA-256 অত্যন্ত নিরাপদ এবং আধুনিক আক্রমণের বিরুদ্ধে প্রতিরোধী।
- কোলিশন প্রতিরোধ: SHA-256 এর জন্য কলিশন তৈরি করা অত্যন্ত কঠিন।
সারসংক্ষেপ
- MD5: 128-বিট হ্যাশ তৈরি করে, দ্রুত কিন্তু নিরাপত্তার দিক থেকে দুর্বল।
- SHA-1: 160-বিট হ্যাশ তৈরি করে, এটি আধুনিক নিরাপত্তার জন্য নিরাপদ নয়।
- SHA-256: 256-বিট হ্যাশ তৈরি করে, বর্তমানে সবচেয়ে নিরাপদ এবং ব্যাপকভাবে ব্যবহৃত।
এই হ্যাশ ফাংশনগুলো তথ্যের অখণ্ডতা যাচাই করার জন্য ব্যবহৃত হয়, তবে তাদের নিরাপত্তার স্তর ভিন্ন। আধুনিক নিরাপত্তা ব্যবস্থায় MD5 এবং SHA-1 ব্যবহার করা উচিত নয়, SHA-256 এবং তার পরবর্তী সংস্করণগুলি বেশি সুপারিশ করা হয়।