VMAC
વી. એમ. એ. સી. એ બ્લોક સાઇફર-આધારિત સંદેશ પ્રમાણીકરણ કોડ (એમ. એ. સી.) અલ્ગોરિધમ છે, જે એપ્રિલ 2007માં ટેડ ક્રોવેઝ અને વેઇ દાઈ દ્વારા પ્રસ્તાવિત સાર્વત્રિક હેશનો ઉપયોગ કરે છે. ઔપચારિક વિશ્લેષણ દ્વારા સમર્થિત ઉચ્ચ પ્રદર્શન માટે અલ્ગોરિધમ તૈયાર કરવામાં આવ્યું હતું. વી. એમ. એ. સી. 64-બીટ સીપીયુ આર્કિટેક્ચર પર સોફ્ટવેરમાં અસાધારણ પ્રદર્શન કરવા માટે રચાયેલ છે જ્યારે હજુ પણ 32-બીટ આર્કિટેક્ચર પર સારું પ્રદર્શન કરે છે. માપેલી ઝડપ 64-બીટ આર્કીટેક્ચર પર અડધા CPU સાયકલ પ્રતિ બાઈટ (CPB) જેટલી ઝડપી હોય છે, ડેસ્કટોપ 32-બીટ પ્રોસેસર્સ પર પાંચ CPB હેઠળ અને એમ્બેડેડ 32-બીટ આર્કીટેક્ચર પર લગભગ દસ CPB હોય છે. વી. એમ. એ. સી. નો નજીકથી સંબંધિત પ્રકાર જે 32-બીટ આર્કિટેક્ચર માટે ઓપ્ટિમાઇઝ કરવામાં આવ્યો છે તે યુ. એમ. એ. સી. દ્વારા આપવામાં આવ્યો છે. વી. એમ. એ. સી. એ વેગમેન અને કાર્ટરની શૈલીમાં મેક છે. ઝડપી "સાર્વત્રિક" હેશ કાર્યનો ઉપયોગ ઇનપુટ સંદેશ M ને ટૂંકા શબ્દમાળામાં હેશ કરવા માટે થાય છે. આ ટૂંકી દોરી પછી સ્યુડોરાન્ડમ પેડ સાથે જોડવામાં આવે છે, જેના પરિણામે VMAC ટેગ બને છે. સુરક્ષા મોકલનાર અને મેળવનાર પર આધાર રાખે છે જે અવ્યવસ્થિત રીતે પસંદ કરેલ ગુપ્ત હેશ ફંક્શન અને સ્યુડોરાન્ડમ પેડ શેર કરે છે. આ કીડ હેશ ફંક્શન H અને સ્યુડોરાન્ડમ ફંક્શન F નો ઉપયોગ કરીને પ્રાપ્ત થાય છે. એક ટેગ ગણતરી ટેગ = HK1 (M) + FK2 (નોનસ) કરીને પેદા થાય છે જ્યાં K1 અને K2 એ પ્રેષક અને પ્રાપ્તકર્તા દ્વારા વહેંચાયેલી ગુપ્ત રેન્ડમ કીઓ છે, અને નોનસ એ એક મૂલ્ય છે જે દરેક જનરેટ કરેલા ટેગ સાથે બદલાય છે. પ્રાપ્તકર્તાને જાણવાની જરૂર છે કે મોકલનાર દ્વારા કઈ નોન્સનો ઉપયોગ કરવામાં આવ્યો હતો, તેથી નોન્સને સુમેળ કરવાની કેટલીક પદ્ધતિનો ઉપયોગ કરવાની જરૂર છે. આ સંદેશ અને ટેગ સાથે સ્પષ્ટ રીતે નોનસ મોકલીને અથવા ક્રમ સંખ્યા જેવા કોઈ અન્ય બિન-પુનરાવર્તિત મૂલ્યના ઉપયોગ પર સંમત થઈને કરી શકાય છે. નોન્સને ગુપ્ત રાખવાની જરૂર નથી, પરંતુ એ સુનિશ્ચિત કરવા માટે કાળજી લેવાની જરૂર છે કે, વી. એમ. એ. સી. કીના જીવનકાળ દરમિયાન, દરેક સંદેશ સાથે એક અલગ નોન્સનો ઉપયોગ કરવામાં આવે. વી. એમ. એ. સી. કીડ હેશ ફંક્શન એચ તરીકે વી. એચ. એ. એસ. એચ. (આ દસ્તાવેજમાં પણ ઉલ્લેખિત) નામના ફંક્શનનો ઉપયોગ કરે છે અને સ્યુડોરાન્ડમ ફંક્શન એફનો ઉપયોગ કરે છે, જેનું મૂળભૂત અમલીકરણ એઇએસ બ્લોક સાઇફરનો ઉપયોગ કરે છે. વી. એમ. એ. સી. ઉપયોગમાં લેવાતા બ્લોક સાઇફરના બ્લોક કદ સુધી કોઈપણ 64-બીટ મલ્ટિપલની ટેગ લંબાઈ માટે પરવાનગી આપે છે. AES નો ઉપયોગ કરતી વખતે, આનો અર્થ એ છે કે VMAC 64-અથવા 128-બીટ ટૅગ્સ ઉત્પન્ન કરી શકે છે. વેગમેન-કાર્ટર એમ. એ. સી. નો સિદ્ધાંત અને વી. એમ. એ. સી. નું વિશ્લેષણ દર્શાવે છે કે જો કોઈ વ્યક્તિ ખરેખર રેન્ડમ કીઓ અને પેડ સાથે વી. એમ. એ. સી. ને "ત્વરિત" કરે છે, તો હુમલાખોર (કોમ્પ્યુટેશનલ રીતે અનબાઉન્ડ પણ) તેની પસંદગીના સંદેશાઓ માટે યોગ્ય ટેગ ઉત્પન્ન કરે તેવી સંભાવના 1/260 અથવા 1/2120 કરતા ઓછી હોય છે જ્યારે ટેગની લંબાઈ અનુક્રમે 64 અથવા 128 બિટ્સ હોય છે. જ્યારે હુમલાખોર એન બનાવટી બનાવવાનો પ્રયાસ કરે છે ત્યારે એક અથવા વધુ ટેગ મેળવવાની સંભાવના રેખીય રીતે વધીને એન/260 અથવા એન/2120 કરતા ઓછી થાય છે. વીએમએસી (VMAC) ના લાગુ અમલીકરણમાં, કી અને પેડ બનાવવા માટે એઇએસ (AES) નો ઉપયોગ કરીને, આ બનાવટી સંભાવનાઓ એઇએસ (AES) ની સુરક્ષા સાથે સંબંધિત થોડી રકમથી વધે છે. જ્યાં સુધી AES સુરક્ષિત છે, ત્યાં સુધી આ નાનો એડિટિવ શબ્દ કોઈપણ વ્યવહારુ હુમલા માટે નકામો છે. વધુ વિગતો માટે સ્પષ્ટીકરણ જુઓ. વી. એમ. એ. સી. સુરક્ષાનું વિશ્લેષણ લેખકો વેઈ દાઈ અને ટેડ ક્રોવેટ્ઝ દ્વારા કરવામાં આવ્યું છે. અમલીકરણ C C + + પાયથોન સંદર્ભો બાહ્ય કડીઓ VMAC: યુનિવર્સલ હેશિંગનો ઉપયોગ કરીને સંદેશ પ્રમાણીકરણ કોડ-ઈન્ટરનેટ ડ્રાફ્ટ VMAC હોમ પેજ ક્રિપ્ટોલૉન્જ VMAC વિકી એન્ટ્રી સંદેશ પ્રમાણીકરણ કોડ