Skip to content

Commit fcbcfd8

Browse files
committed
docs(protocol): sync handshake/rekey docs and i18n with route-id frame
1 parent 86192cd commit fcbcfd8

File tree

10 files changed

+59
-30
lines changed

10 files changed

+59
-30
lines changed

docs/TunGo/docs/Architecture/Protocol/handshake-and-rekey.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Handshake and Rekeying Protocol
22

33
**Status:** Living document
4-
**Last updated:** 2026-02-07
4+
**Last updated:** 2026-02-17
55

66
## Overview
77

@@ -152,9 +152,10 @@ Wire frame: [2B epoch] [ciphertext + 16B tag]
152152
### 3.4 UDP Transport
153153

154154
```
155-
Wire frame: [12B nonce] [ciphertext + 16B tag]
155+
Wire frame: [8B route-id] [12B nonce] [ciphertext + 16B tag]
156156
```
157157

158+
- Route-id is derived from `sessionId` (first 8 bytes, big-endian) and enables O(1) session lookup.
158159
- Epoch embedded in nonce bytes 10..11.
159160
- **Replay protection:** 1024-bit sliding window bitmap per epoch.
160161
- Tentative check before decryption (Check).
@@ -246,7 +247,7 @@ Client Server
246247
| Nonce replay window | On session teardown (`SlidingWindow.Zeroize`) |
247248
| AAD buffers | On session teardown (`DefaultUdpSession.Zeroize`) |
248249

249-
**Limitation:** Go GC may copy heap objects before zeroing. `mem.ZeroBytes` is best-effort defense against memory forensics, verified by compiler output analysis to not be optimized away (Go 1.25.7, all target platforms).
250+
**Limitation:** Go GC may copy heap objects before zeroing. `mem.ZeroBytes` is best-effort defense against memory forensics, verified by compiler output analysis to not be optimized away (Go 1.26.x, all target platforms).
250251

251252
---
252253

@@ -259,6 +260,7 @@ Client Server
259260
| Cookie bucket | 120 seconds | IP-bound cookie validity window |
260261
| Cookie reply size | 56 bytes | nonce (24) + encrypted cookie (16) + tag (16) |
261262
| AAD length | 60 bytes | sessionId (32) + direction (16) + nonce (12) |
263+
| UDP route-id | 8 bytes | session identifier prefix for O(1) peer lookup |
262264
| Nonce counter | 80 bits | Messages per epoch before overflow |
263265
| Replay window | 1024 bits | UDP out-of-order tolerance |
264266
| Epoch capacity | uint16 | 65535 values, safe threshold 65000 |

docs/TunGo/i18n/ar/docusaurus-plugin-content-docs/current/Architecture/Protocol/handshake-and-rekey.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# بروتوكول المصافحة وتجديد المفاتيح
22

33
**الحالة:** مستند قابل للتحديث المستمر
4-
**آخر تحديث:** 2026-02-07
4+
**آخر تحديث:** 2026-02-17
55

66
## نظرة عامة
77

@@ -152,9 +152,11 @@ Wire frame: [2B epoch] [ciphertext + 16B tag]
152152
### 3.4 نقل UDP
153153

154154
```
155-
Wire frame: [12B nonce] [ciphertext + 16B tag]
155+
Wire frame: [8B route-id] [12B nonce] [ciphertext + 16B tag]
156156
```
157157

158+
- Route-id is derived from `sessionId` (first 8 bytes, big-endian) and enables O(1) session lookup.
159+
158160
- Epoch مضمّن في البايتات 10..11 من nonce.
159161
- **الحماية من إعادة التشغيل:** خريطة بتات نافذة منزلقة بحجم 1024 بت لكل حقبة.
160162
- فحص مبدئي قبل فك التشفير (Check).
@@ -246,7 +248,7 @@ Client Server
246248
| نافذة إعادة تشغيل Nonce | عند تفكيك الجلسة (`SlidingWindow.Zeroize`) |
247249
| مخازن AAD المؤقتة | عند تفكيك الجلسة (`DefaultUdpSession.Zeroize`) |
248250

249-
**قيد:** قد يقوم جامع القمامة في Go بنسخ كائنات الكومة قبل التصفير. يُعدّ `mem.ZeroBytes` دفاعًا بأقصى جهد ضد التحليل الجنائي للذاكرة، وقد تم التحقق من خلال تحليل مخرجات المُصرّف بأنه لا يتم حذفه بالتحسين (Go 1.25.7، جميع المنصات المستهدفة).
251+
**قيد:** قد يقوم جامع القمامة في Go بنسخ كائنات الكومة قبل التصفير. يُعدّ `mem.ZeroBytes` دفاعًا بأقصى جهد ضد التحليل الجنائي للذاكرة، وقد تم التحقق من خلال تحليل مخرجات المُصرّف بأنه لا يتم حذفه بالتحسين (Go 1.26.x، جميع المنصات المستهدفة).
250252

251253
---
252254

@@ -259,6 +261,7 @@ Client Server
259261
| Cookie bucket | 120 ثانية | نافذة صلاحية Cookie المرتبطة بعنوان IP |
260262
| Cookie reply size | 56 بايت | nonce (24) + encrypted cookie (16) + tag (16) |
261263
| AAD length | 60 بايت | sessionId (32) + direction (16) + nonce (12) |
264+
| UDP route-id | 8 bytes | session identifier prefix for O(1) peer lookup |
262265
| Nonce counter | 80 بت | الرسائل لكل حقبة قبل الطفحان |
263266
| Replay window | 1024 بت | تحمل إعادة الترتيب في UDP |
264267
| Epoch capacity | uint16 | 65535 قيمة، عتبة الأمان 65000 |

docs/TunGo/i18n/de/docusaurus-plugin-content-docs/current/Architecture/Protocol/handshake-and-rekey.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Handshake- und Rekeying-Protokoll
22

33
**Status:** Lebendes Dokument
4-
**Zuletzt aktualisiert:** 2026-02-07
4+
**Zuletzt aktualisiert:** 2026-02-17
55

66
## Überblick
77

@@ -152,9 +152,11 @@ Wire frame: [2B epoch] [ciphertext + 16B tag]
152152
### 3.4 UDP-Transport
153153

154154
```
155-
Wire frame: [12B nonce] [ciphertext + 16B tag]
155+
Wire frame: [8B route-id] [12B nonce] [ciphertext + 16B tag]
156156
```
157157

158+
- Route-id is derived from `sessionId` (first 8 bytes, big-endian) and enables O(1) session lookup.
159+
158160
- Epoche eingebettet in Nonce-Bytes 10..11.
159161
- **Replay-Schutz:** 1024-Bit-Schiebefenster-Bitmap pro Epoche.
160162
- Vorläufige Prüfung vor der Entschlüsselung (Check).
@@ -246,7 +248,7 @@ Client Server
246248
| Nonce-Replay-Fenster | Bei Sitzungsabbau (`SlidingWindow.Zeroize`) |
247249
| AAD-Puffer | Bei Sitzungsabbau (`DefaultUdpSession.Zeroize`) |
248250

249-
**Einschränkung:** Der Go-GC kann Heap-Objekte vor dem Nullen kopieren. `mem.ZeroBytes` ist eine Best-Effort-Verteidigung gegen Speicherforensik, durch Compiler-Ausgabeanalyse verifiziert, dass sie nicht wegoptimiert wird (Go 1.25.7, alle Zielplattformen).
251+
**Einschränkung:** Der Go-GC kann Heap-Objekte vor dem Nullen kopieren. `mem.ZeroBytes` ist eine Best-Effort-Verteidigung gegen Speicherforensik, durch Compiler-Ausgabeanalyse verifiziert, dass sie nicht wegoptimiert wird (Go 1.26.x, alle Zielplattformen).
250252

251253
---
252254

@@ -259,6 +261,7 @@ Client Server
259261
| Cookie-Bucket | 120 Sekunden | IP-gebundenes Cookie-Gültigkeitsfenster |
260262
| Cookie-Antwortgröße | 56 Bytes | Nonce (24) + verschlüsseltes Cookie (16) + Tag (16) |
261263
| AAD-Länge | 60 Bytes | sessionId (32) + direction (16) + nonce (12) |
264+
| UDP route-id | 8 bytes | session identifier prefix for O(1) peer lookup |
262265
| Nonce-Counter | 80 Bits | Nachrichten pro Epoche vor Überlauf |
263266
| Replay-Fenster | 1024 Bits | UDP-Toleranz für ungeordnete Pakete |
264267
| Epochen-Kapazität | uint16 | 65535 Werte, sicherer Schwellenwert 65000 |

docs/TunGo/i18n/es/docusaurus-plugin-content-docs/current/Architecture/Protocol/handshake-and-rekey.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Protocolo de Handshake y Renovacion de Claves
22

33
**Estado:** Documento activo
4-
**Ultima actualizacion:** 2026-02-07
4+
**Ultima actualizacion:** 2026-02-17
55

66
## Descripcion general
77

@@ -152,9 +152,11 @@ Wire frame: [2B epoch] [ciphertext + 16B tag]
152152
### 3.4 Transporte UDP
153153

154154
```
155-
Wire frame: [12B nonce] [ciphertext + 16B tag]
155+
Wire frame: [8B route-id] [12B nonce] [ciphertext + 16B tag]
156156
```
157157

158+
- Route-id is derived from `sessionId` (first 8 bytes, big-endian) and enables O(1) session lookup.
159+
158160
- Epoca incrustada en los bytes 10..11 del nonce.
159161
- **Proteccion contra repeticion:** Ventana deslizante de 1024 bits (bitmap) por epoca.
160162
- Verificacion tentativa antes del descifrado (Check).
@@ -246,7 +248,7 @@ Client Server
246248
| Ventana de repeticion de nonce | Al finalizar la sesion (`SlidingWindow.Zeroize`) |
247249
| Buffers AAD | Al finalizar la sesion (`DefaultUdpSession.Zeroize`) |
248250

249-
**Limitacion:** El recolector de basura de Go puede copiar objetos del heap antes de la puesta a cero. `mem.ZeroBytes` es una defensa de mejor esfuerzo contra el analisis forense de memoria, verificada mediante analisis de la salida del compilador para confirmar que no se optimiza (Go 1.25.7, todas las plataformas objetivo).
251+
**Limitacion:** El recolector de basura de Go puede copiar objetos del heap antes de la puesta a cero. `mem.ZeroBytes` es una defensa de mejor esfuerzo contra el analisis forense de memoria, verificada mediante analisis de la salida del compilador para confirmar que no se optimiza (Go 1.26.x, todas las plataformas objetivo).
250252

251253
---
252254

@@ -259,6 +261,7 @@ Client Server
259261
| Intervalo de cookie | 120 segundos | Ventana de validez del cookie vinculado a IP |
260262
| Tamano de respuesta cookie | 56 bytes | nonce (24) + cookie cifrado (16) + tag (16) |
261263
| Longitud de AAD | 60 bytes | sessionId (32) + direction (16) + nonce (12) |
264+
| UDP route-id | 8 bytes | session identifier prefix for O(1) peer lookup |
262265
| Contador de nonce | 80 bits | Mensajes por epoca antes del desbordamiento |
263266
| Ventana de repeticion | 1024 bits | Tolerancia de desorden en UDP |
264267
| Capacidad de epocas | uint16 | 65535 valores, umbral seguro 65000 |

docs/TunGo/i18n/fr/docusaurus-plugin-content-docs/current/Architecture/Protocol/handshake-and-rekey.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Protocole de Handshake et de Renouvellement des Cles
22

33
**Statut :** Document evolutif
4-
**Derniere mise a jour :** 2026-02-07
4+
**Derniere mise a jour :** 2026-02-17
55

66
## Apercu
77

@@ -152,9 +152,11 @@ Wire frame: [2B epoch] [ciphertext + 16B tag]
152152
### 3.4 Transport UDP
153153

154154
```
155-
Wire frame: [12B nonce] [ciphertext + 16B tag]
155+
Wire frame: [8B route-id] [12B nonce] [ciphertext + 16B tag]
156156
```
157157

158+
- Route-id is derived from `sessionId` (first 8 bytes, big-endian) and enables O(1) session lookup.
159+
158160
- Epoque integree dans les octets 10..11 du nonce.
159161
- **Protection contre la repetition :** Fenetre glissante de 1024 bits (bitmap) par epoque.
160162
- Verification provisoire avant le dechiffrement (Check).
@@ -246,7 +248,7 @@ Client Server
246248
| Fenetre de repetition des nonces | A la fermeture de la session (`SlidingWindow.Zeroize`) |
247249
| Tampons AAD | A la fermeture de la session (`DefaultUdpSession.Zeroize`) |
248250

249-
**Limitation :** Le ramasse-miettes de Go peut copier des objets du tas avant la mise a zero. `mem.ZeroBytes` est une defense au mieux contre l'analyse forensique de la memoire, verifiee par l'analyse de la sortie du compilateur pour confirmer l'absence d'optimisation (Go 1.25.7, toutes les plateformes cibles).
251+
**Limitation :** Le ramasse-miettes de Go peut copier des objets du tas avant la mise a zero. `mem.ZeroBytes` est une defense au mieux contre l'analyse forensique de la memoire, verifiee par l'analyse de la sortie du compilateur pour confirmer l'absence d'optimisation (Go 1.26.x, toutes les plateformes cibles).
250252

251253
---
252254

@@ -259,6 +261,7 @@ Client Server
259261
| Intervalle de cookie | 120 secondes | Fenetre de validite du cookie lie a l'IP |
260262
| Taille de la reponse cookie | 56 octets | nonce (24) + cookie chiffre (16) + tag (16) |
261263
| Longueur de AAD | 60 octets | sessionId (32) + direction (16) + nonce (12) |
264+
| UDP route-id | 8 bytes | session identifier prefix for O(1) peer lookup |
262265
| Compteur de nonce | 80 bits | Messages par epoque avant depassement |
263266
| Fenetre de repetition | 1024 bits | Tolerance au desordre UDP |
264267
| Capacite des epoques | uint16 | 65535 valeurs, seuil de securite 65000 |

docs/TunGo/i18n/id/docusaurus-plugin-content-docs/current/Architecture/Protocol/handshake-and-rekey.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Protokol Handshake dan Rekeying
22

33
**Status:** Dokumen yang terus diperbarui
4-
**Terakhir diperbarui:** 2026-02-07
4+
**Terakhir diperbarui:** 2026-02-17
55

66
## Ringkasan
77

@@ -152,9 +152,11 @@ Wire frame: [2B epoch] [ciphertext + 16B tag]
152152
### 3.4 Transport UDP
153153

154154
```
155-
Wire frame: [12B nonce] [ciphertext + 16B tag]
155+
Wire frame: [8B route-id] [12B nonce] [ciphertext + 16B tag]
156156
```
157157

158+
- Route-id is derived from `sessionId` (first 8 bytes, big-endian) and enables O(1) session lookup.
159+
158160
- Epoch tertanam dalam byte nonce 10..11.
159161
- **Perlindungan replay:** Bitmap jendela geser 1024-bit per epoch.
160162
- Pemeriksaan tentatif sebelum dekripsi (Check).
@@ -246,7 +248,7 @@ Client Server
246248
| Jendela replay Nonce | Saat pembongkaran sesi (`SlidingWindow.Zeroize`) |
247249
| Buffer AAD | Saat pembongkaran sesi (`DefaultUdpSession.Zeroize`) |
248250

249-
**Keterbatasan:** GC Go mungkin menyalin objek heap sebelum penghapusan. `mem.ZeroBytes` adalah pertahanan terbaik yang mungkin terhadap forensik memori, diverifikasi melalui analisis output compiler untuk memastikan tidak dioptimalkan (Go 1.25.7, semua platform target).
251+
**Keterbatasan:** GC Go mungkin menyalin objek heap sebelum penghapusan. `mem.ZeroBytes` adalah pertahanan terbaik yang mungkin terhadap forensik memori, diverifikasi melalui analisis output compiler untuk memastikan tidak dioptimalkan (Go 1.26.x, semua platform target).
250252

251253
---
252254

@@ -259,6 +261,7 @@ Client Server
259261
| Cookie bucket | 120 detik | Jendela validitas cookie terikat IP |
260262
| Cookie reply size | 56 byte | nonce (24) + encrypted cookie (16) + tag (16) |
261263
| AAD length | 60 byte | sessionId (32) + direction (16) + nonce (12) |
264+
| UDP route-id | 8 bytes | session identifier prefix for O(1) peer lookup |
262265
| Nonce counter | 80 bit | Pesan per epoch sebelum overflow |
263266
| Replay window | 1024 bit | Toleransi ketidakterurutan UDP |
264267
| Epoch capacity | uint16 | 65535 nilai, ambang aman 65000 |

docs/TunGo/i18n/ja/docusaurus-plugin-content-docs/current/Architecture/Protocol/handshake-and-rekey.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ハンドシェイクおよびリキー・プロトコル
22

33
**ステータス:** 継続的に更新される文書
4-
**最終更新日:** 2026-02-07
4+
**最終更新日:** 2026-02-17
55

66
## 概要
77

@@ -152,9 +152,11 @@ Wire frame: [2B epoch] [ciphertext + 16B tag]
152152
### 3.4 UDPトランスポート
153153

154154
```
155-
Wire frame: [12B nonce] [ciphertext + 16B tag]
155+
Wire frame: [8B route-id] [12B nonce] [ciphertext + 16B tag]
156156
```
157157

158+
- Route-id is derived from `sessionId` (first 8 bytes, big-endian) and enables O(1) session lookup.
159+
158160
- エポックはナンスのバイト10..11に埋め込まれます。
159161
- **リプレイ防御:** エポックごとの1024ビットスライディングウィンドウビットマップ。
160162
- 復号前の仮チェック(Check)。
@@ -246,7 +248,7 @@ Client Server
246248
| ナンスリプレイウィンドウ | セッション終了時(`SlidingWindow.Zeroize`|
247249
| AADバッファ | セッション終了時(`DefaultUdpSession.Zeroize`|
248250

249-
**制限事項:** GoのGCはゼロ化前にヒープオブジェクトをコピーする可能性があります。`mem.ZeroBytes`はメモリフォレンジックに対するベストエフォートの防御であり、コンパイラ出力分析によって最適化で除去されないことが検証されています(Go 1.25.7、全対象プラットフォーム)。
251+
**制限事項:** GoのGCはゼロ化前にヒープオブジェクトをコピーする可能性があります。`mem.ZeroBytes`はメモリフォレンジックに対するベストエフォートの防御であり、コンパイラ出力分析によって最適化で除去されないことが検証されています(Go 1.26.x、全対象プラットフォーム)。
250252

251253
---
252254

@@ -259,6 +261,7 @@ Client Server
259261
| Cookieバケット | 120秒 | IPバインドCookieの有効期間 |
260262
| Cookie応答サイズ | 56バイト | nonce (24) + 暗号化Cookie (16) + tag (16) |
261263
| AAD長 | 60バイト | sessionId (32) + direction (16) + nonce (12) |
264+
| UDP route-id | 8 bytes | session identifier prefix for O(1) peer lookup |
262265
| ナンスカウンター | 80ビット | オーバーフロー前のエポックあたりのメッセージ数 |
263266
| リプレイウィンドウ | 1024ビット | UDP順序外パケット許容範囲 |
264267
| エポック容量 | uint16 | 65535値、安全閾値65000 |

docs/TunGo/i18n/pt/docusaurus-plugin-content-docs/current/Architecture/Protocol/handshake-and-rekey.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Protocolo de Handshake e Rekeying
22

33
**Status:** Documento vivo
4-
**Última atualização:** 2026-02-07
4+
**Última atualização:** 2026-02-17
55

66
## Visão Geral
77

@@ -152,9 +152,11 @@ Wire frame: [2B epoch] [ciphertext + 16B tag]
152152
### 3.4 Transporte UDP
153153

154154
```
155-
Wire frame: [12B nonce] [ciphertext + 16B tag]
155+
Wire frame: [8B route-id] [12B nonce] [ciphertext + 16B tag]
156156
```
157157

158+
- Route-id is derived from `sessionId` (first 8 bytes, big-endian) and enables O(1) session lookup.
159+
158160
- Época embutida nos bytes 10..11 do nonce.
159161
- **Proteção contra replay:** bitmap de janela deslizante de 1024 bits por época.
160162
- Verificação provisória antes da descriptografia (Check).
@@ -246,7 +248,7 @@ Client Server
246248
| Janela de replay de nonce | No encerramento da sessão (`SlidingWindow.Zeroize`) |
247249
| Buffers AAD | No encerramento da sessão (`DefaultUdpSession.Zeroize`) |
248250

249-
**Limitação:** O GC do Go pode copiar objetos do heap antes da zeragem. `mem.ZeroBytes` é uma defesa de melhor esforço contra análise forense de memória, verificada por análise da saída do compilador para não ser otimizada e removida (Go 1.25.7, todas as plataformas alvo).
251+
**Limitação:** O GC do Go pode copiar objetos do heap antes da zeragem. `mem.ZeroBytes` é uma defesa de melhor esforço contra análise forense de memória, verificada por análise da saída do compilador para não ser otimizada e removida (Go 1.26.x, todas as plataformas alvo).
250252

251253
---
252254

@@ -259,6 +261,7 @@ Client Server
259261
| Bucket de cookie | 120 segundos | Janela de validade de cookie vinculado a IP |
260262
| Tamanho da resposta de cookie | 56 bytes | nonce (24) + cookie criptografado (16) + tag (16) |
261263
| Comprimento AAD | 60 bytes | sessionId (32) + direction (16) + nonce (12) |
264+
| UDP route-id | 8 bytes | session identifier prefix for O(1) peer lookup |
262265
| Contador de nonce | 80 bits | Mensagens por época antes do estouro |
263266
| Janela de replay | 1024 bits | Tolerância a pacotes fora de ordem UDP |
264267
| Capacidade de época | uint16 | 65535 valores, limiar seguro 65000 |

docs/TunGo/i18n/ru/docusaurus-plugin-content-docs/current/Architecture/Protocol/handshake-and-rekey.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Протокол рукопожатия и обновления ключей
22

33
**Статус:** Обновляемый документ
4-
**Последнее обновление:** 2026-02-07
4+
**Последнее обновление:** 2026-02-17
55

66
## Обзор
77

@@ -152,9 +152,11 @@ Wire frame: [2B epoch] [ciphertext + 16B tag]
152152
### 3.4 Транспорт UDP
153153

154154
```
155-
Wire frame: [12B nonce] [ciphertext + 16B tag]
155+
Wire frame: [8B route-id] [12B nonce] [ciphertext + 16B tag]
156156
```
157157

158+
- Route-id is derived from `sessionId` (first 8 bytes, big-endian) and enables O(1) session lookup.
159+
158160
- Эпоха встроена в байты nonce 10..11.
159161
- **Защита от повтора:** 1024-битное скользящее окно (bitmap) для каждой эпохи.
160162
- Предварительная проверка перед дешифрованием (Check).
@@ -246,7 +248,7 @@ Client Server
246248
| Окно повтора nonce | При завершении сессии (`SlidingWindow.Zeroize`) |
247249
| Буферы AAD | При завершении сессии (`DefaultUdpSession.Zeroize`) |
248250

249-
**Ограничение:** Сборщик мусора Go может копировать объекты в куче до обнуления. `mem.ZeroBytes` — защита по мере возможности от криминалистического анализа памяти, верифицировано анализом выхода компилятора на предмет отсутствия оптимизации (Go 1.25.7, все целевые платформы).
251+
**Ограничение:** Сборщик мусора Go может копировать объекты в куче до обнуления. `mem.ZeroBytes` — защита по мере возможности от криминалистического анализа памяти, верифицировано анализом выхода компилятора на предмет отсутствия оптимизации (Go 1.26.x, все целевые платформы).
250252

251253
---
252254

@@ -259,6 +261,7 @@ Client Server
259261
| Интервал cookie | 120 секунд | Окно действия cookie, привязанного к IP |
260262
| Размер ответа cookie | 56 байт | nonce (24) + зашифрованный cookie (16) + tag (16) |
261263
| Длина AAD | 60 байт | sessionId (32) + direction (16) + nonce (12) |
264+
| UDP route-id | 8 bytes | session identifier prefix for O(1) peer lookup |
262265
| Счётчик nonce | 80 бит | Сообщений на эпоху до переполнения |
263266
| Окно повтора | 1024 бита | Допуск нарушения порядка UDP |
264267
| Ёмкость эпох | uint16 | 65535 значений, безопасный порог 65000 |

0 commit comments

Comments
 (0)