VMAC
वी. एम. ए. सी. एक ब्लॉक साइफर-आधारित संदेश प्रमाणीकरण कोड (एम. ए. सी.) एल्गोरिथ्म है जो अप्रैल 2007 में टेड क्रोविट्ज़ और वेई दाई द्वारा प्रस्तावित एक सार्वभौमिक हैश का उपयोग करता है। एल्गोरिथ्म को एक औपचारिक विश्लेषण द्वारा समर्थित उच्च प्रदर्शन के लिए डिज़ाइन किया गया था। वी. एम. ए. सी. को 32-बिट आर्किटेक्चर पर अच्छा प्रदर्शन करते हुए 64-बिट सी. पी. यू. आर्किटेक्चर पर सॉफ्टवेयर में असाधारण प्रदर्शन करने के लिए डिज़ाइन किया गया है। मापा गया वेग 64-बिट आर्किटेक्चर पर आधे सीपीयू चक्र प्रति बाइट (सी. पी. बी.) के रूप में तेज है, डेस्कटॉप 32-बिट प्रोसेसर पर पांच सी. पी. बी. के तहत, और एम्बेडेड 32-बिट आर्किटेक्चर पर लगभग दस सी. पी. बी.। वी. एम. ए. सी. का एक निकट से संबंधित संस्करण जो 32-बिट आर्किटेक्चर के लिए अनुकूलित है, यू. एम. ए. सी. द्वारा दिया गया है। वी. एम. ए. सी. वेगमैन और कार्टर की शैली में एक एम. ए. सी है। एक तेज़ "सार्वभौमिक" हैश फ़ंक्शन का उपयोग एक इनपुट संदेश M को एक छोटी स्ट्रिंग में हैश करने के लिए किया जाता है। इसके बाद इस छोटी स्ट्रिंग को एक सूडोरैंडम पैड के साथ जोड़ा जाता है, जिसके परिणामस्वरूप वी. एम. ए. सी. टैग बनता है। सुरक्षा इस बात पर निर्भर करती है कि प्रेषक और रिसीवर एक यादृच्छिक रूप से चुने गए गुप्त हैश फ़ंक्शन और स्यूडोरैंडम पैड को साझा करते हैं। यह कीड हैश फ़ंक्शन एच और स्यूडोरैंडम फ़ंक्शन एफ का उपयोग करके प्राप्त किया जाता है। एक टैग गणना टैग = एचके1 (एम) + एफके2 (नॉनस) का प्रदर्शन करके उत्पन्न किया जाता है जहां के1 और के2 प्रेषक और प्राप्तकर्ता द्वारा साझा की गई गुप्त यादृच्छिक कुंजी हैं, और नॉनस एक मान है जो प्रत्येक उत्पन्न टैग के साथ बदलता है। रिसीवर को यह जानने की आवश्यकता होती है कि प्रेषक द्वारा किस नोन्स का उपयोग किया गया था, इसलिए नोन्स को सिंक्रनाइज़ करने की कुछ विधि का उपयोग करने की आवश्यकता होती है। यह स्पष्ट रूप से संदेश और टैग के साथ नोन्स भेजकर, या अनुक्रम संख्या जैसे किसी अन्य गैर-दोहराए जाने वाले मूल्य के उपयोग पर सहमत होकर किया जा सकता है। नोन्स को गुप्त रखने की आवश्यकता नहीं है, लेकिन यह सुनिश्चित करने के लिए सावधानी बरतने की आवश्यकता है कि, एक वी. एम. ए. सी. कुंजी के जीवनकाल में, प्रत्येक संदेश के साथ एक अलग नोन्स का उपयोग किया जाए। वी. एम. ए. सी. एक प्रकार्य का उपयोग करता है, जिसे वी. एच. ए. एस. एच. कहा जाता है (इस दस्तावेज़ में भी निर्दिष्ट किया गया है), कीड हैश प्रकार्य एच के रूप में और एक सूडोरैंडम प्रकार्य एफ का उपयोग करता है जिसका डिफ़ॉल्ट कार्यान्वयन एईएस ब्लॉक सिफर का उपयोग करता है। वी. एम. ए. सी. उपयोग में आने वाले ब्लॉक साइफर के ब्लॉक आकार तक किसी भी 64-बिट मल्टीपल की टैग लंबाई की अनुमति देता है। एईएस का उपयोग करते समय, इसका मतलब है कि वीएमएसी 64-या 128-बिट टैग का उत्पादन कर सकता है। वेगमैन-कार्टर एम. ए. सी. के सिद्धांत और वी. एम. ए. सी. के विश्लेषण से पता चलता है कि यदि कोई वास्तव में यादृच्छिक कुंजी और पैड के साथ वी. एम. ए. सी. को "तत्काल" करता है, तो एक हमलावर (यहां तक कि एक कम्प्यूटेशनल रूप से असीमित भी) अपनी पसंद के संदेशों के लिए एक सही टैग का उत्पादन करने की संभावना 1/260 या 1/2120 से कम है, जब टैग क्रमशः 64 या 128 बिट की लंबाई के होते हैं। जब कोई हमलावर एन जालसाजी का प्रयास करता है तो एक या अधिक टैग सही मिलने की संभावना रैखिक रूप से एन/260 या एन/2120 से कम हो जाती है। वी. एम. ए. सी. के लागू कार्यान्वयन में, कुंजी और पैड का उत्पादन करने के लिए ए. ई. एस. का उपयोग करते हुए, ये जालसाजी की संभावनाएं ए. ई. एस. की सुरक्षा से संबंधित एक छोटी राशि से बढ़ जाती हैं। जब तक एईएस सुरक्षित है, यह छोटा योगात्मक शब्द किसी भी व्यावहारिक हमले के लिए महत्वहीन है। अधिक जानकारी के लिए विनिर्देश देखें। वी. एम. ए. सी. सुरक्षा का विश्लेषण लेखक वेई दाई और टेड क्रोविट्ज़ द्वारा किया गया है। कार्यान्वयन सी सी + + पायथन संदर्भ बाहरी लिंक वी. एम. ए. सी.: यूनिवर्सल हैशिंग का उपयोग करके संदेश प्रमाणीकरण कोड-इंटरनेट ड्राफ्ट वी. एम. ए. सी. होम पेज क्रिप्टोलॉन्ज वी. एम. ए. सी. विकी प्रविष्टि संदेश प्रमाणीकरण कोड