একটি মেসেজ অথেন্টিকেশন কোড হলো কয়েক বাইটের একটি ব্লক যা একটি মেসেজ অথেন্টিকেট করতে ব্যবহার করা হয়। রিসিভার এই ব্লকটি চেক করতে পারে এবং নিশ্চিত হতে পারে যে মেসেজটি থার্ড পার্টি দ্বারা পরিবর্তন হয়নি।
একটি ক্রিপ্টোগ্রাফিক ফাংশন ফ্যামিলি যা একটি সিমেট্রিক কী দ্বারা প্যারামিটারাইজড। প্রতিটি ফাংশন ইনপুট ডেটা (যাকে "মেসেজ" বলা হয়) ভেরিয়েবল দৈর্ঘ্যের ওপর কাজ করে একটি ফিক্সড দৈর্ঘ্যের আউটপুট ভ্যালু তৈরি করতে। আউটপুট ভ্যালুটিকে ইনপুট মেসেজের MAC বলা হয়।
একটি অনুমোদিত MAC অ্যালগরিদম নিচের প্রোপার্টি সেটিসফাই করতে হবে (প্রতিটি প্রদত্ত সিকিউরিটি লেভেলের জন্য): কী জানা ছাড়া একটি মেসেজের MAC নির্ধারণ করা কম্পিউটেশনালি অসম্ভব হতে হবে, এমনকি যদি কোনো بالفعل সেই কী ব্যবহার করে অন্য মেসেজের MAC ক্যালকুলেট করার ফলাফল দেখে থাকে। একটি MAC অ্যালগরিদম ডেটা-অরিজিন অথেন্টিকেশন এবং ডেটা-ইন্টিগ্রিটি প্রোটেকশন সমর্থন করতে ব্যবহার করা যায়।
একটি MAC হলো একটি ক্রিপ্টোগ্রাফিক প্রিমিটিভ এবং এর সংজ্ঞা তিনটি অ্যালগরিদম অন্তর্ভুক্ত করে যাকে কী-জেনারেশন, ট্যাগিং, এবং ভেরিফিকেশন অ্যালগরিদম বলা হয়।
কী-জেনারেশন অ্যালগরিদম একটি কী তৈরি করে কিছু 'কোয়ালিটি' (দৈর্ঘ্য) যা এর ইনপুট, সিকিউরিটি প্যারামিটার দ্বারা ডিফাইন করা হয়।
ট্যাগিং অ্যালগরিদমের দুটি ইনপুট থাকে: কী এবং একটি মেসেজ, এবং একটি আউটপুট: একটি ট্যাগ।
ভেরিফিকেশন অ্যালগরিদমের তিনটি ইনপুট থাকে: একটি কী, একটি মেসেজ, এবং একটি ট্যাগ। এটি একটি বিট আউটপুট করে দিয়ে ট্যাগটির বৈধতা নির্দেশ করে দেয়া মেসেজ এবং কীর জন্য।
একটি MAC হলো একটি সিমেট্রিক প্রিমিটিভ, তাই মেসেজ এক্সচেঞ্জ করতে চাওয়া দুজন পক্ষ একই (সিমেট্রিক) কী ব্যবহার করে। একটি ডিজিটাল সিগনেচার হলো একটি অ্যাসিমেট্রিক প্রিমিটিভ এবং দুজন পক্ষের আলাদা (গণিতগতভাবে সংশ্লিষ্ট) কী থাকে।
এটি একটি সহজ ন্যারেটিভে অনুবাদ হয়: কেউ কে MAC যাচাই করতে পারে, সে একই সিক্রেট কী ব্যবহার করে এটিকে ক্যালকুলেটও করতে পারে। অন্য কথায়, শুধু প্রাইভেট সাইনিং কী ধারণকারী এন্টিটি সিগনেচার তৈরি করতে পারে, কিন্তু কেউ যেন পাবলিক ভেরিফিকেশন কী ব্যবহার করে এই সিগনেচার যাচাই করতে পারে। এমনকি যদি লাগে ডিজিটাল সিগনেচার একটি আরও ফ্লেক্সিবল প্রিমিটিভ, তাদের কম্পিউটেশন MAC ক্যালকুলেশন চেয়ে অনেক ধীর, তাই MACs যেখানেই প্রযোজ্য ব্যবহার করা হয়।
MAC ডেটা কমিউনিকেশনে একটি অপরিহার্য ভূমিকা পালন করে। মেসেজগুলো যারা একটি ইনসিকিউর চ্যানেলের ওপর শেয়ার করা হয় সেগুলো অথেন্টিকেট করা প্রয়োজন আক্রমণ রোধ করতে যার মধ্যে মেসেজ ফোরজারি একটি ইন্ট্রুডার দ্বারা যিনি চ্যানেলের সাথে টেম্পার করতে পারেন। এটি মেসেজ অথেন্টিসিটি সমর্থন করে, ধরে নিলে প্রেরক এবং প্রাপক একটি সিক্রেট কী শেয়ার করেছেন, একটি MAC ব্যবহার করা যায়।
একটি MAC সিস্টেমে, প্রেরক একটি ট্যাগ তৈরি করে যা মেসেজ এবং সিক্রেট কীর একটি ফাংশন, এবং এটিকে মেসেজের সাথে অ্যাটাচ করে চ্যানেলের ওপর পাঠানোর আগে।