From d73ceb26ae10043f7cab0c353c1bfa5c74144dc1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 12 Aug 2022 15:38:28 +0530 Subject: [PATCH] Use the RFC as the reference for base-85 encoding --- docs/rc_protocol.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/rc_protocol.rst b/docs/rc_protocol.rst index 2a558dc9e..f3154d102 100644 --- a/docs/rc_protocol.rst +++ b/docs/rc_protocol.rst @@ -52,12 +52,11 @@ terminal is encrypted to keep the password secure. A public key is used from the :envvar:`KITTY_PUBLIC_KEY` environment variable. Currently, only one encryption protocol is supported. The protocol number is present in :envvar:`KITTY_PUBLIC_KEY` as ``1``. The key data in this environment variable -is `Base-85 `__ encoded. The -algorithm used is `Elliptic Curve Diffie Helman -`__ with the -`X25519 curve `__. A time based nonce -is used to minimise replay attacks. The original JSON command has the fields: -``password`` and ``timestamp`` added. The timestamp is the number of +is :rfc:`Base-85 <1924>` encoded. The algorithm used is `Elliptic Curve Diffie +Helman `__ with +the `X25519 curve `__. A time based +nonce is used to minimise replay attacks. The original JSON command has the +fields: ``password`` and ``timestamp`` added. The timestamp is the number of nanoseconds since the epoch, excluding leap seconds. Commands with a timestamp more than 5 minutes from the current time are rejected. The command is then encrypted using AES-256-GCM in authenticated encryption mode, with a symmetric