কম্পিউটার টিউটোরিয়াল

তথ্য নিরাপত্তায় হ্যাশিং (Hashing) কী?

হ্যাশিং (Hashing) কী?

হ্যাশিং হলো একটি দেওয়া কীকে একটি কোডে রূপান্তর করার প্রক্রিয়া। একটি হ্যাশ ফাংশন ডেটাকে একটি নতুন তৈরি হ্যাশ কোড দিয়ে প্রতিস্থাপন করতে পারে। অধিক নির্দিষ্টভাবে, হ্যাশিং হলো একটি স্ট্রিং বা ইনপুট কী (ন্যারেটিভ ইনফরমেশন সংরক্ষণের জন্য তৈরি ভেরিয়েবল) নেয়া এবং এটিকে একটি হ্যাশ ভ্যালু দিয়ে সংজ্ঞায়িত করা, যা সাধারণত একটি অ্যালগরিদম দ্বারা নির্ধারিত হয় এবং আসলটির চেয়ে অনেক ছোট স্ট্রিং গঠন করে।

হ্যাশ টেবেল ও কার্যকারিতা

হ্যাশ টেবেল একটি লিস্ট তৈরি করে যেখানে সব ভ্যালু জোড়া সংরক্ষিত থাকে এবং এর ইন্ডেক্স দিয়ে সহজে অ্যাক্সেস করা যায়। ফলাফল: ডেটাবেস টেবিলে কী ভ্যালু দক্ষতার সাথে অ্যাক্সেস করার পদ্ধতি এবং এনক্রিপশনের মাধ্যমে ডেটাবেস নিরাপত্তা বাড়ানোর পদ্ধতি।

হ্যাশ ও হ্যাশিং অ্যালগরিদম

হ্যাশ হলো হ্যাশিং অ্যালগরিদমের আউটপুট যেমন MD5 (Message Digest 5) বা SHA (Secure Hash Algorithm)। এই অ্যালগরিদমগুলো মূলত যেকোনো দেয়া তথ্য বা মেসেজের জন্য একটি ইউনিক, ফিক্সড-লেন্থ স্ট্রিং এবং হ্যাশ ভ্যালু বা মেসেজ ডাইজেস্ট তৈরি করার লক্ষ্য রাখে।

কম্পিউটারের প্রতিটি ফাইল চূড়ান্তভাবে বাইনারি ফরমে ডেটা যা একটি হ্যাশিং অ্যালগরিদম গ্রহণ করতে পারে এবং সেটিতে একটি জটিল গণনা চালিয়ে ফিক্সড-লেন্থ স্ট্রিং আউটপুট হিসেবে দিতে পারে। ফলাফল হলো ডকুমেন্ট হ্যাশ ভ্যালু বা মেসেজ ডাইজেস্ট। হ্যাশিং ফাইলের স্ট্রিং ব্লকগুলোকে অনেক ছোট ফিক্সড-লেন্থ ভ্যালু বা কীতে রূপান্তর করে যা সেগুলোকে রিপ্রেজেন্ট করে।

হ্যাশিং-এর বৈশিষ্ট্য

  • ফলস্বরূপ হ্যাশ ভ্যালু একটি ফাইলের প্রতিটি স্ট্রিংর কনসেন্ট্রেটেড সারাংশ। ফাইলের একটি বাইট পরিবর্তন হলেও হ্যাশ ভ্যালু পরিবর্তন হয়ে যাবে (avalanche effect)। এতে ডেটা কমপ্রেশন-এ বড় সুবিধা হয়।
  • হ্যাশিং একটি ক্রিপ্টোগ্রাফিক প্রক্রিয়া যা বিভিন্ন ধরনের ইনপুটের প্রামাণিকতা ও অখণ্ডতা যাচাইতে ব্যবহৃত হয়। অথেন্টিকেশন সিস্টেমে প্লেইনটেক্সট পাসওয়ার্ড ডেটাবেসে সংরক্ষণ না করাতে ব্যাপকভাবে ব্যবহৃত। ফাইল, ডকুমেন্ট ও অন্যান্য ডেটা যাচাইতেও ব্যবহার হয়।
  • হ্যাশিং ফাংশন ভুলভাবে ব্যবহার করলে সিরিয়াস ডেটা ব্রিচ হতে পারে, কিন্তু সংবেদনশীল তথ্য সুরক্ষার জন্য হ্যাশিং ব্যবহার না করা আরও খারাপ।
  • হ্যাশিং ডেটা স্ট্রাকচার অ্যারে-কে দক্ষতার সাথে খুঁজে বের করতে ও সংরক্ষণ করতে সক্ষম করে।

উদাহরণ

২০,০০০ সংখ্যার তালিকা থেকে একটি নির্দিষ্ট সংখ্যা খুঁজতে হলে প্রতিটি স্ক্যান করা বসে। হ্যাশিং অ্যালগরিদম নির্দিষ্ট টাইপ ও লেন্থের ডেটা অ্যারে কে ফিক্সড লেন্থ বিট স্ট্রিং-এ রূপান্তর করে গাণিতিক সূত্র ব্যবহার করে। হ্যাশিং টেবিল ব্যবহার করে একটি অ্যালগরিদম যেকোনো ইনপুটকে একটি নির্ভরযোগ্য মেসেজে রূপান্তর করে।

  1. তথ্য নিরাপত্তায় পাসওয়ার্ড স্যাল্টিং (Password Salting) কী?

  2. তথ্য নিরাপত্তায় ক্রিপ্টোগ্রাফিক হ্যাশ ফাংশন (Cryptographic Hash Function) কী?

  3. তথ্য নিরাপত্তায় SHA (Secure Hash Algorithm) কী?

  4. তথ্য নিরাপত্তাতে হ্যাশ ফাংশনের কী কী প্রয়োজনীয়তা?