VMAC
وی ایم اے سی ایک بلاک سائفر پر مبنی پیغام کی توثیق کوڈ (ایم اے سی) الگورتھم ہے جس میں اپریل 2007 میں ٹیڈ کروٹز اور وی ڈائی کے ذریعہ تجویز کردہ یونیورسل ہیش کا استعمال کیا گیا ہے۔ الگورتھم کو اعلی کارکردگی کے لیے ڈیزائن کیا گیا تھا جسے رسمی تجزیہ کی حمایت حاصل تھی۔ وی ایم اے سی کو 64 بٹ سی پی یو آرکیٹیکچرز پر سافٹ ویئر میں غیر معمولی کارکردگی کے لیے ڈیزائن کیا گیا ہے جبکہ اب بھی 32 بٹ آرکیٹیکچرز پر اچھی کارکردگی کا مظاہرہ کر رہا ہے۔ پیمائش شدہ رفتار 64 بٹ آرکیٹیکچرز پر نصف سی پی یو سائیکل فی بائٹ (سی پی بی) جتنی تیز ہوتی ہے، ڈیسک ٹاپ 32 بٹ پروسیسرز پر پانچ سی پی بی سے کم، اور سرایت شدہ 32 بٹ آرکیٹیکچرز پر تقریبا دس سی پی بی ہوتی ہے۔ وی ایم اے سی کا ایک قریب سے متعلق ورژن جو 32 بٹ آرکیٹیکچرز کے لیے بہتر بنایا گیا ہے، یو ایم اے سی کے ذریعے دیا گیا ہے۔ وی ایم اے سی ویگ مین اور کارٹر کے انداز میں ایک ایم اے سی ہے۔ ایک تیز "یونیورسل" ہیش فنکشن کا استعمال ان پٹ پیغام M کو مختصر سٹرنگ میں ہیش کرنے کے لیے کیا جاتا ہے۔ اس مختصر تار کو پھر سڈورینڈم پیڈ کے ساتھ ملا کر جوڑا جاتا ہے، جس کے نتیجے میں وی ایم اے سی ٹیگ بنتا ہے۔ سیکیورٹی کا انحصار بھیجنے والے اور وصول کنندہ پر ہوتا ہے جو بے ترتیب طور پر منتخب کردہ خفیہ ہیش فنکشن اور سڈورینڈم پیڈ کا اشتراک کرتے ہیں۔ یہ کلیدی ہیش فنکشن H اور سڈورینڈم فنکشن F کا استعمال کرتے ہوئے حاصل کیا جاتا ہے۔ ایک ٹیگ کمپیوٹیشن ٹیگ = HK1 (M) + FK2 (نونسی) انجام دے کر تیار کیا جاتا ہے جہاں K1 اور K2 خفیہ بے ترتیب چابیاں ہیں جو بھیجنے والے اور وصول کنندہ کے ذریعے شیئر کی جاتی ہیں، اور نونسی ایک ایسی قیمت ہے جو ہر تیار کردہ ٹیگ کے ساتھ تبدیل ہوتی ہے۔ وصول کنندہ کو یہ جاننے کی ضرورت ہوتی ہے کہ بھیجنے والے نے کون سا نوینس استعمال کیا تھا، اس لیے نوینس کو ہم آہنگ کرنے کا کچھ طریقہ استعمال کرنے کی ضرورت ہے۔ یہ پیغام اور ٹیگ کے ساتھ واضح طور پر نونس بھیج کر کیا جا سکتا ہے، یا کسی دوسری غیر دہرائی جانے والی قدر جیسے کہ ترتیب نمبر کے استعمال پر اتفاق کیا جا سکتا ہے۔ نوینس کو خفیہ رکھنے کی ضرورت نہیں ہے، لیکن اس بات کو یقینی بنانے کے لیے خیال رکھنے کی ضرورت ہے کہ، وی ایم اے سی کلید کی زندگی بھر میں، ہر پیغام کے ساتھ ایک مختلف نوینس استعمال کیا جائے۔ وی ایم اے سی ایک فنکشن کا استعمال کرتا ہے، جسے وی ایچ اے ایس ایچ کہا جاتا ہے (اس دستاویز میں بھی مخصوص کیا گیا ہے)، کلیدی ہیش فنکشن ایچ کے طور پر اور ایک سڈورینڈم فنکشن ایف کا استعمال کرتا ہے جس کا ڈیفالٹ نفاذ اے ای ایس بلاک سائفر کا استعمال کرتا ہے۔ وی ایم اے سی استعمال میں موجود بلاک سائفر کے بلاک سائز تک کسی بھی 64 بٹ ملٹیپل کی ٹیگ لمبائی کی اجازت دیتا ہے۔ اے ای ایس کا استعمال کرتے وقت، اس کا مطلب ہے کہ وی ایم اے سی 64 یا 128 بٹ ٹیگز تیار کر سکتا ہے۔ ویگ مین کارٹر ایم اے سیز کا نظریہ اور وی ایم اے سی کے تجزیے سے پتہ چلتا ہے کہ اگر کوئی واقعی بے ترتیب چابیاں اور پیڈ کے ساتھ وی ایم اے سی کو "فوری" کرتا ہے تو اس بات کا امکان ہے کہ حملہ آور (یہاں تک کہ ایک کمپیوٹیشنل طور پر غیر محدود بھی) اپنی پسند کے پیغامات کے لیے درست ٹیگ تیار کرتا ہے جب ٹیگز کی لمبائی بالترتیب 64 یا 128 بٹس ہوتی ہے تو یہ 1/260 یا 1/2120 سے کم ہوتا ہے۔ جب کوئی حملہ آور N جعل سازی کی کوشش کرتا ہے تو ایک یا زیادہ ٹیگز کو درست کرنے کا امکان لکیری طور پر N/260 یا N/2120 سے کم ہو جاتا ہے۔ وی ایم اے سی کے قابل اطلاق نفاذ میں، چابیاں اور پیڈ تیار کرنے کے لیے اے ای ایس کا استعمال کرتے ہوئے، یہ جعل سازی کے امکانات اے ای ایس کی سیکیورٹی سے متعلق تھوڑی مقدار میں بڑھ جاتے ہیں۔ جب تک اے ای ایس محفوظ ہے، یہ چھوٹی اضافی اصطلاح کسی بھی عملی حملے کے لیے اہم نہیں ہے۔ مزید تفصیلات کے لیے تفصیلات دیکھیں۔ وی ایم اے سی سیکیورٹی کا تجزیہ مصنفین وی ڈائی اور ٹیڈ کروٹز نے کیا ہے۔ نفاذ سی سی + + ازگر حوالہ جات بیرونی روابط وی ایم اے سی: یونیورسل ہیشنگ کا استعمال کرتے ہوئے پیغام کی تصدیق کا کوڈ-انٹرنیٹ ڈرافٹ وی ایم اے سی ہوم پیج کرپٹولونج وی ایم اے سی ویکی اندراج پیغام کی تصدیق کے کوڈ