আমি আক্রমণ পরিস্থিতির সাথে আপনার জন্য পার্থক্য প্রেরণা করতে পারেন।
একটি প্রথম preimage হামলা , আমরা একটি প্রতিদ্বন্দ্বী দেওয়া জিজ্ঞাসা শুধুমাত্র এটি, মি বা কিছু মি ' যেমন যে এইচ ( মি ' ) = এইচ ( মি ) । একটি ওয়েবসাইট দোকানে ধরুন { U গুলি ই দ N একটি মিটার ই , এইচ ( পি একটি গুলি গুলি W ণ দ ঘ ) } তার পরিবর্তে ডাটাবেস { U গুলি ইH(m)mm′H(m′)H(m){username,H(password)} । ওয়েবসাইটটি এখনও তাদের পাসওয়ার্ড গ্রহণ করে এবং এইচ ( আই এন পি ইউ টি ) = এর সাথে তুলনা করে ব্যবহারকারীর সত্যতা যাচাই করতে পারে ? এইচ ( পি একটি গুলি গুলি W ণ দ ঘ ) (সম্ভাবনা সঙ্গে 1 / 2 এন কিছু বৃহৎ জন্য এন মিথ্যা positives জন্য)। এখন ধরুন এই ডাটাবেস ফাঁস হয়েছে বা অন্যথায় প্রশংসিত হয়েছে। একজন{username,password}H(input)=?H(password)1/2nnপ্রথম প্রাক আক্রমণ আক্রমণটি এমন পরিস্থিতি যেখানে কোনও শত্রু কেবল একটি বার্তা হজমে অ্যাক্সেস পায় এবং এই মানটিকে হ্যাশ করে এমন একটি বার্তা উত্পন্ন করার চেষ্টা করে।
একটি দ্বিতীয় preimage হামলা , আমরা প্রতিদ্বন্দ্বী আরও তথ্যের অনুমতি দেয়। বিশেষত, আমরা কেবল তাকেই দিই না তবে তাকে এমও দিই । H ( m ) = m d হ্যাশ ফাংশনটি বিবেচনা করুনH(m)m যেখানে p এবং q হ'লপ্রাইম এবং d একটি পাবলিক ধ্রুবক। স্পষ্টতইপ্রথম প্রাক হামলারজন্যএটি আরএসএ সমস্যা হয়ে ওঠে এবং বিশ্বাস করা শক্ত হয়। যাইহোক,দ্বিতীয় প্রিমেজে আক্রমণেসংঘর্ষের সন্ধান করা সহজ হয়ে যায়। এক সেট তাহলে মি ' = মি পি কুই + + মি , এইচ ( মি পি কুই + + মি ) = ( মি পি কুই + + মি ) ঘH(m)=mdmodpqpqdm′=mpq+m । এবং তাই শত্রুরা খুব কম গণনার সাথে একটি সংঘর্ষ খুঁজে পেয়েছে।H(mpq+m)=(mpq+m)dmodpq=mdmodpq
আমরা চাই ডিজিটাল সিগনেচার স্কিমগুলির কারণে একটি উপায় হ্যাশ ফাংশন দ্বিতীয় প্রিমাইজ আক্রমণগুলির বিরুদ্ধে প্রতিরোধী হয় , এই ক্ষেত্রে জনসাধারণের তথ্য হিসাবে বিবেচিত হয় এবং এর সাথে (ইন্ডিয়ারেশনের স্তরের মাধ্যমে) পাশ করা হয় নথির প্রতিটি অনুলিপি। এখানে একটি আক্রমণকারী উভয় অ্যাক্সেস আছে ঘ ণ গ তোমার দর্শন লগ করা মি ই এন টি এবং এইচ ( ঘ ণ গ তোমার দর্শন লগ করা মি ই এন টি )H(document)documentH(document)। আক্রমণকারী যদি মূল দস্তাবেজের (বা সম্পূর্ণ নতুন বার্তা) যেমন এইচ ( ডি ′ ) = এইচ ( ডি ও সি ইউ এম ই এন টি ) এর সাথে তারতম্য নিয়ে আসতে পারে তবে সে তার নথিটি প্রকাশ করতে পারত যদিও সে ছিল মূল স্বাক্ষরকারী।d′H(d′)=H(document)
একটি সংঘর্ষের আক্রমণ শত্রুদের আরও বেশি সুযোগ দেয়। এই স্কিমে, আমরা শত্রুদের (আমি কি তাকে বব বলতে পারি?) এবং এম 2 এর মতো দুটি ( H ( এম 1 ) = এইচ ( এম 2 ) দুটি বার্তা খুঁজে পেতে বলি । কবুতরের নীতি এবং জন্মদিনের প্যারাডক্সের কারণে, এমনকি 'নিখুঁত' হ্যাশ ফাংশন প্রিমাইজ আক্রমণগুলির চেয়ে সংঘর্ষের আক্রমণে চতুর্ভুজ দুর্বল। অন্য কথায়, একটি অপ্রত্যাশিত এবং অপরিবর্তনীয় বার্তা ডাইজেস্ট ফাংশন দেওয়া f ( { 0 , 1 } ∗ ) = { 0m1m2H(m1)=H(m2) যাজোরদার হতে ও ( 2 এন ) সময়নেয়, একটি সংঘর্ষ সর্বদা প্রত্যাশিত সময়ে পাওয়া যায় O ( s q r t ( 2 n ) ) = O ( 2 n / 2 ) ।f({0,1}∗)={0,1}nO(2n)O(sqrt(2n))=O(2n/2)
বব তার উপকারে বিভিন্নভাবে সংঘর্ষের আক্রমণ ব্যবহার করতে পারে। এখানে simpliest এগুলির মধ্যে একটি: বব দুই বাইনেরিতে মধ্যে একটি সংঘর্ষের খুঁজে বের করে এবং খ ' ( এইচ ( খ ) = এইচ ( খ ' ) ) যেমন যে খ একটি বৈধ মাইক্রোসফট উইন্ডোজ নিরাপত্তা প্যাচ এবং খ ' ম্যালওয়্যার হয়। (বব উইন্ডোজ জন্য কাজ করে)। বব তার সুরক্ষা প্যাচটি কমান্ডের চেইন আপ প্রেরণ করে, যেখানে একটি ভল্টের পিছনে তারা কোডটিতে স্বাক্ষর করে এবং বাইনারিটি বিশ্বব্যাপী উইন্ডোজ ব্যবহারকারীদের কাছে কোনও ত্রুটি সমাধানের জন্য পাঠায়। বব এখন বিশ্বব্যাপী সমস্ত উইন্ডোজ কম্পিউটারে বি ′ এবং মাইক্রোসফ্ট বি এর জন্য স্বাক্ষরিত স্বাক্ষরের সাথে যোগাযোগ করতে এবং সংক্রামিত করতে পারেbb′H(b)=H(b′)b′b′b। এই ধরণের আক্রমণাত্মক পরিস্থিতিগুলির বাইরে, যদি কোনও হ্যাশ ফাংশন সংঘর্ষ প্রতিরোধী হিসাবে বিশ্বাস করা হয়, তবে হ্যাশ ফাংশনটি প্রিমাইজ প্রতিরোধী হওয়ার সম্ভাবনাও বেশি।