না, MD5 এর মতো কোনও হ্যাশ ফাংশনটি বিপরীত করা সম্ভব নয়: আউটপুট হ্যাশ মান প্রদত্ত হলে ইনপুট বার্তা সম্পর্কে পর্যাপ্ত তথ্য না জানা থাকলে ইনপুট বার্তাটি পাওয়া অসম্ভব।
ডিক্রিপশন কোনও হ্যাশ ফাংশনের জন্য সংজ্ঞায়িত কোনও ফাংশন নয়; এনক্রিপশন এবং ডিক্রিপশন সিবিসি মোডে AES এর মতো একটি সাইফারের ফাংশন ; হ্যাশ ফাংশনগুলি এনক্রিপ্ট করে না এবং ডিক্রিপ্ট করে না । একটি ইনপুট বার্তা হজম করতে হ্যাশ ফাংশন ব্যবহার করা হয় । নামটি থেকে বোঝা যায় যে নকশা দ্বারা কোনও বিপরীত অ্যালগরিদম সম্ভব নয় ।
এমডি 5 ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত, একমুখী হ্যাশ ফাংশন হিসাবে ডিজাইন করা হয়েছে । এমডি 5 এর জন্য সংঘর্ষগুলি উত্পন্ন করা এখন সহজ - এমনকি ইনপুট বার্তার একটি বড় অংশ পূর্ব নির্ধারিত থাকলেও। সুতরাং এমডি 5 সরকারীভাবে নষ্ট হয়ে গেছে এবং এমডি 5 কে আর কোনও ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত হ্যাশ হিসাবে বিবেচনা করা উচিত নয়। তবে একটি ইনপুট বার্তা পাওয়া এখনও অসম্ভব যা একটি হ্যাশ মানের দিকে নিয়ে যায়: এক্সটি সন্ধান করুন যখন কেবল এইচ (এক্স) জানা থাকে (এবং এক্সের কমপক্ষে 128 বাইট ব্লক প্রম্পম্পিউটেড ডেটা সহ প্রি-কম্পিউটেড কাঠামো নেই) । আছে কোন পরিচিত প্রাক ইমেজ হামলার MD5 বিরুদ্ধে।
ডেটাবেসগুলির তুলনা করতে বা তথাকথিত রেইনবো টেবিলগুলিতে পাসওয়ার্ড হ্যাশগুলি চেষ্টা করে দেখতে এবং ব্রুটে ফোর্স বা (সংযুক্ত) অভিধান আক্রমণ ব্যবহার করে পাসওয়ার্ডগুলি অনুমান করাও সম্ভব is যদি কোনও মিল খুঁজে পাওয়া যায় তবে তা গণনাগতভাবে নিশ্চিত যে ইনপুটটি পাওয়া গেছে। হ্যাশ ফাংশন এছাড়াও সংঘর্ষের আক্রমণের বিরুদ্ধে নিরাপদ করা হয়: খোঁজার X'যাতে H(X') = H(X)দেওয়া H(X)। সুতরাং যদি Xএটি পাওয়া যায় তবে এটি গণনাগতভাবে নিশ্চিত যে এটি প্রকৃতপক্ষে ইনপুট বার্তা ছিল। অন্যথায় আপনি সব পরে একটি সংঘর্ষের আক্রমণ করা হত। আক্রমণগুলি ত্বরান্বিত করতে রেইনবো টেবিলগুলি ব্যবহার করা যেতে পারে এবং সেখানে নির্দিষ্ট ইন্টারনেট সংস্থান রয়েছে যা আপনাকে একটি নির্দিষ্ট হ্যাশ দেওয়া পাসওয়ার্ড খুঁজে পেতে সহায়তা করবে।
অন্যান্য সিস্টেমে যে পাসওয়ার্ড তৈরি হয়েছিল তা যাচাই করতে অবশ্যই হ্যাশ মানটি পুনরায় ব্যবহার করাH(X) সম্ভব । রিসিভিং সিস্টেমকে কেবল একমাত্র কাজটি করতে হয় তা হ'ল একটি ডিস্ট্রিমেন্টিক ফাংশনের ফলাফলকে ইনপুট হিসাবে Fগ্রহণ করে H(X)। যখন Xসিস্টেমে দেওয়া হয় তখন H(X)এবং তাই Fপুনরায় গণনা করা যেতে পারে এবং ফলাফলগুলির সাথে তুলনা করা যেতে পারে। অন্য কথায়, পাসওয়ার্ডটি সঠিক কিনা তা যাচাই করার জন্য হ্যাশ মানটি ডিক্রিপ্ট করার দরকার নেই এবং আপনি এখনও হ্যাশটিকে আলাদা মান হিসাবে সঞ্চয় করতে পারেন।
এমডি 5 এর পরিবর্তে পরিবর্তে পাসওয়ার্ড হ্যাশ বা পিবিকেডিএফ (পাসওয়ার্ড ভিত্তিক কী ডেরাইভেশন ফাংশন) ব্যবহার করা গুরুত্বপূর্ণ। এই জাতীয় ফাংশন একটি হ্যাশের সাথে কীভাবে লবণ ব্যবহার করতে হবে তা নির্দিষ্ট করে । এইভাবে অভিন্ন হ্যাশগুলি অভিন্ন পাসওয়ার্ডগুলির জন্য উত্পন্ন করা হবে না (অন্যান্য ব্যবহারকারী বা অন্যান্য ডাটাবেসের মধ্যে)। সেই কারণে পাসওয়ার্ড হ্যাশগুলি লবণ যথেষ্ট পরিমাণে এবং যথাযথভাবে এলোমেলো করা হওয়া পর্যন্ত রংধনু টেবিলগুলি ব্যবহার করার অনুমতি দেয় না।
পাসওয়ার্ড হ্যাশগুলিতে একটি কাজের ফ্যাক্টর (কখনও কখনও পুনরাবৃত্তি গণনা ব্যবহার করে কনফিগার করা ) থাকে যা লবণের এবং হ্যাশটির মান দিয়ে পাসওয়ার্ড সন্ধান করার চেষ্টা করে এমন আক্রমণকে উল্লেখযোগ্যভাবে কমিয়ে দেয়। এটি গুরুত্বপূর্ণ কারণ সল্ট এবং হ্যাশ মান সহ ডাটাবেস চুরি হতে পারে। অবশেষে, পাসওয়ার্ড হ্যাশ মেমরি- হার্ডও হতে পারে যাতে হ্যাশ গণনা করার জন্য উল্লেখযোগ্য পরিমাণ মেমরির প্রয়োজন হয়। এটি আক্রমণকারীটিকে অনুসন্ধানে গতি বাড়ানোর জন্য বিশেষ হার্ডওয়্যার (জিপিইউস, এএসআইসিস, এফপিজিএ ইত্যাদি) ব্যবহার করা অসম্ভব করে তোলে। অন্যান্য ইনপুট বা কনফিগারেশন বিকল্পগুলি যেমন একটি গোলমরিচ বা সমান্তরালনের পরিমাণ কোনও পাসওয়ার্ড হ্যাশে উপলভ্য হতে পারে।
এটি এখনও পাসওয়ার্ড হ্যাশ H(X)হলেও কাউকে দেওয়া পাসওয়ার্ড যাচাই করার অনুমতি দেবে H(X)। পাসওয়ার্ড হ্যাশগুলি এখনও নির্বিচারে থাকে, সুতরাং যদি কেউ সমস্ত ইনপুট এবং হ্যাশ অ্যালগরিদম নিজেই জেনে থাকে তবে Xতা গণনা করতে H(X)এবং - আবার - ফলাফলগুলির সাথে তুলনা করা যেতে পারে।
সাধারণত ব্যবহৃত পাসওয়ার্ড হ্যাশগুলি হ'ল বিক্রিপ্ট , স্ক্রিপ্ট এবং পিবিকেডিএফ 2 । রয়েছে Argon2 বিভিন্ন ধরনের যা যুক্তিসঙ্গত সাম্প্রতিক পাসওয়ার্ড হ্যাশ প্রতিযোগিতার বিজয়ী হবে। এখানে ক্র্যাকস্টেশনটি সঠিকভাবে পাসওয়ার্ড সুরক্ষা করার জন্য একটি ভাল ব্লগ পোস্ট।
বিরোধীদের পক্ষে হ্যাশ গণনা সম্পাদন করা অসম্ভব করে দেওয়া সম্ভব যে কোনও পাসওয়ার্ড সঠিক কিনা তা যাচাই করে। এর জন্য একটি গোলমরিচ পাসওয়ার্ড হ্যাশের ইনপুট হিসাবে ব্যবহার করা যেতে পারে। বিকল্পভাবে, হ্যাশ মান অবশ্যই এআইএসের মতো সিফার এবং সিবিসি বা জিসিএম এর মতো একটি অপারেশন মোড ব্যবহার করে এনক্রিপ্ট করা যেতে পারে। তবে এর জন্য স্বতন্ত্রভাবে একটি গোপন / কী সঞ্চয় করতে হবে এবং পাসওয়ার্ড হ্যাশের চেয়ে উচ্চতর অ্যাক্সেসের প্রয়োজনীয়তা রয়েছে।