summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/CHAT-APPLICATION.txt21
-rw-r--r--docs/CHAT-PRODUCTION.txt4
2 files changed, 19 insertions, 6 deletions
diff --git a/docs/CHAT-APPLICATION.txt b/docs/CHAT-APPLICATION.txt
index 6a25776..28c576b 100644
--- a/docs/CHAT-APPLICATION.txt
+++ b/docs/CHAT-APPLICATION.txt
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
EXPERIMENTAL PRIVATE CHAT
- Branch: feature/private-chat. Direct development and a prebuilt Podman/HTTPS
+ Available on main. Direct development and a prebuilt Podman/HTTPS
deployment path are implemented. See CHAT-PRODUCTION.txt for the release,
production setup, and recovery procedure; feature work does not itself merge
main or activate the VPS.
@@ -57,7 +57,7 @@ WHAT EXISTS
LOCAL PREREQUISITES AND COMMANDS
- Start in the root of the stack repository on feature/private-chat. Native
+ Start in the root of the stack repository on main. Native
development needs Rust, libclang, OpenSSL 3.5 or newer development libraries,
a C compiler, pkg-config, make, Perl, curl, and tar. The checked configuration
uses OpenSSL 3.6.5. The WASI build script currently targets an x86_64 GNU/Linux
@@ -167,11 +167,24 @@ FILE AND MESSAGE CRYPTOGRAPHY
a fixed purpose-only user ID. Names are not placed in public certificate IDs.
The server rejects uploaded secret-key material and unsupported certificates.
- The JSON identity file is an authenticated encrypted envelope. Its fixed
- format identifier is authenticated as associated data:
+ New JSON identity files are indented and use an array of 80-character
+ Base64 ciphertext chunks; the final chunk may be shorter. JSON indentation,
+ quotes, and commas are additional to the ciphertext width. The reader joins
+ the chunks before Base64 decoding. No private fields become plaintext.
+ This is the application's own JSON envelope, not OpenPGP ASCII armor.
+ The new file-format identifier is authenticated as associated data:
+
+ stack-chat-file/v2;argon2id-m65536-t3-p1;aes256-gcm
+
+ Existing compact v1 files with one ciphertext string remain supported:
stack-chat-file/v1;argon2id-m65536-t3-p1;aes256-gcm
+ v1 uses its original identifier as associated data. Changing a version label
+ or converting its field shape does not convert a file: the authentication tag
+ binds the version. No existing file needs rewriting; old readers do not support
+ new v2 exports. Cryptographic algorithms and KDF parameters are unchanged.
+
Argon2id version 0x13 uses 65536 KiB, three passes, one lane, and a 32-byte
derived key. A fresh CSPRNG salt of 16 bytes and AES-256-GCM nonce of 12 bytes
are generated for each file; the authentication tag is 16 bytes. These KDF
diff --git a/docs/CHAT-PRODUCTION.txt b/docs/CHAT-PRODUCTION.txt
index 7e0e315..c1a2402 100644
--- a/docs/CHAT-PRODUCTION.txt
+++ b/docs/CHAT-PRODUCTION.txt
@@ -16,8 +16,8 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
PRODUCTION CHAT INTEGRATION
- Implemented on feature/private-chat. Building and testing a release does not
- merge main or activate the VPS. This is experimental software without an
+ Implemented on main after merging the original feature/private-chat branch.
+ Building and testing a release does not activate the VPS. This is experimental software without an
independent cryptographic or application security audit. Read the limitations
in CHAT-APPLICATION.txt before using it for private conversations.