Leabhar shadowsocks
na seòladaireachd
AEAD
AEAD a’ seasamh airson crioptachadh dearbhte le dàta co-cheangailte. Bidh ciphers AEAD aig an aon àm a’ toirt seachad dìomhaireachd, ionracas agus dearbhteachd. Tha coileanadh sàr-mhath aca agus èifeachdas cumhachd air bathar-cruaidh an latha an-diugh. Bu chòir do luchd-cleachdaidh ciphers AEAD a chleachdadh nuair as urrainnear.
Thathas a’ moladh na ciphers AEAD a leanas. Feumaidh buileachadh gèilleadh Shadowsocks taic a thoirt do AEAD_CHACHA20_POLY1305. Bu chòir buileachadh airson innealan le luathachadh bathar-cruaidh AES cuideachd AEAD_AES_128_GCM agus AEAD_AES_256_GCM a chur an gnìomh.
Ainm | Alias | Meud iuchrach | Meud salainn | Meud Nonce | tag Meud |
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 |
Thoir sùil air Clàradh IANA AEAD airson sgeama ainmeachaidh agus sònrachadh.
Prìomh thùs
Faodar am prìomh iuchair a chuir a-steach gu dìreach bhon neach-cleachdaidh no a chruthachadh bho fhacal-faire.
HKDF_SHA1 na ghnìomh a bheir iuchair dhìomhair, salann neo-dhìomhair, sreang fiosrachaidh, agus a bheir a-mach subkey a tha làidir gu criptografach eadhon ged a tha an iuchair dhìomhair a-steach lag.
HKDF_SHA1(iuchair, salann, fiosrachadh) => subkey
Bidh an sreang fiosrachaidh a’ ceangal an fho-iuchrach a chaidh a chruthachadh ri co-theacs tagraidh sònraichte. Anns a’ chùis againn, feumaidh gur e an sreang “ss-subkey” gun luachan.
Bidh sinn a’ faighinn subkey gach seisean bho phrìomh iuchair ro-roinnte a’ cleachdadh HKDF_SHA1. Feumaidh salann a bhith gun samhail tro bheatha iomlan na prìomh iuchair ro-roinnte.
Crioptachadh / dì-chrioptachadh dearbhte
Tha AE_encrypt na ghnìomh a bheir iuchair dhìomhair, nonce neo-dhìomhair, teachdaireachd, agus a bheir a-mach ciphertext agus tag dearbhaidh. Feumaidh Nonce a bhith gun samhail airson iuchair shònraichte anns gach gairm.
AE_encrypt(iuchrach, nonce, teachdaireachd) => (ciphertext, tag)
Tha AE_decrypt na ghnìomh a bheir iuchair dhìomhair, nonce neo-dhìomhair, ciphertext, tag dearbhaidh, agus a bheir a-mach teachdaireachd tùsail. Ma thèid bacadh a chuir air gin den cuir a-steach, fàilligidh an dì-chrioptachadh.
AE_decrypt(iuchrach, nonce, ciphertext, tag) => teachdaireachd
TCP
Bidh sruth TCP crioptaichte AEAD a’ tòiseachadh le salann air a chruthachadh air thuaiream gus an subkey gach seisean fhaighinn, air a leantainn le àireamh sam bith de chnapan crioptaichte. Tha an structar a leanas aig gach ball:
[fad pàighidh crioptaichte] taga faid] [luchd pàighidh crioptaichte] [tag pàighidh pàighidh]
Is e fad luchd-pàighidh àireamh iomlan gun ainm 2-byte mòr-endian air a chuartachadh aig 0x3FFF. Tha an dà phìos as àirde glèidhte agus feumaidh iad a bhith air an suidheachadh gu neoni. Mar sin tha an t-uallach pàighidh cuingealaichte gu 16 * 1024 - 1 bytes.
Bidh a' chiad obrachadh crioptachaidh/dì-chrioptachaidh AEAD a' cleachdadh neo-chunntais a' tòiseachadh bho 0. Às dèidh gach gnìomh crioptachaidh/dì-chrioptachaidh, thèid an neo-chrìochnaichte a mheudachadh le aon mar gum b' e àireamh-shluaigh bheag gun ainm a bh' ann. Thoir an aire gu bheil gach pìos TCP a’ toirt a-steach dà ghnìomhachd crioptachaidh / dì-chrioptachaidh AEAD: aon airson fad an luchd-pàighidh, agus aon airson an luchd pàighidh. Mar sin bidh gach cnap ag àrdachadh an aon uair dà uair.
TCP
Bidh sruth TCP crioptaichte AEAD a’ tòiseachadh le salann air a chruthachadh air thuaiream gus an subkey gach seisean fhaighinn, air a leantainn le àireamh sam bith de chnapan crioptaichte. Tha an structar a leanas aig gach ball:
[fad pàighidh crioptaichte] taga faid] [luchd pàighidh crioptaichte] [tag pàighidh pàighidh]
Is e fad luchd-pàighidh àireamh iomlan gun ainm 2-byte mòr-endian air a chuartachadh aig 0x3FFF. Tha an dà phìos as àirde glèidhte agus feumaidh iad a bhith air an suidheachadh gu neoni. Mar sin tha an t-uallach pàighidh cuingealaichte gu 16 * 1024 - 1 bytes.
Bidh a' chiad obrachadh crioptachaidh/dì-chrioptachaidh AEAD a' cleachdadh neo-chunntais a' tòiseachadh bho 0. Às dèidh gach gnìomh crioptachaidh/dì-chrioptachaidh, thèid an neo-chrìochnaichte a mheudachadh le aon mar gum b' e àireamh-shluaigh bheag gun ainm a bh' ann. Thoir an aire gu bheil gach pìos TCP a’ toirt a-steach dà ghnìomhachd crioptachaidh / dì-chrioptachaidh AEAD: aon airson fad an luchd-pàighidh, agus aon airson an luchd pàighidh. Mar sin bidh gach cnap ag àrdachadh an aon uair dà uair.