Dokumentazzjoni Shadowsocks

AEAD

AEAD tfisser Encryption Awtentikata b'Dejta Assoċjata. Iċ-ċifri AEAD fl-istess ħin jipprovdu kunfidenzjalità, integrità u awtentiċità. Huma għandhom prestazzjoni eċċellenti u effiċjenza tal-enerġija fuq ħardwer modern. L-utenti għandhom jużaw iċ-ċifraturi AEAD kull meta jkun possibbli.

Iċ-ċifri AEAD li ġejjin huma rakkomandati. Implimentazzjonijiet Shadowsocks konformi għandhom jappoġġjaw AEAD_CHACHA20_POLY1305. Implimentazzjonijiet għal apparati b'aċċelerazzjoni AES tal-ħardwer għandhom jimplimentaw ukoll AEAD_AES_128_GCM u AEAD_AES_256_GCM.

 

 

 

isem

Alias

Daqs Ewlenin

Daqs tal-melħ

Nonce Daqs

Daqs tat-Tag

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

Jekk jogħġbok irreferi għal Reġistru IANA AEAD għall-iskema ta' ismijiet u speċifikazzjoni.

Derivazzjoni Ewlenin

Iċ-ċavetta prinċipali tista 'tiddaħħal direttament mill-utent jew tiġi ġġenerata minn password.

HKDF_SHA1 hija funzjoni li tieħu ċavetta sigrieta, melħ mhux sigriet, sekwenza ta' informazzjoni, u tipproduċi subkey li hija kriptografikament b'saħħitha anki jekk iċ-ċavetta sigrieta tad-dħul hija dgħajfa.

HKDF_SHA1(ċavetta, melħ, informazzjoni) => subkey

Is-sekwenza ta' informazzjoni torbot is-subkey iġġenerat ma' kuntest ta' applikazzjoni speċifiku. Fil-każ tagħna, għandha tkun is-sekwenza "ss-subkey" mingħajr kwotazzjonijiet.

Aħna niksbu subkey għal kull sessjoni minn ċavetta prinċipali kondiviża minn qabel billi tuża HKDF_SHA1. Il-melħ għandu jkun uniku matul il-ħajja kollha taċ-ċavetta prinċipali kondiviża minn qabel.

Encryption/Decryption awtentikata

AE_encrypt hija funzjoni li tieħu ċavetta sigrieta, nonce mhux sigrieta, messaġġ, u tipproduċi ciphertext u tikketta ta 'awtentikazzjoni. Nonce għandu jkun uniku għal ċavetta partikolari f'kull invokazzjoni.

AE_encrypt(key, nonce, message) => (test taċ-ċifra, tikketta)

 

AE_decrypt hija funzjoni li tieħu ċavetta sigrieta, nonce mhux sigrieta, ċifrat, tikketta ta 'awtentikazzjoni, u tipproduċi messaġġ oriġinali. Jekk xi wieħed mill-input jiġi mbagħbas, id-decryption se tfalli.

AE_decrypt(key, nonce, ciphertext, tag) => messaġġ

TCP

Fluss TCP ikkodifikat mill-AEAD jibda b'melħ iġġenerat b'mod każwali biex tiġi derivata s-subkey għal kull sessjoni, segwita minn kwalunkwe numru ta 'biċċiet kodifikati. Kull biċċa għandha l-istruttura li ġejja:

[tul tat-tagħbija encrypted][tag ta' tul][tagħbija encrypted][tag tat-tagħbija]

 

It-tul tat-tagħbija huwa numru sħiħ mhux iffirmat big-endian ta' 2 bytes b'limitu ta' 0x3FFF. Iż-żewġ bits ogħla huma riżervati u għandhom ikunu ssettjati għal żero. It-tagħbija hija għalhekk limitata għal 16*1024 – 1 bytes.

L-ewwel operazzjoni tal-kriptaġġ/deċifrar tal-AEAD tuża nonce tal-għadd li jibda minn 0. Wara kull operazzjoni tal-kriptaġġ/deċifrar, in-nonce jiġi inkrementat b'wieħed bħallikieku kien numru sħiħ ta' little-endian mhux iffirmat. Innota li kull biċċa TCP tinvolvi żewġ operazzjonijiet ta 'kriptaġġ/decrypt AEAD: waħda għat-tul tat-tagħbija u waħda għat-tagħbija. Għalhekk kull biċċa żżid in-nonce darbtejn.

TCP

Fluss TCP ikkodifikat mill-AEAD jibda b'melħ iġġenerat b'mod każwali biex tiġi derivata s-subkey għal kull sessjoni, segwita minn kwalunkwe numru ta 'biċċiet kodifikati. Kull biċċa għandha l-istruttura li ġejja:

[tul tat-tagħbija encrypted][tag ta' tul][tagħbija encrypted][tag tat-tagħbija]

 

It-tul tat-tagħbija huwa numru sħiħ mhux iffirmat big-endian ta' 2 bytes b'limitu ta' 0x3FFF. Iż-żewġ bits ogħla huma riżervati u għandhom ikunu ssettjati għal żero. It-tagħbija hija għalhekk limitata għal 16*1024 – 1 bytes.

L-ewwel operazzjoni tal-kriptaġġ/deċifrar tal-AEAD tuża nonce tal-għadd li jibda minn 0. Wara kull operazzjoni tal-kriptaġġ/deċifrar, in-nonce jiġi inkrementat b'wieħed bħallikieku kien numru sħiħ ta' little-endian mhux iffirmat. Innota li kull biċċa TCP tinvolvi żewġ operazzjonijiet ta 'kriptaġġ/decrypt AEAD: waħda għat-tul tat-tagħbija u waħda għat-tagħbija. Għalhekk kull biċċa żżid in-nonce darbtejn.

Ibda l-prova tiegħek b'xejn ta' 5 ijiem