MAC মানে মেসেজ অথেন্টিকেশন কোড। এটি একটি নিরাপত্তা কোড বা ট্যাগ যা প্রেরক দ্বারা প্রাপককে প্রেরিত মেসেজের সাথে যুক্ত করা হয় মেসেজ প্রমাণীকরণ এবং অখণ্ডতা (মেসেজে কোনো পরিবর্তন নেই) নিশ্চিত করতে।
MAC মেসেজ ডাইজেস্ট (MD) এর মতো কিন্তু এটি একটি মেসেজ প্রমাণীকরণের জন্য সিমেট্রিক কী ক্রিপ্টোগ্রাফি পদ্ধতি ব্যবহার করে অর্থাৎ একই কী প্রেরক এবং প্রাপকের মধ্যে শেয়ার করা থাকে। কীযুক্ত হ্যাশ ফাংশন হল মেসেজ অথেন্টিকেশন কোডের দ্বিতীয় নাম। MAC কে ক্রিপ্টোগ্রাফিক চেকসামও বলা হয়।
একটি মেসেজ অথেন্টিকেশন কোড (MAC) অ্যালগরিদম একটি মেসেজ (যা প্রমাণীকরণ করা হবে) এবং একটি গোপন কী (যা শুধু প্রেরক এবং প্রাপক জানেন) গ্রহণ করে এবং আউটপুট হিসেবে একটি MAC তৈরি করে। MAC ব্যবহার করে প্রাপক মেসেজের অখণ্ডতা এবং প্রামাণিকতা যাচাই করতে পারে অর্থাৎ এটি সঠিক প্রেরক থেকে আসছে কিনা। MAC নন-রিপুডিয়েশন সমর্থন করে না।
একটি MAC সাধারণত তিনটি অ্যালগরিদম ধারণ করে: কী জেনারেশন অ্যালগরিদম, একটি সাইনিং অ্যালগরিদম এবং একটি ভেরিফাইং অ্যালগরিদম। কী জেনারেশন অ্যালগরিদম এলোমেলোভাবে একটি কী নির্বাচন করে।
সাইনিং অ্যালগরিদম কী এবং মেসেজ দেওয়া থাকলে একটি ট্যাগ তৈরি করে। ভেরিফাইং অ্যালগরিদম কী এবং ট্যাগ দেওয়া থাকলে মেসেজের প্রামাণিকতা যাচাই করতে ব্যবহার করা হয়। এটি "স্বীকৃত" বার্তা ফেরত দেয় যদি মেসেজ এবং ট্যাগ প্রামাণিক এবং একই হয়, অন্যথায় "প্রত্যাখ্যাত" বার্তা ফেরত দেয়।
MAC-এর প্রয়োজনীয়তা
- মেসেজ অথেন্টিকেশন কোড (MAC) সাধারণত ডিজিটাল ফান্ড ট্রান্সফার (EFT) তে তথ্যের অখণ্ডতা নিশ্চিত করতে ব্যবহৃত হয়। এগুলো যাচাই করে যে একটি মেসেজ প্রামাণিক; অর্থাৎ এটি আসলে nóiকৃত প্রেরক থেকে আসছে এবং পথে কোনো পরিবর্তন hainনি।
- কী ধারণকারী একটি যাচয়কর্তা এটি ব্যবহার করে প্রশ্নে থাকা মেসেজের অংশে যেকোনো পরিবর্তন শনাক্ত করতে পারে।
- মেসেজ অথেন্টিকেশন কোড সাধারণত যেকোনো ধরনের আর্থিক অ্যাকাউন্ট অ্যাক্সেস করার জন্য প্রয়োজন। ব্যাংক, ব্রোকারেজ ফার্ম, ট্রাস্ট সংস্থা এবং অন্যান্য ডিপোজিট, বিনিয়োগ বা বীমা সংস্থা যা অনলাইন অ্যাক্সেস দেয়, এই কোডগুলো ব্যবহার করে। এগুলো আর্থিক ক্রিপ্টোগ্রাফির একটি গুরুত্বপূর্ণ উপাদান।
- যদি একজন শত্রু M এবং C(K, M) পর্যবেক্ষণ করে, তবে তার জন্য একটি মেসেজ M' তৈরি করা গণনামূলকভাবে অসম্ভব হওয়া উচিত যাতে C(K, M') = C(K, M) হয়।
- C(K, M) সমসাময়িকভাবে বিতরণ করা উচিত অর্থাৎ এলোমেলোভাবে নির্বাচিত মেসেজ M এবং M' এর জন্য, C(K, M) = C(K, M') এর সম্ভাবনা 2ⁿ, যেখানে n হল MAC-এ বিটের সংখ্যা।
- M' কে M-এ কিছু পরিচিত ট্রান্সফরমেশন সমান থাকতে দিন অর্থাৎ M' = f(M)। উদাহরণস্বরূপ, f কিছু নির্দিষ্ট বিট ইনভার্ট করতে পারে। সেক্ষেত্রে, Pr[C(K, M) = C(K, M')] = 2⁻ⁿ।