MMH-Badger MAC
ব্যাজার সর্বজনীন হ্যাশিংয়ের ধারণার উপর ভিত্তি করে একটি বার্তা প্রমাণীকরণ কোড (এম. এ. সি) এবং এটি বোসগার্ড, স্ক্যাভেনিয়াস, পেডারসন, ক্রিস্টেনসেন এবং জেনার দ্বারা তৈরি করা হয়েছিল। এটি ই. এন. এইচ প্রয়োগের পরে ε-সর্বজনীন হ্যাশ পরিবার এম. এম. এইচ-কে শক্তিশালী করে একটি ε-সর্বাত্মক সার্বজনীন (এ. এস. ইউ) হ্যাশ ফাংশন পরিবার ব্যবহার করে তৈরি করা হয়, যেখানে ε-এর মান হল। যেহেতু ব্যাজার সার্বজনীন হ্যাশ ফাংশন পদ্ধতির উপর ভিত্তি করে একটি ম্যাক ফাংশন, তাই ব্যাজারের সুরক্ষার জন্য প্রয়োজনীয় শর্তগুলি ইউএমএসি-র মতো অন্যান্য সার্বজনীন হ্যাশ ফাংশনের মতোই। ব্যাজার ম্যাক বিট পর্যন্ত দৈর্ঘ্যের একটি বার্তা প্রক্রিয়া করে এবং দৈর্ঘ্যের বিটগুলির একটি প্রমাণীকরণ ট্যাগ প্রদান করে, যেখানে। নিরাপত্তার চাহিদা অনুযায়ী ব্যবহারকারী ব্যাজারের সমান্তরাল হ্যাশ গাছের সংখ্যা বেছে নিতে পারেন। কেউ ইউ-এর বৃহত্তর মানগুলি বেছে নিতে পারে, তবে সেই মানগুলি ম্যাক-এর নিরাপত্তাকে আরও প্রভাবিত করে না। অ্যালগরিদমটি একটি 128-বিট কী ব্যবহার করে এবং এই কী-এর অধীনে সীমিত বার্তা দৈর্ঘ্য প্রক্রিয়া করা হয়। একটি প্রদত্ত কী-এর অধীনে ব্যাজার অ্যালগরিদম চালানোর জন্য কী সেটআপটি প্রতি কী-তে কেবল একবার চালাতে হবে, যেহেতু ম্যাক-এর ফলস্বরূপ অভ্যন্তরীণ অবস্থাটি অন্য কোনও বার্তার সাথে ব্যবহার করার জন্য সংরক্ষণ করা যেতে পারে যা পরে প্রক্রিয়া করা হবে। নতুন হ্যাশ পরিবার পেতে ইএনএইচ হ্যাশ পরিবারগুলিকে একত্রিত করা যেতে পারে। ই-এ. ইউ, ই-এ. ডি. ইউ এবং ই-এ. এস. ইউ পরিবারের জন্য, পরেরটি প্রথমটির মধ্যে রয়েছে। উদাহরণস্বরূপ, একটি এ. ডি. এম. ইউ পরিবারও একটি এ. ইউ পরিবার, একটি এ. এস. ইউ একটি এ. ডি. এম. ইউ পরিবার, ইত্যাদি। অন্যদিকে, একটি শক্তিশালী পরিবারকে দুর্বল পরিবারে পরিণত করা যেতে পারে, যতক্ষণ না কর্মক্ষমতা অর্জন করা যায়। সর্বজনীন হ্যাশ ফাংশনে α-সার্বজনীন হ্যাশ ফাংশনকে হ্রাস করার একটি পদ্ধতি নিম্নলিখিতগুলিতে বর্ণনা করা হবে। উপপাদ্য 2 ধরা যাক একটি সেট এ থেকে একটি সেট বি পর্যন্ত একটি ε-AU হ্যাশ পরিবার। একটি বার্তা বিবেচনা করুন। তারপর ফাংশনগুলির সমন্বয়ে গঠিত এইচ পরিবারটি হল ε-AU। যদি, তাহলে সর্বাধিক সম্ভাব্যতা হল ε, যেহেতু এটি একটি ε-A অনেদি একটি পরিবার। যদি তাই হয়, তাহলে সম্ভাবনাটি তুচ্ছভাবে 0 হবে। উপপাদ্য 2-এর প্রমাণ ENH-পরিবার সর্বজনীন হ্যাশ পরিবার NH-এর উপর ভিত্তি করে তৈরি করা হয়েছে (যা UMAC-তেও ব্যবহৃত হয়): যেখানে "মানে 'সংযোজন মডুলো', এবং। এটি একটি-এ. ডি. এম. ইউ হ্যাশ পরিবার। লেম্মা 1 এন. এইচ-এর নিম্নলিখিত সংস্করণটি হল-এ. ডি. ইউঃ ডাব্লু = 32 নির্বাচন করে এবং উপপাদ্য 1 প্রয়োগ করে, কেউ-এ. ইউ ফাংশন পরিবার ই. এন. এইচ পেতে পারে, যা ব্যাজার এম. এ. সি-এর মৌলিক বিল্ডিং ব্লক হবেঃ যেখানে সমস্ত আর্গুমেন্ট 32-বিট দীর্ঘ এবং আউটপুট 64-বিট রয়েছে। দৃঢ় সার্বজনীনতা হ্যাশ পরিবার ব্যবহার করে নির্মাণ ব্যাজার তৈরি করা হয় এবং বর্ণনা করা যেতে পারে যেখানে একটি-এ. ইউ সার্বজনীন ফাংশন পরিবার এইচ * একটি নির্দিষ্ট আকারে যে কোনও আকারের বার্তা হ্যাশ করতে ব্যবহৃত হয় এবং একটি-এ. এস. ইউ ফাংশন পরিবার এফ সামগ্রিক নির্মাণের শক্তিশালী সর্বজনীনতা নিশ্চিত করতে ব্যবহৃত হয়। এনএইচ এবং ইএনএইচ এইচ * তৈরি করতে ব্যবহৃত হয়। ফাংশন পরিবার এইচ *-এর সর্বোচ্চ ইনপুট সাইজ হল এবং আউটপুট সাইজ হল 128 বিট, যা বার্তা এবং হ্যাশের জন্য 64 বিট-এ বিভক্ত। এইচ *-ফাংশনের জন্য সংঘর্ষের সম্ভাবনা থেকে শুরু করে। দৃঢ়ভাবে সার্বজনীন ফাংশন পরিবার এফ গঠন করতে,  ঵িচারণা-সার্বজনীন হ্যাশ পরিবার এমএমএইচ * আরেকটি কী যোগ করে একটি দৃঢ়ভাবে সর্বজনীন হ্যাশ পরিবারে রূপান্তরিত হয়। ব্যাজারের দুটি ধাপ প্রতিটি বার্তার জন্য দুটি ধাপ রয়েছে যা কার্যকর করতে হবেঃ প্রক্রিয়াকরণ পর্যায় এবং পর্যায় চূড়ান্ত করা। প্রক্রিয়াকরণ পর্যায় এই পর্যায়ে, ডেটা একটি 64-বিট স্ট্রিং-এ হ্যাশ করা হয়। একটি মূল ফাংশনঃ এই প্রক্রিয়াকরণ পর্যায়ে ব্যবহৃত হয়, যা একটি 128-বিট স্ট্রিংকে একটি 64-বিট স্ট্রিং-এ হ্যাশ করেঃ যে কোনও এন-এর জন্য, মানে সংযোজন মডুলো। প্রদত্ত একটি-বিট স্ট্রিং x, মানে সর্বনিম্ন উল্লেখযোগ্য n বিট, এবং মানে সবচেয়ে উল্লেখযোগ্য n বিট। এই ফাংশনটি ব্যবহার করে একটি বার্তা প্রক্রিয়া করা যেতে পারে। দ্বারা চিহ্নিত করুন। প্রক্রিয়াকরণ পর্যায়ের ছদ্ম-কোড নিম্নরূপ। L = |M। যদি L = 0 হয় তবে r = L মড 64 চূড়ান্তকরণে যান যদি r ষ্ণুত 0 হয়ঃ i = 1 থেকে u এর জন্যঃ j = 1 থেকে v′ এর জন্যঃ 64-বিট ব্লকে বিভক্ত করুন, যদি t জোড় হয়ঃ অন্যথায় পর্যায় চূড়ান্ত করুন এই পর্যায়ে, প্রক্রিয়াকরণ পর্যায় থেকে প্রাপ্ত 64-স্ট্রিং পছন্দসই MAC ট্যাগে রূপান্তরিত হয়। এই চূড়ান্তকরণ পর্যায়টি র্যাবিট স্ট্রিম সাইফার ব্যবহার করে এবং চূড়ান্তকরণ কীটি গ্রহণ করে কী সেটআপ এবং IV সেটআপ উভয়ই ব্যবহার করে। চূড়ান্তকরণ পর্বের ছদ্ম কোড র্যাবিটকেসেটআপ (কে) র্যাবিটআইভিসেটআপ (এন) আই = 1 থেকে ইউ-এর জন্যঃ 27-বিট ব্লকে ভাগ করুন, এস = এস র্যাবিটনেক্সটবিট (ইউ-32) রিটার্ন এস নোটেশন উপরের ছদ্ম কোড থেকে, কে র্যাবিট কী সেটআপ (কে)-এর কী বোঝায় যা 128-বিট কী কে দিয়ে র্যাবিটকে সূচনা করে। এম হ্যাশ করার বার্তা বোঝায় এবং |M। বিটগুলিতে বার্তাটির দৈর্ঘ্য নির্দেশ করে। একটি বার্তা এম বোঝায় যা আই ব্লকে বিভক্ত। প্রদত্ত-বিট স্ট্রিংয়ের জন্য x তারপর এবং যথাক্রমে তার সর্বনিম্ন উল্লেখযোগ্য n বিট এবং সবচেয়ে উল্লেখযোগ্য n বিট নির্দেশ করে। পারফরম্যান্স বোসগার্ড, ক্রিস্টেনসেন এবং জেনার ব্যাজারের পারফরম্যান্স রিপোর্ট করেছেন যা একটি 1 গিগাহার্টজ পেন্টিয়াম III এবং একটি 1.7 গিগাহার্টজ পেন্টিয়াম 4 প্রসেসরে পরিমাপ করা হয়েছে। স্পিড-অপ্টিমাইজড সংস্করণগুলি সি-তে ইনলাইন করা অ্যাসেম্বলি ভাষায় প্রোগ্রাম করা হয়েছিল এবং ইন্টেল সি + + 7.1 সংকলক ব্যবহার করে সংকলিত হয়েছিল। নিম্নলিখিত টেবিলটি বিভিন্ন সীমাবদ্ধ বার্তার দৈর্ঘ্যের জন্য ব্যাজারের বৈশিষ্ট্যগুলি উপস্থাপন করে। "মেমোরি রেক"। মূল উপাদান এবং র্যাবিট স্ট্রিম সাইফারের অভ্যন্তরীণ অবস্থা সহ অভ্যন্তরীণ অবস্থা সংরক্ষণের জন্য প্রয়োজনীয় মেমরির পরিমাণ নির্দেশ করে। "সেটআপ" কী সেটআপকে বোঝায়, এবং "ফিন"। IV-সেটআপের সাথে চূড়ান্তকরণ বোঝায়। এমএমএইচ (মাল্টিলিনিয়ার মডুলার হ্যাশিং) নামটির অর্থ মাল্টিলিনিয়ার-মডুলার-হ্যাশিং। উদাহরণস্বরূপ, মাল্টিমিডিয়ার অ্যাপ্লিকেশনগুলি একটি অনলাইন মাল্টিমিডিয়া শিরোনামের অখণ্ডতা যাচাই করার জন্য। এমএমএইচ-এর কার্যকারিতা আধুনিক মাইক্রোপ্রসেসরগুলিতে পূর্ণসংখ্যা স্কেলার পণ্যগুলির উন্নত সমর্থনের উপর ভিত্তি করে। এমএমএইচ তার সবচেয়ে মৌলিক ক্রিয়াকলাপ হিসাবে একক নির্ভুলতা স্কেলার পণ্য ব্যবহার করে। এটি বার্তা এবং একটি প্রধান মডুলোর মধ্যে একটি (পরিবর্তিত) অভ্যন্তরীণ গুণফল নিয়ে গঠিত। এমএমএইচ-এর নির্মাণ কিছু মৌলিক পূর্ণসংখ্যার জন্য সসীম ক্ষেত্রে কাজ করে। এমএমএইচ * এমএমএইচ *-এ কিছু ধনাত্মক পূর্ণসংখ্যার জন্য মাল্টিলিনিয়ার ফাংশন সমন্বিত হ্যাশ ফাংশনের একটি পরিবার গঠন জড়িত। থেকে থেকে ফাংশনের এম. এম. এইচ * পরিবারটি নিম্নরূপ সংজ্ঞায়িত করা হয়েছে। যেখানে x, m হল ভেক্টর, এবং ফাংশনগুলি নিম্নরূপ সংজ্ঞায়িত করা হয়েছে। এম. এ. সি-এর ক্ষেত্রে, এটি একটি বার্তা এবং এটি একটি কী যেখানে এবং। এমএমএইচ *-এর একটি ম্যাক-এর নিরাপত্তা প্রয়োজনীয়তা পূরণ করা উচিত, যা আনা এবং ববকে একটি প্রামাণিক উপায়ে যোগাযোগ করতে সক্ষম করে। তাদের কাছে একটি গোপন চাবি রয়েছে। ধরুন চার্লস আনা এবং ববের মধ্যে কথোপকথন শোনে এবং বার্তাটি ববকে তার নিজের বার্তায় পরিবর্তন করতে চায় যা অ্যানার বার্তা হিসাবে পাঠানো উচিত। সুতরাং, তার বার্তা এবং আনা 'র বার্তা অন্তত এক অংশে ভিন্ন হবে (যেমন। )। ধরে নিন যে চার্লস জানেন যে ফাংশনটি ফর্মের এবং তিনি অ্যানার বার্তা জানেন কিন্তু তিনি কী x জানেন না তাহলে চার্লস বার্তাটি পরিবর্তন করতে বা নিজের বার্তা পাঠাতে পারেন এমন সম্ভাবনা নিম্নলিখিত উপপাদ্য দ্বারা ব্যাখ্যা করা যেতে পারে। উপপাদ্য 1: এম. এম. এইচ * পরিবারটি হল সর্বজনীন। প্রমাণঃ দুটি ভিন্ন বার্তা নিন এবং হতে দিন। সাধারণতা না হারিয়ে ধরে নিন। তারপরে যে কোনও পছন্দের জন্য, রয়েছে উপরের উপপাদ্যটি ব্যাখ্যা করতে, মৌলিকের জন্য ক্ষেত্রটিকে হিসাবে উপস্থাপন করুন। তবে, উপরের প্রমাণ থেকে, 1 রাউন্ডে আক্রমণকারীর সংঘর্ষের সম্ভাবনা, তাই গড় যাচাইকরণ প্রশ্নগুলি একটি বার্তা গ্রহণ করার জন্য যথেষ্ট হবে। সংঘর্ষের সম্ভাবনা হ্রাস করার জন্য, বড় পি বেছে নেওয়া বা স্বাধীন কী ব্যবহার করে এই ধরনের এমএসিগুলিকে একত্রিত করা প্রয়োজন যাতে সংঘর্ষের সম্ভাবনা] হয়ে যায়। এই ক্ষেত্রে কীগুলির সংখ্যা একটি ফ্যাক্টর দ্বারা বৃদ্ধি করা হয় এবং আউটপুটও দ্বারা বৃদ্ধি করা হয়। এমএমএইচ * 32 হালেভি এবং ক্রাউজিক নামে একটি বৈকল্পিক গঠন করে। নির্মাণটি 32-বিট পূর্ণসংখ্যা এবং প্রধান পূর্ণসংখ্যার সাথে কাজ করে। প্রকৃতপক্ষে মৌলিক সংখ্যা p-কে এমন যে কোনও মৌলিক সংখ্যা হিসাবে বেছে নেওয়া যেতে পারে যা সন্তুষ্ট করে। এই ধারণাটি মৌলিক সংখ্যা বা ব্যবহার করার জন্য কার্টার এবং ওয়েগম্যানের পরামর্শ থেকে গৃহীত হয়েছে। নিম্নরূপ সংজ্ঞায়িত করা হয়ঃ যেখানে অর্থ (অর্থাৎ, বাইনারি উপস্থাপনা) ফাংশনগুলি নিম্নরূপ সংজ্ঞায়িত করা হয়। যেখানে উপপাদ্য 1 অনুসারে, সংঘর্ষের সম্ভাবনা প্রায়, এবং এর পরিবারটিকে ε-সর্বমোট  ঵িচারণা সহ সর্বজনীন হিসাবে সংজ্ঞায়িত করা যেতে পারে। k-এর মান k-এর মান যা বার্তা এবং মূল ভেক্টরের দৈর্ঘ্য বর্ণনা করে তার বেশ কয়েকটি প্রভাব রয়েছেঃ যেহেতু k-এর উপর ব্যয়বহুল মডুলার হ্রাস গুণিত হয় এবং k-এর ক্রমবর্ধমান ক্রিয়াকলাপগুলি যোগ করলে গতি হ্রাস করা উচিত। যেহেতু x কীটি k 32-বিট পূর্ণসংখ্যা নিয়ে গঠিত, তাই k বৃদ্ধি করার ফলে একটি দীর্ঘ কী তৈরি হবে। সিস্টেমটি ভেঙে যাওয়ার সম্ভাবনা এবং তাই k বৃদ্ধি সিস্টেমটিকে ভেঙে ফেলা কঠিন করে তোলে। নীচে 1997 সালে হ্যালেভি এবং ক্রাউজিক দ্বারা পরিকল্পিত এমএমএইচ-এর বিভিন্ন বাস্তবায়নের সময়সীমার ফলাফল দেওয়া হল। একটি 150 মেগাহার্টজ পাওয়ারপিসি 604 আরআইএসসি মেশিন যা এআইএক্স এ 150 মেগাহার্টজ পেন্টিয়াম-প্রো মেশিন চালাচ্ছে যা উইন্ডোজ এনটি এ 200 মেগাহার্টজ পেন্টিয়াম-প্রো মেশিন চালাচ্ছে লিনাক্স দেখুন ইউএমএসি ভিএমএসি পলি1305-এইএস রেফারেন্স নিবন্ধগুলি উদাহরণস্বরূপ সিউডোকোড বার্তা প্রমাণীকরণ কোড সহ