ChaCha20-Poly1305
چاچا 20-پولی 1305 اضافی ڈیٹا (اے ای اے ڈی) الگورتھم کے ساتھ ایک مستند خفیہ کاری ہے، جو چاچا 20 اسٹریم سائفر کو پولی 1305 پیغام کی توثیق کوڈ کے ساتھ جوڑتی ہے۔ آئی ای ٹی ایف پروٹوکول میں اس کا استعمال آر ایف سی 8439 میں معیاری ہے۔ اس میں سافٹ ویئر کی تیز کارکردگی ہے، اور ہارڈ ویئر ایکسلریشن کے بغیر، عام طور پر ای ای ایس-جی سی ایم سے تیز ہے۔ تعمیر کے دو تعمیراتی بلاکس، الگورتھم پولی 1305 اور چاچا 20، دونوں کو 2005 اور 2008 میں ڈینیل جے برنسٹین نے آزادانہ طور پر ڈیزائن کیا تھا۔ 2013-2014 میں، اصل ChaCha20 الگورتھم کا ایک ورژن (32 بٹ کاؤنٹر اور 96 بٹ نونس کا استعمال کرتے ہوئے) اور اصل پولی 1305 کا ایک ورژن (2 تاروں کی تصدیق) کو IETF ڈرافٹ میں ملا کر TLS اور DTLS میں استعمال کیا گیا، اور گوگل نے سیکیورٹی اور کارکردگی کی وجوہات کی بناء پر، ایک نئے سپورٹڈ سائفر کے طور پر منتخب کیا۔ ٹی ایل ایس کے لیے گوگل کے اپنانے کے فورا بعد، چاچا 20، پولی 1305 اور مشترکہ اے ای اے ڈی موڈ کو اوپن ایس ایس ایچ میں thechacha20-poly1305@openssh.com تصدیق شدہ خفیہ کاری سائفر کے ذریعے شامل کیا جاتا ہے لیکن چاچا 20 الگورتھم کے لیے اصل 64 بٹ کاؤنٹر اور 64 بٹ نانسی کو برقرار رکھا جاتا ہے۔ 2015 میں اے ای اے ڈی الگورتھم کو آر ایف سی 7539 اور آر ایف سی 7905 میں معیاری بنایا گیا ہے جسے ٹی ایل ایس 1.2 اور ڈی ٹی ایل ایس 1.2 میں اور آر ایف سی 7634 میں آئی پی ایس ای سی میں استعمال کیا جائے گا۔ اسی سال، اسے کلاؤڈ فلایر نے ایک متبادل سائفرسوائٹ کے طور پر ضم کیا تھا۔ جون 2018 میں، آر ایف سی 7539 کو اپ ڈیٹ کیا گیا اور اس کی جگہ آر ایف سی 8439 نے لے لی۔ تفصیل چاچا 20-پولی 1305 الگورتھم جیسا کہ آر ایف سی 8439 میں بیان کیا گیا ہے ایک سادہ متن کو خفیہ کرنے کے لیے ایک 256 بٹ کلید اور ایک 96 بٹ نونس کو ان پٹ کے طور پر لیتا ہے، جس میں 128 بٹ (ٹیگ سائز) کی خفیہ متن کی توسیع ہوتی ہے۔ چاچا 20-پولی 1305 کی تعمیر میں، چاچا 20 کا استعمال کاؤنٹر موڈ میں ایک کلیدی ندی حاصل کرنے کے لیے کیا جاتا ہے جو سادہ متن کے ساتھ ایکس او آر ہے۔ سائفر ٹیکسٹ اور اس سے وابستہ ڈیٹا کی تصدیق پولی 1305 کے ایک قسم کا استعمال کرتے ہوئے کی جاتی ہے جو پہلے دونوں تاروں کو ایک میں انکوڈ کرتا ہے۔ جس طرح سے سائفر اور ون ٹائم تصدیق کنندہ کو ملایا جاتا ہے وہ بالکل ای ای ایس-جی سی ایم کی تعمیر سے ملتا جلتا ہے کہ کس طرح پہلے بلاک کو تصدیق کنندہ کو بیج کرنے کے لیے استعمال کیا جاتا ہے اور اس کے بعد سائفر ٹیکسٹ کو 16 بائٹ ٹیگ کے ساتھ کیسے تصدیق کی جاتی ہے۔ اے ای ایس-128 اور اے ای ایس-256 دونوں کے ساتھ 16 بائٹس (128 بٹ) کے مقابلے میں چاچا 20 کے ساتھ اہم بیرونی فرق اس کا 64 بائٹ (512 بٹ) بلاک سائز ہے۔ بڑا بلاک سائز جدید سی پی یو پر اعلی کارکردگی کو قابل بناتا ہے اور 32 بٹ کاؤنٹر اوور فلو سے پہلے بڑے اسٹریمز کی اجازت دیتا ہے۔ متغیرات XChaCha20-پولی1305-توسیعی نانسی متغیر XChaCha20-پولی1305 تعمیر ChaCha20 کے بجائے XChaCha20 کا استعمال کرتے ہوئے ChaCha20-پولی1305 تعمیر کا ایک توسیعی 192 بٹ نانسی متغیر ہے۔ بے ترتیب طور پر نانسیس کا انتخاب کرتے وقت، XChaCha20-Poly1305 تعمیر اصل تعمیر سے بہتر سیکیورٹی کی اجازت دیتی ہے۔ تعمیر کو معیاری بنانے کی کوشش کا مسودہ جولائی 2020 میں ختم ہو گیا۔ سالسا 20-پولی 1305 اور ایکس سالسا 20-پولی 1305 سالسا 20-پولی 1305 اور ایکس سالسا 20-پولی 1305 چاچا 20-پولی 1305 اور ایکسچا 20-پولی 1305 الگورتھم کی مختلف قسمیں ہیں، جو چاچا 20 اور ایکسچا 20 کی جگہ سالسا 20 اور ایکس سالسا 20 کا استعمال کرتی ہیں۔ انہیں این اے سی ایل اور لبسوڈیم میں لاگو کیا جاتا ہے لیکن معیاری نہیں کیا جاتا ہے۔ چاچا کا استعمال کرنے والے متغیرات کو عملی طور پر ترجیح دی جاتی ہے کیونکہ وہ سالسا کے مقابلے میں فی راؤنڈ بہتر پھیلاؤ فراہم کرتے ہیں۔ ChaCha20-Poly1305 کا استعمال آئی پی ایس ای سی، ایس ایس ایچ، ٹی ایل ایس 1.2، ڈی ٹی ایل ایس 1.2، ٹی ایل ایس 1.3، وائر گارڈ، ایس/مائیم 4.0، او ٹی آر وی 4 اور متعدد دیگر پروٹوکولز میں کیا جاتا ہے۔ یہ بورگ جیسے سافٹ ویئر میں معیاری ڈیٹا انکرپشن کے طور پر استعمال ہوتا ہے۔ دوسروں کے علاوہ، اسے اوپن ایس ایس ایل، اور لبسوڈیم میں نافذ کیا جاتا ہے۔ کارکردگی چاچا 20-پولی 1305 عام طور پر زیادہ رائج اے ای ایس-جی سی ایم الگورتھم سے بہتر کارکردگی پیش کرتا ہے یہاں تک کہ ان سسٹمز پر بھی جہاں سی پی یو (ز) میں اے ای ایس-این آئی انسٹرکشن سیٹ ایکسٹینشن ہوتی ہے۔ سافٹ ویئر کے نفاذ کے ساتھ انکرپشن اور ڈکرپشن کی رفتار پہلے ہی 1 جی بی/ایس سے اوپر ہوتی ہے جب ایک ہی کور پر کیا جاتا ہے، اگر متوازی طور پر زیادہ کور استعمال کیے جاتے ہیں تو تقریبا لکیری طور پر اسکیلنگ ہوتی ہے۔ اے ای ایس-این آئی ایک ہی کور پر تقریبا ایک ہی رفتار تک پہنچتا ہے لیکن متعدد سی پی یو کے ساتھ ساتھ پیمانے پر نہیں ہوتا ہے، اور انسٹرکشن سیٹ کی توسیع کے بغیر اسے مؤثر طریقے سے نافذ کرنا مشکل ہے۔ نتیجے کے طور پر، چاچا 20-پولی 1305 کو بعض اوقات ای ای ایس-جی سی ایم کے مقابلے میں ترجیح دی جاتی ہے کیونکہ اس کی سیکیورٹی کی سطح یکساں ہوتی ہے اور بعض استعمال کے معاملات میں موبائل ڈیوائسز شامل ہوتے ہیں، جو زیادہ تر اے آر ایم پر مبنی سی پی یو استعمال کرتے ہیں۔ سیکیورٹی چاچا 20-پولی 1305 کی تعمیر واحد اور کثیر صارف کی ترتیب کے لیے معیاری ماڈل اور مثالی ترتیب ماڈل میں محفوظ ثابت ہوئی ہے۔ تاہم، جی سی ایم کی طرح، سیکیورٹی انکرپٹ شدہ ہر پیغام کے لیے ایک منفرد نوینس کے انتخاب پر منحصر ہے۔ اے ای ایس-جی سی ایم کے مقابلے میں، چاچا 20-پولی 1305 کے نفاذ میں وقت کے حملوں کا خطرہ کم ہے۔ تصدیق شدہ خفیہ کاری گالوئس/کاؤنٹر موڈ سالسا 20 پولی 1305 بیرونی لنکس آر ایف سی 8439: آئی ای ٹی ایف پروٹوکولز کے لیے چاچا 20 اور پولی 1305 آر ایف سی 7634: چاچا 20، پولی 1305، اور انٹرنیٹ کلیدی تبادلے کے پروٹوکول (آئی کے ای) اور آئی پی ایس سی آر ایف سی 7905 میں ان کا استعمال: ٹرانسپورٹ لیئر سیکیورٹی (ٹی ایل ایس) کے لیے چاچا 20-پولی 1305 سائفر سویٹ آر ایف سی 8103: کرپٹوگرافک میسج سنٹیکس (سی ایم ایس) میں چاچا 20-پولی 1305 تصدیق شدہ خفیہ کاری کا استعمال حوالہ جات تصدیق شدہ خفیہ کاری اسکیمیں پیغام کی تصدیق کے کوڈ اسٹریم سائفرز