Shadowsocks sənədləri

AEAD

AEAD Associated Data ilə Doğrulanmış Şifrələmə deməkdir. AEAD şifrələri eyni zamanda məxfilik, bütövlük və həqiqiliyi təmin edir. Müasir avadanlıqlarda əla performansa və enerji səmərəliliyinə malikdirlər. İstifadəçilər mümkün olduqda AEAD şifrələrindən istifadə etməlidirlər.

Aşağıdakı AEAD şifrələri tövsiyə olunur. Uyğun Shadowsocks tətbiqləri AEAD_CHACHA20_POLY1305-i dəstəkləməlidir. Təchizat AES sürətləndirilməsi olan cihazlar üçün tətbiqlər AEAD_AES_128_GCM və AEAD_AES_256_GCM də tətbiq etməlidir.

 

 

 

ad

ləqəb

Açar ölçüsü

Duz Ölçüsü

Qeyri Ölçü

Tag ölçüsü

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

Xahiş edirik müraciət edin IANA AEAD reyestri adlandırma sxemi və spesifikasiyası üçün.

Açar törəmə

Əsas açar birbaşa istifadəçidən daxil edilə bilər və ya paroldan yaradıla bilər.

HKDF_SHA1 gizli açarı, gizli olmayan duzu, məlumat sətrini götürən və giriş sirri açarı zəif olsa belə kriptoqrafik cəhətdən güclü olan alt açar yaradan funksiyadır.

HKDF_SHA1(açar, duz, məlumat) => alt açar

Məlumat sətri yaradılan alt açarı xüsusi proqram kontekstinə bağlayır. Bizim vəziyyətimizdə, dırnaqlar olmadan "ss-alt açar" sətri olmalıdır.

HKDF_SHA1 istifadə edərək əvvəlcədən paylaşılmış əsas açardan hər sessiya üçün alt açar əldə edirik. Duz əvvəlcədən paylaşılmış əsas açarın bütün ömrü boyu unikal olmalıdır.

Doğrulanmış Şifrələmə/Deşifrə

AE_encrypt gizli açar, gizli olmayan bir mesaj, mesaj alan, şifrəli mətn və autentifikasiya etiketi yaradan funksiyadır. Nonce hər çağırışda verilmiş açar üçün unikal olmalıdır.

AE_encrypt(açar, qeyri, mesaj) => (şifrə mətni, etiket)

 

AE_decrypt gizli açar, gizli olmayan, şifrəli mətn, autentifikasiya etiketi götürən və orijinal mesaj yaradan funksiyadır. Girişlərdən hər hansı biri dəyişdirilərsə, şifrənin açılması uğursuz olacaq.

AE_decrypt(açar, qeyri, şifrəli mətn, etiket) => mesaj

TCP

AEAD şifrəli TCP axını hər seans üçün alt açarı əldə etmək üçün təsadüfi yaradılan duzla başlayır, ardınca istənilən sayda şifrələnmiş parça. Hər bir parça aşağıdakı quruluşa malikdir:

[şifrələnmiş faydalı yük uzunluğu][uzunluq etiketi][şifrələnmiş faydalı yük][faydalı yük etiketi]

 

Faydalı yükün uzunluğu 2x0FFF ilə məhdudlaşdırılmış 3 baytlıq böyük-endian işarəsiz tam ədəddir. Daha yüksək iki bit qorunur və sıfıra təyin edilməlidir. Beləliklə, faydalı yük 16*1024 – 1 baytla məhdudlaşır.

İlk AEAD şifrələmə/şifrəni açma əməliyyatı 0-dan başlayaraq hesablamadan istifadə edir. Hər bir şifrələmə/şifrəni açma əməliyyatından sonra, işarəsiz kiçik endian tam ədədi kimi, bir ədəd artırılır. Qeyd edək ki, hər bir TCP yığını iki AEAD şifrələmə/şifrləmə əməliyyatını əhatə edir: biri faydalı yükün uzunluğu üçün, biri isə faydalı yük üçün. Buna görə də, hər bir parça XNUMX dəfə azalma artırır.

TCP

AEAD şifrəli TCP axını hər seans üçün alt açarı əldə etmək üçün təsadüfi yaradılan duzla başlayır, ardınca istənilən sayda şifrələnmiş parça. Hər bir parça aşağıdakı quruluşa malikdir:

[şifrələnmiş faydalı yük uzunluğu][uzunluq etiketi][şifrələnmiş faydalı yük][faydalı yük etiketi]

 

Faydalı yükün uzunluğu 2x0FFF ilə məhdudlaşdırılmış 3 baytlıq böyük-endian işarəsiz tam ədəddir. Daha yüksək iki bit qorunur və sıfıra təyin edilməlidir. Beləliklə, faydalı yük 16*1024 – 1 baytla məhdudlaşır.

İlk AEAD şifrələmə/şifrəni açma əməliyyatı 0-dan başlayaraq hesablamadan istifadə edir. Hər bir şifrələmə/şifrəni açma əməliyyatından sonra, işarəsiz kiçik endian tam ədədi kimi, bir ədəd artırılır. Qeyd edək ki, hər bir TCP yığını iki AEAD şifrələmə/şifrləmə əməliyyatını əhatə edir: biri faydalı yükün uzunluğu üçün, biri isə faydalı yük üçün. Buna görə də, hər bir parça XNUMX dəfə azalma artırır.

5 günlük Pulsuz sınaq müddətinizə başlayın