একটি "সুরক্ষিত" হ্যাশ এমন একটি হ্যাশ যা হ্যাশ তৈরির জন্য ব্যবহৃত বার্তাটির পূর্ব জ্ঞান ছাড়াই সূত্র, পুনরুত্পাদনযোগ্য উপায়ে "স্পুফ" করা কঠিন বলে বিশ্বাস করা হয়। যেহেতু তথ্যটি গোপনীয়, তাই একটি হ্যাশের প্রয়োজনীয়তা, এটি প্রমাণীকরণের জন্য ব্যবহার করার উদ্দেশ্যে হ্যাশিং ফাংশনটির একটি ভাল সম্পত্তি।
একটি হ্যাশকে সাধারণত "সুরক্ষিত" হিসাবে বিবেচনা করা হয়, যদি কোনও বার্তা দেওয়া হয় এম, একটি হ্যাশ ফাংশন হ্যাশ (), এবং একটি হ্যাশ মান এইচ দ্বারা উত্পাদিত বিট এল এর দৈর্ঘ্য, তার চেয়ে কম কিছু সম্পাদন করা যায় না ও (2 এল ) সময়:
- হ্যাশ () এবং এইচ দেওয়া হয়েছে, উত্পাদন এম (প্রাক প্রতিরোধ)
- হ্যাশ () এবং এম দেওয়া হয়েছে, আলাদা একটি এম 2 তৈরি করুন যা হ্যাশ (এম 2 ) == এইচ। (দুর্বল সংঘর্ষ প্রতিরোধের)
- হ্যাশ () দেওয়া, যে কোনও এম 1 এবং এম 2 যেমন হ্যাশ (এম 1 ) == হ্যাশ (এম 2 ) উত্পাদন করুন। (শক্ত সংঘর্ষ প্রতিরোধের)
অতিরিক্তভাবে, একটি "সুরক্ষিত" হ্যাশটির অবশ্যই একটি হ্যাশ দৈর্ঘ্য এল থাকতে হবে যেমন 2 এলপ্রদত্ত বর্তমান হার্ডওয়্যারটি সম্পাদন করার জন্য কোনও কম্পিউটারের জন্য একটি সম্ভাব্য পদক্ষেপ নয়। একটি 32-বিট পূর্ণসংখ্যার হ্যাশটির কেবলমাত্র 2.1 বিলিয়ন মান থাকতে পারে; প্রিমেজ আক্রমণ (একটি নির্দিষ্ট হ্যাশ এইচ উত্পাদনকারী একটি বার্তা সন্ধান করতে) কিছুটা সময় নেওয়ার সময়, এটি অনেক কম্পিউটারের পক্ষে বিশেষত কোড-ব্রেকিংয়ের জন্য সরকারী সংস্থাগুলির হাতে থাকা সরকারী সংস্থাগুলির পক্ষে কার্যকর নয়। এছাড়াও, একটি অ্যালগরিদম যা এলোমেলো বার্তা তৈরি করে এবং তাদের হ্যাশগুলি তৈরি করে এবং সংরক্ষণ করে, সম্ভাবনা অনুসারে, কেবলমাত্র 77 77,০০০ বার্তাগুলির চেষ্টা করার পরে প্রতিটি নতুন বার্তার সাথে একটি নকল হ্যাশ খুঁজে পেতে একটি 50% গুলি করতে পারে এবং একটি হিট করার 75% সুযোগ থাকবে কেবল ১১০,০০০ এর পরে সদৃশ। এমনকি 5৪-বিট হ্যাশগুলিতে এখনও প্রায় ৫ বিলিয়ন মূল্যবোধের চেষ্টা করার পরে 50% সংঘর্ষের সুযোগ রয়েছে। ছোট হ্যাশগুলিতে জন্মদিনের আক্রমণটির শক্তি এটি। বিপরীতে,ডিলিয়ন সংখ্যা (1.5 * 10 34 )।
ক্রিপ্টোগ্রাফিক হ্যাশগুলিতে সর্বাধিক প্রদর্শিত আক্রমণগুলি সংঘর্ষের আক্রমণ হয়েছে এবং 2 এল এরও কম সময়ে সংঘর্ষের বার্তা উত্পন্ন করার দক্ষতা প্রদর্শন করেছে (বেশিরভাগটি এখনও ক্ষতিকারক সময় হয়েছে, তবে ঘনিষ্ঠটিকে অর্ধেক কমানো জটিলতার ক্ষেত্রে উল্লেখযোগ্য হ্রাস) একটি 256-বিট হ্যাশ যেমন 128-বিট হিসাবে সমাধান করা সহজ, একটি 128-বিট যেমন একটি 64-বিট হিসাবে সমাধান করা সহজ, ইত্যাদি)।
ছোট হ্যাশের আকার ছাড়াও, অন্যান্য কারণগুলি যা হ্যাশকে প্রদর্শিতভাবে নিরাপত্তাহীন করতে পারে তা হ'ল:
কম কাজ - একটি হ্যাশটেবল দ্বারা ব্যবহারের জন্য বা অন্যান্য "চেকসাম"-টাইপ উদ্দেশ্যে ব্যবহারের জন্য ডিজাইন করা একটি হ্যাশ সাধারণত কম্পিউটারের জন্য সস্তা হিসাবে ডিজাইন করা হয়। এটি একটি নিষ্ঠুর শক্তি আক্রমণ এত সহজ করে তোলে।
"স্টিকি স্টেট" - হ্যাশিং ফাংশনটি ইনপুটগুলির নিদর্শনগুলির প্রবণ যেখানে ইনপুটটির একটি বিশেষ অতিরিক্ত বাইট দেওয়া হলে এখন পর্যন্ত সমস্ত ইনপুটগুলির বর্তমান হ্যাশ মান পরিবর্তন হয় না। "স্টিকি স্টেট" থাকা সংঘর্ষগুলি সন্ধান করা সহজ করে তোলে, কারণ "স্টিকি স্টেট" হ্যাশ তৈরির বার্তাটি শনাক্ত করার পরে ইনপুট বাইট যুক্ত করে একই বার্তাগুলি উত্পন্ন করা ক্ষুদ্রতর হয় যা হ্যাশটিকে তার "আঠালো অবস্থায়" রাখে same "।
বিচ্ছিন্নকরণ - বার্তাটির প্রতিটি ইনপুট বাইট হ্যাশ মানটির বাইটগুলির মধ্যে সমান-জটিল পদ্ধতিতে বিতরণ করা উচিত। কিছু হ্যাশ ফাংশন হ্যাশের কিছু বিটগুলিতে অনুমানযোগ্য পরিবর্তন তৈরি করে। এটি আবার সংঘর্ষের সৃষ্টি তুচ্ছ করে তোলে; একটি বার্তা দেওয়া যা একটি হ্যাশ তৈরি করে, সংঘর্ষগুলি সহজেই বার্তায় নতুন মানগুলি প্রবর্তন করে তৈরি করা যায় যা কেবলমাত্র পূর্বাভাসে পরিবর্তিত বিটগুলিকে প্রভাবিত করে।