Shadowsocks Dokumentatioun

AEAD

AEAD steet fir Authenticated Encryption with Associated Data. AEAD Chiffere bidden gläichzäiteg Vertraulechkeet, Integritéit an Authentizitéit. Si hunn exzellent Leeschtung a Kraafteffizienz op modern Hardware. D'Benotzer sollten AEAD Chiffere benotzen wann ëmmer méiglech.

Déi folgend AEAD Chiffere si recommandéiert. Konforme Shadowsocks Implementatiounen mussen AEAD_CHACHA20_POLY1305 ënnerstëtzen. Implementatioune fir Apparater mat Hardware AES Beschleunegung sollen och AEAD_AES_128_GCM an AEAD_AES_256_GCM implementéieren.

 

 

 

Numm

alias

Schlëssel Gréisst

Salz Gréisst

Nonce Gréisst

Tag Gréisst

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

Kuckt weg IANA AEAD Registry fir Numm Schema an Spezifizéierung.

Schlëssel Derivatioun

De Masterschlëssel kann direkt vum Benotzer Input ginn oder aus engem Passwuert generéiert ginn.

HKDF_SHA1 ass eng Funktioun déi e geheime Schlëssel, en net-geheime Salz, eng Infostring hëlt, a produzéiert en Ënnerschlëssel deen kryptographesch staark ass, och wann den Input geheime Schlëssel schwaach ass.

HKDF_SHA1(Schlëssel, Salz, Info) => Ënnerschlëssel

D'Infostring bindt den generéierten Ënnerschlëssel un e spezifesche Applikatiounskontext. An eisem Fall muss et de String "ss-Subkey" ouni Zitater sinn.

Mir ofgeleent e Per-Sessioun Ënnerschlëssel vun engem pre-gedeelte Master-Schlëssel mat HKDF_SHA1. Salz muss eenzegaarteg duerch d'ganz Liewen vun der Pre-gedeelt Meeschtesch Schlëssel ginn.

Authentifizéiert Verschlësselung / Entschlësselung

AE_encrypt ass eng Funktioun déi e geheime Schlëssel, eng net-geheime Nonce, e Message hëlt a Chiffertext an en Authentifikatiounstag produzéiert. Nonce muss eenzegaarteg sinn fir e bestëmmte Schlëssel an all Uruff.

AE_encrypt(key, nonce, message) => (Chiffertext, Tag)

 

AE_decrypt ass eng Funktioun déi e geheime Schlëssel, net-geheime Nonce, Chiffertext, en Authentifikatiounstag hëlt an en originelle Message produzéiert. Wann iergendeen vun den Input manipuléiert gëtt, wäert d'Entschlësselung feelen.

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

TCP

En AEAD verschlësselte TCP Stream fänkt mat engem zoufälleg generéierte Salz un fir de Per-Sessioun Ënnerschlëssel ofzeleeën, gefollegt vun all Zuel vu verschlësselte Stécker. All Stéck huet déi folgend Struktur:

[verschlësselte Notzlaaschtlängt][Längt Tag][verschlësselte Notzlaascht][Payload Tag]

 

Notzlaaschtlängt ass en 2-Byte Big-Endian net ënnerschriwwen Ganzt op 0x3FFF. Déi méi héich zwee Bits si reservéiert a mussen op Null gesat ginn. Notzlaascht ass dofir limitéiert op 16 * 1024 - 1 Bytes.

Déi éischt AEAD Verschlësselungs-/Entschlësselungsoperatioun benotzt eng Zählungsnonce ab 0. No all Verschlësselungs-/Entschlësselungsoperatioun gëtt d'Nonce vun engem eropgebaut wéi wann et en net ënnerschriwwene Little-endian Ganzt wier. Notéiert datt all TCP-Stéck zwee AEAD-Verschlësselungs- / Entschlësseloperatiounen involvéiert: eng fir d'Notzlaaschtlängt, an eng fir d'Notzlaascht. Dofir erhéicht all Stéck den Nonce zweemol.

TCP

En AEAD verschlësselte TCP Stream fänkt mat engem zoufälleg generéierte Salz un fir de Per-Sessioun Ënnerschlëssel ofzeleeën, gefollegt vun all Zuel vu verschlësselte Stécker. All Stéck huet déi folgend Struktur:

[verschlësselte Notzlaaschtlängt][Längt Tag][verschlësselte Notzlaascht][Payload Tag]

 

Notzlaaschtlängt ass en 2-Byte Big-Endian net ënnerschriwwen Ganzt op 0x3FFF. Déi méi héich zwee Bits si reservéiert a mussen op Null gesat ginn. Notzlaascht ass dofir limitéiert op 16 * 1024 - 1 Bytes.

Déi éischt AEAD Verschlësselungs-/Entschlësselungsoperatioun benotzt eng Zählungsnonce ab 0. No all Verschlësselungs-/Entschlësselungsoperatioun gëtt d'Nonce vun engem eropgebaut wéi wann et en net ënnerschriwwene Little-endian Ganzt wier. Notéiert datt all TCP-Stéck zwee AEAD-Verschlësselungs- / Entschlësseloperatiounen involvéiert: eng fir d'Notzlaaschtlängt, an eng fir d'Notzlaascht. Dofir erhéicht all Stéck den Nonce zweemol.

Fänkt Äre 5-Deeg Gratis Test un