Tuhinga o Shadowsocks

AEAD

AEAD e tu ana mo te Whakamunatanga Motuhēhē me te Raraunga Hononga. Ko nga ciphers AEAD i te wa kotahi ka whakarato i te muna, te pono, me te pono. He pai te mahi me te kaha o te mana ki runga i nga taputapu hou. Me whakamahi nga kaiwhakamahi AEAD ciphers ina taea.

Ka tūtohuhia nga tohu AEAD e whai ake nei. Ko nga whakatinanatanga Shadowsocks e tika ana me tautoko AEAD_CHACHA20_POLY1305. Ko nga whakaurunga mo nga taputapu whai taputapu whakatere AES me whakauru ano AEAD_AES_128_GCM me AEAD_AES_256_GCM.

 

 

 

ingoa

ingoakē

Rahi matua

Rahi Tote

Nonce Rahi

Rahi tūtohu

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

Tena tirohia IANA AEAD rehita mo te kaupapa whakaingoatanga me te whakatakotoranga.

Takenga Matua

Ko te matua matua ka taea te whakauru tika mai i te kaiwhakamahi, i hangaia ranei mai i te kupuhipa.

HKDF_SHA1 he mahi e mau ana i te taviri huna, te tote huna-kore, he aho info, ka whakaputa i te matua-iti e kaha ana te kaha ki te tangi ahakoa he ngoikore te taviri huna.

HKDF_SHA1(pātuhi, tote, korero) => kīroto

Ka herea e te aho info te kīroto i hangaia ki tetahi horopaki tono motuhake. I roto i to maatau, me noho te aho "ss-subkey" kaore he korukī.

Ka whiwhi tatou i te taviri iti mo ia wahanga mai i te taviri matua tiritahi ma te whakamahi i te HKDF_SHA1. Me ahurei te tote i roto i te oranga katoa o te matua matua toha i mua.

Whakamunatanga / Whakamunatanga

Ko te AE_encrypt he mahi e mau ana i te ki ngaro, i te nonce huna-kore, i te karere, me te whakaputa kupu ciphertext me te tohu motuhēhēnga. Me ahurei a Nonce mo tetahi kii i ia karangatanga.

AE_encrypt(kī, nonce, karere) => (kuputuhi, tūtohu)

 

Ko te AE_decrypt he mahi e mau ana i te kii ngaro, kore-huna nonce, ciphertext, he tohu motuhēhēnga, me te whakaputa karere taketake. Mena ka rawekehia tetahi o nga whakaurunga, ka rahua te wetemuna.

AE_decrypt(key, nonce, ciphertext, tag) => karere

TCP

Ka timata te awa TCP whakamunatia ki te tote i mahia matapōkeretia ki te tiki i te kīroto ia-watū, whai muri i te maha o nga wahanga whakamunatia. Kei ia wahanga te hanganga e whai ake nei:

[te roa o te utu whakamuna][tag te roa][tagutai whakamunatia][tag te utu]

 

Ko te roa o te utu utu he 2-paita nui-endian tauoti kore hainatia kua kapi ki te 0x3FFF. Ko nga moka teitei e rua kua rahuitia, me tautuhi ki te kore. No reira he iti te utu ki te 16*1024 – 1 paita.

Ko te mahi whakamuna/whakamuna AEAD tuatahi e whakamahi ana i te tatau nonce timata mai i te 0. I muri i ia mahi whakamuna/whakamuna, ka whakanuia te nonce ki tetahi me te mea he tauoti iti-endian kore haina. Kia mahara ko ia wahanga TCP e rua nga mahi whakamuna/ wetewete AEAD: kotahi mo te roa o te utu, me tetahi mo te utu. No reira ka whakanuia e ia tiihi te nonce kia rua.

TCP

Ka timata te awa TCP whakamunatia ki te tote i mahia matapōkeretia ki te tiki i te kīroto ia-watū, whai muri i te maha o nga wahanga whakamunatia. Kei ia wahanga te hanganga e whai ake nei:

[te roa o te utu whakamuna][tag te roa][tagutai whakamunatia][tag te utu]

 

Ko te roa o te utu utu he 2-paita nui-endian tauoti kore hainatia kua kapi ki te 0x3FFF. Ko nga moka teitei e rua kua rahuitia, me tautuhi ki te kore. No reira he iti te utu ki te 16*1024 – 1 paita.

Ko te mahi whakamuna/whakamuna AEAD tuatahi e whakamahi ana i te tatau nonce timata mai i te 0. I muri i ia mahi whakamuna/whakamuna, ka whakanuia te nonce ki tetahi me te mea he tauoti iti-endian kore haina. Kia mahara ko ia wahanga TCP e rua nga mahi whakamuna/ wetewete AEAD: kotahi mo te roa o te utu, me tetahi mo te utu. No reira ka whakanuia e ia tiihi te nonce kia rua.

Tīmatahia to whakamatautau kore utu 5-ra