Optimal asymmetric encryption padding
کرپٹوگرافی میں، آپٹیمل اسمیٹرک انکرپشن پیڈنگ (او اے ای پی) ایک پیڈنگ اسکیم ہے جو اکثر آر ایس اے انکرپشن کے ساتھ مل کر استعمال ہوتی ہے۔ او اے ای پی کو بیلارے اور روگوے نے متعارف کرایا تھا، اور اس کے بعد PKCS#1 v2 اور RFC 2437 میں معیاری بنایا گیا۔ او اے ای پی الگورتھم فیسٹل نیٹ ورک کی ایک شکل ہے جو غیر متناسب خفیہ کاری سے پہلے سادہ متن پر کارروائی کرنے کے لیے بے ترتیب اوریکلز جی اور ایچ کا ایک جوڑا استعمال کرتا ہے۔ جب کسی بھی محفوظ ٹریپ ڈور یک طرفہ ترتیب کے ساتھ ملایا جاتا ہے، تو یہ پروسیسنگ بے ترتیب اوریکل ماڈل میں ثابت ہوتی ہے جس کے نتیجے میں ایک مشترکہ اسکیم بنتی ہے جو منتخب کردہ سادہ متن حملے (آئی این ڈی-سی پی اے) کے تحت لفظی طور پر محفوظ ہوتی ہے۔ جب کچھ ٹریپ ڈور پرموٹیشن (مثال کے طور پر، آر ایس اے) کے ساتھ لاگو کیا جاتا ہے، تو او اے ای پی منتخب کردہ سائفر ٹیکسٹ حملے کے خلاف بھی محفوظ ثابت ہوتا ہے۔ او اے ای پی کو تمام یا کچھ بھی نہیں تبدیلی کی تعمیر کے لیے استعمال کیا جا سکتا ہے۔ او اے ای پی مندرجہ ذیل دو اہداف کو پورا کرتا ہے: بے ترتیب کا ایک عنصر شامل کریں جو ایک متعین خفیہ کاری اسکیم (مثال کے طور پر، روایتی آر ایس اے) کو ممکنہ اسکیم میں تبدیل کرنے کے لیے استعمال کیا جا سکتا ہے۔ سائفر ٹیکسٹس (یا دیگر معلومات کے رساو) کے جزوی ڈکرپشن کو اس بات کو یقینی بنا کر روکیں کہ کوئی مخالف ٹریپ ڈور یک طرفہ ترتیب کو الٹے کرنے کے قابل ہوئے بغیر سادہ متن کے کسی بھی حصے کو بازیافت نہیں کر سکتا ہے۔ او اے ای پی کے اصل ورژن (بیلارے/روگوے، 1994) نے بے ترتیب اوریکل ماڈل میں "پلین ٹیکسٹ بیداری" کی ایک شکل دکھائی (جس کے بارے میں ان کا دعوی ہے کہ منتخب کردہ سائفر ٹیکسٹ حملے کے خلاف تحفظ کا مطلب ہے) جب او اے ای پی کو کسی بھی ٹریپ ڈور پرموٹیشن کے ساتھ استعمال کیا جاتا ہے۔ اس کے بعد کے نتائج نے اس دعوے کی تردید کی، جس سے یہ ظاہر ہوتا ہے کہ او اے ای پی صرف آئی این ڈی-سی سی اے 1 محفوظ تھا۔ تاہم، اصل اسکیم بے ترتیب اوریکل ماڈل میں آئی این ڈی-سی سی اے 2 محفوظ ثابت ہوئی جب او اے ای پی کو معیاری خفیہ کاری کے نمائندوں کا استعمال کرتے ہوئے آر ایس اے کے ساتھ استعمال کیا جاتا ہے، جیسا کہ آر ایس اے-او اے ای پی کے معاملے میں ہوتا ہے۔ وکٹر شوپ نے اس مسئلے کو حل کرنے کے لیے ایک بہتر اسکیم (جسے او اے ای پی + کہا جاتا ہے) پیش کی تھی جو کسی بھی ٹریپ ڈور ون وے پرموٹیشن کے ساتھ کام کرتی ہے۔ مزید حالیہ کام سے پتہ چلتا ہے کہ معیاری ماڈل میں (یعنی، جب ہیش افعال کو بے ترتیب اوریکلز کے طور پر ماڈل نہیں کیا جاتا ہے) آر ایس اے کے مسئلے کی فرض شدہ سختی کے تحت آر ایس اے-او اے ای پی کی آئی این ڈی-سی سی اے 2 سیکیورٹی کو ثابت کرنا ناممکن ہے۔ الگورتھم خاکہ میں، ایم جی ایف ماسک جنریٹنگ فنکشن ہے، عام طور پر ایم جی ایف 1، ہیش منتخب شدہ ہیش فنکشن ہے، ایچ لین بائٹس میں ہیش فنکشن کی آؤٹ پٹ کی لمبائی ہے، کے بائٹس میں آر ایس اے ماڈیولس این کی لمبائی ہے، ایم پیڈ کیا جانے والا پیغام ہے (زیادہ تر بائٹس پر)، ایل پیغام کے ساتھ منسلک ہونے کے لیے ایک اختیاری لیبل ہے (لیبل ڈیفالٹ طور پر خالی سٹرنگ ہے اور اسے خفیہ کاری کی ضرورت کے بغیر ڈیٹا کی تصدیق کے لیے استعمال کیا جا سکتا ہے)، پی ایس نل بائٹس کی بائٹ سٹرنگ ہے۔ ایک XOR-آپریشن ہے۔ PKCS#1 v2.2 کے لیے آر ایف سی 8017 کو انکوڈنگ او اے ای پی اسکیم کی وضاحت کرتی ہے جیسا کہ انکوڈنگ کے لیے درج ذیل ہے: منتخب کردہ ہیش فنکشن کا استعمال کرتے ہوئے لیبل ایل کو ہیش کریں: 0x00 ویلیو والے بائٹس پر مشتمل پیڈنگ سٹرنگ پی ایس بنائیں۔ کنکیٹینیٹ ایل ہاش، پی ایس، واحد بائٹ 0x01، اور ڈیٹا بلاک ڈی بی بنانے کے لیے پیغام ایم:۔ اس ڈیٹا بلاک میں لمبائی کے بائٹس ہوتے ہیں۔ لمبائی ایچ لین کا بے ترتیب بیج تیار کریں۔ ڈیٹا بلاک کے لیے مناسب لمبائی کا ماسک بنانے کے لیے ماسک جنریٹنگ فنکشن کا استعمال کریں: تیار شدہ ماسک کے ساتھ ڈیٹا بلاک کو ماسک کریں: بیج کے لیے لمبائی کا ایچ لین کا ماسک بنانے کے لیے ماسک جنریٹنگ فنکشن کا استعمال کریں: تیار شدہ ماسک کے ساتھ بیج کو ماسک کریں: انکوڈڈ (پیڈڈ) پیغام بائیٹ 0x00 ہے جو ماسکڈ اور ماسکڈ ڈی بی کے ساتھ جڑا ہوا ہے: ڈیکوڈنگ ڈیکوڈنگ انکوڈنگ الگورتھم میں اٹھائے گئے اقدامات کو الٹ کر کام کرتی ہے: منتخب کردہ ہیش فنکشن کا استعمال کرتے ہوئے لیبل ایل کو ہیش کریں: مرحلہ 9 کو الٹ کرنے کے لیے، انکوڈ شدہ پیغام ای ایم کو بائٹ 0x00 میں تقسیم کریں، ماسکڈ سیڈ (لمبائی ایچ لین کے ساتھ) اور ماسکڈ ڈی بی: بیج ماسک بنائیں جو تصدیق کریں کہ: ایل ہاش "'کمپیوٹڈ ایل ہاش پی ایس کے برابر ہے جو صرف بائٹس 0x00 پی ایس پر مشتمل ہے اور ایم کو 0x01 بائٹ سے الگ کیا جاتا ہے اور ای ایم کا پہلا بائٹ بائٹ 0x00 ہے۔ اگر ان میں سے کوئی بھی شرط پوری نہیں ہوتی ہے، تو پیڈنگ غلط ہے۔ آر ایس اے میں استعمال: انکوڈ شدہ پیغام کو پھر آر ایس اے کے ساتھ خفیہ کیا جا سکتا ہے۔ او اے ای پی انکوڈنگ کا استعمال کرکے اب آر ایس اے کی تعیناتی خاصیت سے بچا جاتا ہے کیونکہ بیج تصادفی طور پر پیدا ہوتا ہے اور پورے انکوڈ شدہ پیغام کو متاثر کرتا ہے۔ سیکیورٹی "سب کچھ یا کچھ نہیں" سیکیورٹی اس حقیقت سے ہے کہ سی کی بازیابی کے لیے، کسی کو پورے ڈی بی اور پورے بیج کو بازیافت کرنا ہوگا ؛ بیج سے بیج کی بازیابی کے لیے ڈی بی کی ضرورت ہوتی ہے، اور ڈی بی سے ڈیٹا بلاک ڈی بی کی بازیابی کے لیے بیج کی ضرورت ہوتی ہے۔ چونکہ کرپٹوگرافک ہیش کا کوئی بھی بدلا ہوا ٹکڑا نتیجہ کو مکمل طور پر بدل دیتا ہے، اس لیے پورے ڈی بی اور پورے بیج دونوں کو مکمل طور پر بازیافت کرنا ضروری ہے۔ نفاذ PKCS#1 معیار میں، بے ترتیب اوریکلز ایک جیسے ہوتے ہیں۔ PKCS#1 معیار کے لیے مزید ضروری ہے کہ بے ترتیب اوریکلز ایک مناسب ہیش فنکشن کے ساتھ ایم جی ایف 1 ہوں۔ کلیدی نقشہ جات حوالہ جات عوامی کلیدی خفیہ کاری اسکیمیں پیڈنگ الگورتھم بھی دیکھیں۔