Shadowsocks dukumeenti

AEAD

AEAD waxay u taagan tahay Sireeynta La Xaqiijiyay ee Xogta La Xiriirtay. Xirmooyinka AEAD waxay si isku mar ah u bixiyaan sirta, daacadnimada, iyo xaqiiqada. Waxay leeyihiin waxqabad aad u fiican iyo hufnaanta awoodda qalabka casriga ah. Isticmaalayaashu waa inay isticmaalaan AEAD ciphers mar kasta oo ay suurtagal tahay.

Xirmooyinka AEAD ee soo socda ayaa lagula talinayaa. Hirgelinta Shadowsocks ee waafaqsan waa inay taageeraan AEAD_CHACHA20_POLY1305. Hirgelinta aaladaha leh qalabka dardargelinta AES waa in sidoo kale la hirgeliyaa AEAD_AES_128_GCM iyo AEAD_AES_256_GCM.

 

 

 

magaca

alias

Cabbirka Furaha

Cabirka milixda

Cabirka Aan Lahayn

tag Size

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

Fadlan tixraac IANA AEAD nidaamka magacaabidda iyo qeexidda.

Soojeedinta Furaha

Furaha sayidku waxa uu si toos ah uga iman karaa isticmaalaha ama waxa laga soo saari karaa erayga sirta ah.

HKDF_SHA1 waa hawl qaadata furaha sirta ah, milix aan qarsoodi ahayn, xadhig xog ah, oo soo saarta fure-hoosaad si qarsoodi ah u xooggan xitaa haddii furaha sirta ah ee gelinta uu daciif yahay.

HKDF_SHA1 (furaha, cusbo, macluumaad) => fure hoose

Xadhiga macluumaadka waxa uu ku xidhaa furaha hoose ee la soo saaray iyo macnaha codsiga gaarka ah. Xaaladeena, waa inay noqotaa xadhigga "ss-subkey" iyada oo aan la soo xigan.

Waxa aanu ka soo dheegnay furaha fadhi-hoosaadka ee hore loo wadaagay iyada oo la isticmaalayo HKDF_SHA1. milixdu waa inay noqotaa mid gaar ah inta lagu jiro nolosha oo dhan ee furaha sayid ee hore loo wadaagay.

Sireeynta/Decryption la xaqiijiyay

AE_encrypt waa hawl qaadata furaha sirta ah, wax aan qarsoodi ahayn, fariin, oo soo saarta qoraallo iyo summada aqoonsiga. Marna waa in uu gaar u ahaadaa furaha la bixiyay codsi kasta.

AE_encrypt (furaha, nonce, fariin) => (qoraal, sumad)

 

AE_decrypt waa hawl qaadata fure sir ah, aan qarsoodi ahayn, qoraal-qoraal ah, sumad xaqiijin ah, oo soo saarta fariin asal ah. Haddii mid ka mid ah gelinta la farageliyo, fur-furiddu way fashilmi doontaa.

AE_decrypt(muhiim, aan lahayn, ciphertext, tag) => fariin

TCP

AEAD sir ah socodka TCP wuxuu ku bilaabmaa milix si aan kala sooc lahayn loo soo saaray si loo helo furaha fadhi kasta, oo ay ku xigto tiro kasta oo qaybo qarsoon. Qayb kastaa waxay leedahay qaabdhismeedkan soo socda:

[dhererka mushaharka sir ah] [tagga dhererka][loader sir ah]

 

Dhererka lacag-bixinta waa 2-byte-indian-weyn oo aan saxeexin integer oo ku daboolan 0x3FFF. Labada bit ee sare waa la hayaa oo waa in lagu dejiyaa eber. Culayska mushaharka ayaa sidaas darteed ku xaddidan 16*1024 - 1 bytes.

Hawlgalka ugu horreeya ee AEAD sirta/dejinta waxay isticmaashaa tirinta nonce oo ka bilaabmaysa 0. Kadib hawlgal kasta oo sir/decrypt, midna waxa lagu kordhiyaa mid sidii haddii ay tahay isugeyn yar oo aan saxeexin. Ogsoonow in qayb kasta oo TCP ah ay ku lug leedahay laba hawlgal oo AEAD encrypt/decrypt ah: mid dhererka culeyska, iyo mid loogu talagalay culeyska. Sidaa darteed qayb kastaa waxay kordhisaa hal mar laba jeer.

TCP

AEAD sir ah socodka TCP wuxuu ku bilaabmaa milix si aan kala sooc lahayn loo soo saaray si loo helo furaha fadhi kasta, oo ay ku xigto tiro kasta oo qaybo qarsoon. Qayb kastaa waxay leedahay qaabdhismeedkan soo socda:

[dhererka mushaharka sir ah] [tagga dhererka][loader sir ah]

 

Dhererka lacag-bixinta waa 2-byte-indian-weyn oo aan saxeexin integer oo ku daboolan 0x3FFF. Labada bit ee sare waa la hayaa oo waa in lagu dejiyaa eber. Culayska mushaharka ayaa sidaas darteed ku xaddidan 16*1024 - 1 bytes.

Hawlgalka ugu horreeya ee AEAD sirta/dejinta waxay isticmaashaa tirinta nonce oo ka bilaabmaysa 0. Kadib hawlgal kasta oo sir/decrypt, midna waxa lagu kordhiyaa mid sidii haddii ay tahay isugeyn yar oo aan saxeexin. Ogsoonow in qayb kasta oo TCP ah ay ku lug leedahay laba hawlgal oo AEAD encrypt/decrypt ah: mid dhererka culeyska, iyo mid loogu talagalay culeyska. Sidaa darteed qayb kastaa waxay kordhisaa hal mar laba jeer.

Bilow tijaabadaada bilaashka ah ee 5-maalmood