Shadowsacks دستاويز

اي اي ڊي

اي اي ڊي ايسوسيئيڊ ڊيٽا سان تصديق ٿيل انڪرپشن لاءِ بيٺل آهي. AEAD ciphers هڪ ئي وقت رازداري، سالميت، ۽ صداقت مهيا ڪن ٿا. انهن وٽ جديد هارڊويئر تي شاندار ڪارڪردگي ۽ طاقت جي ڪارڪردگي آهي. صارفين کي استعمال ڪرڻ گهرجي AEAD ciphers جڏهن ممڪن هجي.

ھيٺ ڏنل AEAD ciphers جي سفارش ڪئي وئي آھي. مطابقت رکندڙ Shadowsacks لاڳو ڪرڻ لازمي آهي AEAD_CHACHA20_POLY1305 کي سپورٽ ڪرڻ. هارڊويئر AES تيز رفتاري سان ڊوائيسز لاءِ لاڳو ڪرڻ پڻ AEAD_AES_128_GCM ۽ AEAD_AES_256_GCM کي لاڳو ڪرڻ گهرجي.

 

 

 

نالو

عرف

اهم سائيز

لوڻ جي ماپ

نان سائيز

ٽيگ سائيز

AEAD_CHACHA20_POLY1305

chacha20-ietf-poly1305

32

32

12

16

AEAD_AES_256_GCM

aes-256-gcm

32

32

12

16

AEAD_AES_128_GCM

aes-128-gcm

16

16

12

16

مهرباني ڪري رجوع ڪريو IANA AEAD رجسٽري نالي جي اسڪيم ۽ وضاحت لاءِ.

اهم نڪتل

ماسٽر ڪيچ سڌو سنئون صارف کان يا پاسورڊ مان ٺاهيل ٿي سگھي ٿو.

HKDF_SHA1 هڪ فنڪشن آهي جيڪو هڪ ڳجهي چيڪ، هڪ غير ڳجهي نموني، هڪ معلوماتي اسٽرنگ وٺي ٿو، ۽ هڪ ذيلي ڪيچ ٺاهي ٿو جيڪو ڪرپٽوگرافڪ طور تي مضبوط آهي جيتوڻيڪ ان پٽ ڳجهي چيڪ ڪمزور آهي.

HKDF_SHA1 (ڪي، لوڻ، ڄاڻ) => ذيلي ڪني

معلومات اسٽرنگ ٺاهيل ذيلي ڪيڪ کي مخصوص ايپليڪيشن جي حوالي سان پابند ڪري ٿو. اسان جي حالت ۾، اهو هجڻ گهرجي "ss-subkey" بغير حوالن جي.

اسان HKDF_SHA1 استعمال ڪندي اڳئين شيئر ڪيل ماسٽر ڪيئي مان في سيشن سبڪي حاصل ڪندا آهيون. لوڻ لازمي طور تي اڳئين شيئر ڪيل ماسٽر ڪيئي جي سڄي زندگي ذريعي منفرد هجڻ گهرجي.

تصديق ٿيل انڪرپشن/ڊڪرپشن

AE_encrypt هڪ فنڪشن آهي جيڪو هڪ ڳجهي چيڪ، هڪ غير ڳجهو نونس، هڪ پيغام، ۽ ciphertext ۽ هڪ تصديق جي ٽيگ پيدا ڪري ٿو. هر دعوت ۾ ڏنل ڪيئي لاءِ غير ضروري هجڻ لازمي آهي.

AE_encrypt(key, nonce, message) => (ciphertext, tag)

 

AE_decrypt هڪ فنڪشن آهي جيڪو هڪ ڳجهي چيڪ، غير ڳجهي نونس، ciphertext، هڪ تصديق جي ٽيگ، ۽ هڪ اصل پيغام پيدا ڪري ٿو. جيڪڏهن ڪنهن به ان پٽ سان ڇڪايو ويو آهي، ڊسڪشن ناڪام ٿي ويندي.

AE_decrypt(key, nonce, ciphertext, tag) => پيغام

ٽي پي

هڪ AEAD انڪرپٽ ٿيل TCP اسٽريم في سيشن سبڪي حاصل ڪرڻ لاءِ بي ترتيب طور تي ٺاهيل لوڻ سان شروع ٿئي ٿو، ان کان پوءِ ڪي به نمبر انڪرپٽ ٿيل ٽڪرا. هر ٽڪري هيٺ ڏنل جوڙجڪ آهي:

[انڪريٽ ٿيل پيل لوڊ ڊگھائي][ڊگھائي ٽيگ][انڪريپٹ ٿيل پيل لوڊ][پيلوڊ ٽيگ]

 

پيلي لوڊ ڊگھائي 2-بائيٽ وڏي-انڊين غير دستخط ٿيل انٽيجر 0x3FFF تي ڍڪيل آهي. مٿيون ٻه بٽ محفوظ آهن ۽ لازمي طور تي صفر تي مقرر ڪيا وڃن. تنهن ڪري پيل لوڊ 16 * 1024 - 1 بائيٽ تائين محدود آهي.

پهريون AEAD انڪريپٽ/ڊيڪرپٽ آپريشن 0 کان شروع ٿيندڙ ڳڻپ جي نونس استعمال ڪندو آهي. هر انڪريپٽ/ڊيڪرپٽ آپريشن کان پوءِ، نانس کي هڪ کان وڌو ويندو آهي ڄڻ ته اهو هڪ اڻ دستخط ٿيل ننڍو-اينڊين انٽيجر هجي. نوٽ ڪريو ته ھر TCP chunk ۾ ٻه AEAD انڪرپٽ/ڊيڪرپٽ عمل شامل آھن: ھڪڙو پيل لوڊ ڊگھائي لاءِ، ۽ ھڪڙو پيل لوڊ لاءِ. تنهن ڪري هر ٽڪرا ٻه ڀيرا نونس وڌائي ٿو.

ٽي پي

هڪ AEAD انڪرپٽ ٿيل TCP اسٽريم في سيشن سبڪي حاصل ڪرڻ لاءِ بي ترتيب طور تي ٺاهيل لوڻ سان شروع ٿئي ٿو، ان کان پوءِ ڪي به نمبر انڪرپٽ ٿيل ٽڪرا. هر ٽڪري هيٺ ڏنل جوڙجڪ آهي:

[انڪريٽ ٿيل پيل لوڊ ڊگھائي][ڊگھائي ٽيگ][انڪريپٹ ٿيل پيل لوڊ][پيلوڊ ٽيگ]

 

پيلي لوڊ ڊگھائي 2-بائيٽ وڏي-انڊين غير دستخط ٿيل انٽيجر 0x3FFF تي ڍڪيل آهي. مٿيون ٻه بٽ محفوظ آهن ۽ لازمي طور تي صفر تي مقرر ڪيا وڃن. تنهن ڪري پيل لوڊ 16 * 1024 - 1 بائيٽ تائين محدود آهي.

پهريون AEAD انڪريپٽ/ڊيڪرپٽ آپريشن 0 کان شروع ٿيندڙ ڳڻپ جي نونس استعمال ڪندو آهي. هر انڪريپٽ/ڊيڪرپٽ آپريشن کان پوءِ، نانس کي هڪ کان وڌو ويندو آهي ڄڻ ته اهو هڪ اڻ دستخط ٿيل ننڍو-اينڊين انٽيجر هجي. نوٽ ڪريو ته ھر TCP chunk ۾ ٻه AEAD انڪرپٽ/ڊيڪرپٽ عمل شامل آھن: ھڪڙو پيل لوڊ ڊگھائي لاءِ، ۽ ھڪڙو پيل لوڊ لاءِ. تنهن ڪري هر ٽڪرا ٻه ڀيرا نونس وڌائي ٿو.

توهان جي 5 ڏينهن جي مفت آزمائش شروع ڪريو