Dokiman Shadowsocks

AEAD

AEAD kanpe pou Ankouraje Otantifye ak Done Asosye. Chif AEAD an menm tan bay konfidansyalite, entegrite, ak otantisite. Yo gen pèfòmans ekselan ak efikasite pouvwa sou pyès ki nan konpitè modèn. Itilizatè yo ta dwe itilize chifreman AEAD chak fwa sa posib.

Yo rekòmande chifreman AEAD sa yo. Enplemantasyon Shadowsocks ki konfòme yo dwe sipòte AEAD_CHACHA20_POLY1305. Aplikasyon pou aparèy ak akselerasyon AES pyès ki nan konpitè yo ta dwe aplike tou AEAD_AES_128_GCM ak AEAD_AES_256_GCM.

 

 

 

Non

Alyas

Gwosè kle

Gwosè sèl

Nonce Size

tag Kantite moun ki

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

Tanpri, al gade nan IANA AEAD rejis pou nonmen konplo ak spesifikasyon.

Derivasyon kle

Kle mèt la ka antre dirèkteman nan itilizatè a oswa pwodwi nan yon modpas.

HKDF_SHA1 se yon fonksyon ki pran yon kle sekrè, yon sèl ki pa sekrè, yon kòd enfòmasyon, epi ki pwodui yon sous-kle ki kriptografik fò menm si kle sekrè antre a fèb.

HKDF_SHA1(kle, sèl, info) => sous-kle

Chèn enfòmasyon an mare sous-kle ki pwodui a nan yon kontèks aplikasyon espesifik. Nan ka nou an, li dwe fisèl "ss-subkey" san guillemets.

Nou tire yon sous-kle pou chak sesyon ki soti nan yon kle mèt pre-pataje lè l sèvi avèk HKDF_SHA1. Sèl dwe inik nan tout lavi a nan pre-pataje kle mèt la.

Otantifye chifreman/dekripte

AE_encrypt se yon fonksyon ki pran yon kle sekrè, yon nonce ki pa sekrè, yon mesaj, epi ki pwodui tèks chifre ak yon tag otantifikasyon. Nonce dwe inik pou yon kle bay nan chak envokasyon.

AE_encrypt(kle, nonce, mesaj) => (ciphertext, tag)

 

AE_decrypt se yon fonksyon ki pran yon kle sekrè, nonce ki pa sekrè, tèks chifre, yon tag otantifikasyon, epi pwodui yon mesaj orijinal. Si nenpòt nan opinyon yo manyen, dechifre a ap echwe.

AE_decrypt(kle, nonce, ciphertext, tag) => mesaj

Tchp

Yon kouran TCP ki ankripte AEAD kòmanse ak yon sèl ki te pwodwi owaza pou tire sou-kle pou chak sesyon, ki te swiv pa nenpòt ki kantite fragman chiffres. Chak moso gen estrikti sa a:

[longè chaj kode] [longè tag] [chaj kode] [tag chaj kode]

 

Longè chaj la se yon nonb antye relatif 2-byte gwo-endian ki pa siyen ki limite nan 0x3FFF. De bit ki pi wo yo rezève epi yo dwe mete a zewo. Se poutèt sa Payload limite a sa sèlman 16 * 1024 - 1 bytes.

Premye operasyon ankripte/dekripte AEAD sèvi ak yon nonce konte ki kòmanse nan 0. Apre chak operasyon ankripte/decrypte, nonce a ogmante pa youn kòm si se te yon nonce nonce ki pa siyen. Remake byen ke chak moso TCP enplike de operasyon ankripte/dekripte AEAD: youn pou longè chaj la, ak youn pou chaj la. Se poutèt sa chak moso ogmante nonce a de fwa.

Tchp

Yon kouran TCP ki ankripte AEAD kòmanse ak yon sèl ki te pwodwi owaza pou tire sou-kle pou chak sesyon, ki te swiv pa nenpòt ki kantite fragman chiffres. Chak moso gen estrikti sa a:

[longè chaj kode] [longè tag] [chaj kode] [tag chaj kode]

 

Longè chaj la se yon nonb antye relatif 2-byte gwo-endian ki pa siyen ki limite nan 0x3FFF. De bit ki pi wo yo rezève epi yo dwe mete a zewo. Se poutèt sa Payload limite a sa sèlman 16 * 1024 - 1 bytes.

Premye operasyon ankripte/dekripte AEAD sèvi ak yon nonce konte ki kòmanse nan 0. Apre chak operasyon ankripte/decrypte, nonce a ogmante pa youn kòm si se te yon nonce nonce ki pa siyen. Remake byen ke chak moso TCP enplike de operasyon ankripte/dekripte AEAD: youn pou longè chaj la, ak youn pou chaj la. Se poutèt sa chak moso ogmante nonce a de fwa.

Kòmanse esè 5 jou gratis ou a