Erinn Comments

This commit is contained in:
Sarah Jamie Lewis 2023-03-09 12:24:36 -08:00
parent c02062ac73
commit 52dcc74908
26 changed files with 85 additions and 60 deletions

View File

@ -185,7 +185,7 @@ All we need to know from CwtchLib is what methods to export to C bindings, and w
- Move Application Experiments defined in bindings into their own libraries (or integrate them into existing libraries like cwtch-server) keeping the existing interface definitions.
- Once Automated UI Tests have been integrated into the Cwtch UI Repository:
- Write a generate-cwtch-bindings tool that auto generates the libcwtch-go C/Android bindings **and** a dart calling convention library from cwtchlib and any configured application experiments libraries
- Port the existing UI app to use the newly generated dart cwtch library (this must wait until we have automated UI testing as part of the build process to ensure that there are no regressions during this process).
- Port the existing UI app to use the newly generated dart Cwtch library (this must wait until we have automated UI testing as part of the build process to ensure that there are no regressions during this process).
- At this point the bindings are based off of the generated library and libcwtch-go is deprecated / replaced with automatically generated and versioned bindings.
As these changes are made, and these goals met we will be posting about them here! Subscribe to our [RSS feed](/blog/rss.xml), [Atom feed](/blog/atom.xml), or [JSON feed](/blog/feed.json) to stay up to date, and get the latest on, all Cwtch development.

View File

@ -101,7 +101,7 @@ We now provide [Repliqate build-scripts](https://git.openprivacy.ca/cwtch.im/rep
We also have a partially repeatable [Android cwtch.aar build](https://git.openprivacy.ca/cwtch.im/repliqate-scripts/src/branch/main/libcwtch.v1.10.2-android.script) script that reproduces the official build environment, which we will be using to complete Android reproducible builds as detailed in the last section.
You can (and I want to highly encourage you to) perform all these steps yourself (either via Repliqate, or a setup with the same specifications) and report back. We want to know if there are any other barriers to reproducing cwtch bindings, and anything that we can do to make the process easier.
You can (and I want to highly encourage you to) perform all these steps yourself (either via Repliqate, or a setup with the same specifications) and report back. We want to know if there are any other barriers to reproducing Cwtch bindings, and anything that we can do to make the process easier.
## Next Steps

View File

@ -137,7 +137,7 @@ In many cases we are looking for testers to confirm that various functionality w
| CentOS | 🟡 | 🟡 | Testing Needed. |
| Gentoo | 🟡 | 🟡 | Testing Needed. |
| Arch | 🟡 | 🟡 | Testing Needed. |
| Whonix | 🟡 | 🟡 | [Known Issues. Specific changes to cwtch are required for support. ](https://git.openprivacy.ca/cwtch.im/cwtch-ui/issues/550) |
| Whonix | 🟡 | 🟡 | [Known Issues. Specific changes to Cwtch are required for support. ](https://git.openprivacy.ca/cwtch.im/cwtch-ui/issues/550) |
| Raspian (arm64) | 🟡 | ✅ | Builds from source work. |
| Other Linux Distributions | 🟡 | 🟡 | Testing Needed. |
| Android 9 and below | 🟡 | 🟡 | Official builds may work. |
@ -145,7 +145,7 @@ In many cases we are looking for testers to confirm that various functionality w
| Android 11 | ✅ | ✅ | Official SDK supprts arm, arm64, and amd64 architectures. |
| Android 12 | ✅ | ✅ | Official SDK supprts arm, arm64, and amd64 architectures. |
| Android 13 | ✅ | ✅ | Official SDK supprts arm, arm64, and amd64 architectures. |
| LineageOS | 🟡 | 🟡 | [Known Issues. Specific changes to cwtch are required for support.](https://git.openprivacy.ca/cwtch.im/cwtch-ui/issues/607) |
| LineageOS | 🟡 | 🟡 | [Known Issues. Specific changes to Cwtch are required for support.](https://git.openprivacy.ca/cwtch.im/cwtch-ui/issues/607) |
| Other Android Distributions | 🟡 | 🟡 | Testing Needed. |
## Help us go further!

View File

@ -1,6 +1,6 @@
---
title: Compile-time Optional Application Experiments (Autobindings)
description: "In this development log we document how we added compile-time optional application-level experiments to cwtch autobindings."
description: "In this development log we document how we added compile-time optional application-level experiments to Cwtch autobindings."
slug: autobindings-ii
tags: [cwtch, cwtch-stable, bindings, autobindings, libcwtch]
image: /img/devlog8_small.png

View File

@ -1,9 +1,9 @@
---
title: Cwtch Documentation
description: ""
description: " In this development log we will highlight some of the major documentation updates over the last few weeks."
slug: cwtch-documentation
tags: [cwtch, cwtch-stable, documentation, security-handbook]
image: /img/devlog8_small.png
image: /img/devlog9_small.png
hide_table_of_contents: false
toc_max_heading_level: 4
authors:
@ -15,7 +15,7 @@ authors:
One of the main streams of work in the lead up to Cwtch Stable has been improving all aspects of Cwtch Documentation. In this development log we will highlight some of the major updates over the last few weeks.
![](/img/devlog8.png)
![](/img/devlog9.png)
<!--truncate-->
@ -27,13 +27,15 @@ We have [now ported the the handbook to this documentation site](/security/intro
## Volunteer Development
We have noticed an uptick in the number of people reaching out interested in contributing to cwtch development. In order to help people get acclimated to our development flow we have created a new section on the main documentation site called [Developing Cwtch](/docs/contribute/developing) - there you will find a collection of useful links and information about how to get started with Cwtch development, what libraries and tools we use, how pull requests are validated and verified, and how to choose and issue to work on.
We have noticed an uptick in the number of people reaching out interested in contributing to Cwtch development. In order to help people get acclimated to our development flow we have created a new section on the main documentation site called [Developing Cwtch](/docs/contribute/developing) - there you will find a collection of useful links and information about how to get started with Cwtch development, what libraries and tools we use, how pull requests are validated and verified, and how to choose and issue to work on.
If you are interested in getting started with cwtch development then please check it out, and feel free to reach out to `team@cwtch.im` (or open a an issue) with any questions.
We also also updated our guides on [Translating Cwtch](/docs/contribute/translate) and [Testing Cwtch](/docs/contribute/testing).
If you are interested in getting started with Cwtch development then please check it out, and feel free to reach out to `team@cwtch.im` (or open an issue) with any questions.
## Documentation Style Guide
This we we have also hit another core goal for the Cwtch Stable roadmap by [defining a styleguide for Cwtch Documentation](/docs/contribute/documentation). Over the coming weeks we will be improving existing documentation up to this standard.
This we have also hit another core goal for the Cwtch Stable roadmap by [defining a styleguide for Cwtch Documentation](/docs/contribute/documentation). Over the coming weeks we will be improving existing documentation up to this standard.
## Next Steps

View File

@ -18,7 +18,7 @@ For information on blocking connections from people you don't know please see [S
# Sharing A Friends Cwtch Address
Inside of Cwtch there is another mechanism for exchanging cwtch addresses.
Inside of Cwtch there is another mechanism for exchanging Cwtch addresses.
:::info

View File

@ -13,7 +13,7 @@ All Cwtch issues are tracked from the [cwtch-ui git repository](https://git.open
Issues are generally divided into 4 distinct categories:
- **Unprocessed** - These are new issues that have not been discussed by the Cwtch team.
- **Scheduled** - These issues have been planned for an upcoming release. They are usually tagged with the release they are expected to be fixed in e.g. `cwtch-1.11`. A core cwtch team member is likely working on the issue, or is expecting to work on the issue in the coming weeks.
- **Scheduled** - These issues have been planned for an upcoming release. They are usually tagged with the release they are expected to be fixed in e.g. `cwtch-1.11`. A core Cwtch team member is likely working on the issue, or is expecting to work on the issue in the coming weeks.
- **Desired** - These are issues that we would like to fix but for some reason we are unable to schedule. This might be because the feature is large and requires a lot of effort, or because there is some blocker (e.g. a missing feature in Flutter or some other library) that prevents work on the feature.
- **Help Wanted** - These are generally small issues that we would like to fix but that have been designated low priority. These are ideal first issues for volunteers.
@ -21,13 +21,13 @@ If you would like to work on an open bug/feature, please comment on the issue an
:::note
Due to an issue with our email provider, we are currently unable to consistently send email from our gitea instance. Please regularly check open issues / pull-requests for updates (or subscribe to the repositories rss feeds)
Due to an issue with our email provider, we are currently unable to consistently send email from our gitea instance. Please regularly check open issues / pull-requests for updates (or subscribe to the repository's RSS feeds)
:::
## Cwtch Pull-Request Process
All pull-requests must be reviewed and approved by a core cwtch team member prior to merging. Sarah reviews all new and active pull requests multiple times a week.
All pull-requests must be reviewed and approved by a core Cwtch team member prior to merging. Sarah reviews all new and active pull requests multiple times a week.
### Build Bot
@ -38,7 +38,10 @@ Buildbot can fail for reasons beyond your control e.g. many of our integration t
## Useful Resources
- [Cwtch Ecosystem Overview](/security/components/ecosystem-overview) - a summary of active Cwtch repositories from the Cwtch Secure Development Handbook
- [Cwtch Ecosystem Overview](/security/components/ecosystem-overview) - a summary of active Cwtch repositories from the Cwtch Secure Development Handbook.
- [Contributing Documentation](/docs/contribute/documentation) - advice on contributing Cwtch documentation.
- [Contributing Testing](/docs/contribute/testing) - advice on contributing by testing Cwtch.
- [Contributing Translations](/docs/contribute/translate) - advice on contributing translations to Cwtch.
:::note

View File

@ -17,7 +17,13 @@ To ensure consistency between screenshots we suggest that the profile involved s
- **Carol** - a secondary contact, useful when demonstrating group features
- **Mallory** - representing a malicious peer (to be used when demonstrating blocking functionality)
## Dialogue and Content
Where screenshots and demonstrations show dialogue, conversations, and/or images please keep the conversations short, on a casual topic. Examples include:
- Organizing a picnic
- Sharing photos from a vacation
- Sending a document for review
## Experiments

View File

@ -2,21 +2,37 @@
sidebar_position: 2
---
# Translate Cwtch
# Translating Cwtch
If you would like to contribute translations to Cwtch the application or this handbook here is how
## Cwtch Application
## Contributing Translations to the Cwtch Application
The application is translated through [Lokalise](https://lokalise.com).
1. Sign up for an account on the site
2. Email [team@cwtch.im](mailto:team@cwtch.im) that would like to translate and the email address you signed up with. We will add you to the project
There are two ways to contribute to Cwtch applications.
### Join our Lokalise Team
We use [Lokalise](https://lokalise.com) for managing translations for the Cwtch application.
1. Sign up for a Lokalise account
2. Email [team@cwtch.im](mailto:team@cwtch.im) with the language you are interested in translating and an email we can use to invite you to our Lokalise team.
### Directly via Git
For new translations, you can make a copy of [https://git.openprivacy.ca/cwtch.im/cwtch-ui/src/branch/trunk/lib/l10n/intl_en.arb](https://git.openprivacy.ca/cwtch.im/cwtch-ui/src/branch/trunk/lib/l10n/intl_en.arb) and begin translating - you can then either [submit pull requests or directly](/docs/contribute/developing#cwtch-pull-request-process) send updates to us (team@cwtch.im) and we will merge them in.
For adding to existing translations you can make pull requests directly on any file in [https://git.openprivacy.ca/cwtch.im/cwtch-ui/src/branch/trunk/lib/l10n/](https://git.openprivacy.ca/cwtch.im/cwtch-ui/src/branch/trunk/lib/l10n/) and we will review and merge them in.
## Cwtch User's Handbook
The handbook is translated through [Crowdin](https://crowdin.com).
1. Sign up for an account on the site.
2. Go to the [cwtch-users-handbook](https://crowdin.com/project/cwtch-users-handbook) project and join.
This handbook is translated through [Crowdin](https://crowdin.com).
To join our Crowdin project:
1. Sign up for an account on [Crowdin](https://crowdin.com).
2. Join the [cwtch-users-handbook project](https://crowdin.com/project/cwtch-users-handbook).
We bundle up changes to the documentation in batches and sync them with the Crowdin project on a regular basis.
:::note

View File

@ -28,7 +28,7 @@ not listed here, then check out [Contibuting to Cwtch](/docs/category/contribute
| CentOS | 🟡 | 🟡 | Testing Needed. |
| Gentoo | 🟡 | 🟡 | Testing Needed. |
| Arch | 🟡 | 🟡 | Testing Needed. |
| Whonix | 🟡 | 🟡 | [Known Issues. Specific changes to cwtch are required for support. ](https://git.openprivacy.ca/cwtch.im/cwtch-ui/issues/550) |
| Whonix | 🟡 | 🟡 | [Known Issues. Specific changes to Cwtch are required for support. ](https://git.openprivacy.ca/cwtch.im/cwtch-ui/issues/550) |
| Raspian (arm64) | 🟡 | ✅ | Builds from source work. |
| Other Linux Distributions | 🟡 | 🟡 | Testing Needed. |
| Android 9 and below | 🟡 | 🟡 | Official builds may work. |
@ -36,5 +36,5 @@ not listed here, then check out [Contibuting to Cwtch](/docs/category/contribute
| Android 11 | ✅ | ✅ | Official SDK supprts arm, arm64, and amd64 architectures. |
| Android 12 | ✅ | ✅ | Official SDK supprts arm, arm64, and amd64 architectures. |
| Android 13 | ✅ | ✅ | Official SDK supprts arm, arm64, and amd64 architectures. |
| LineageOS | 🟡 | 🟡 | [Known Issues. Specific changes to cwtch are required for support.](https://git.openprivacy.ca/cwtch.im/cwtch-ui/issues/607) |
| LineageOS | 🟡 | 🟡 | [Known Issues. Specific changes to Cwtch are required for support.](https://git.openprivacy.ca/cwtch.im/cwtch-ui/issues/607) |
| Other Android Distributions | 🟡 | 🟡 | Testing Needed. |

View File

@ -28,7 +28,7 @@ As such, peer-server conversations only differ in the *kinds* of messages that a
with the server storing all messages that it receives and thus allowing any client to query for older messages.
The risk model associated with servers is more complicated that peer-to-peer communication, as such we currently
require people who want to use servers within cwtch to [opt-in to the Group Chat experiment](/docs/settings/experiments/group-experiment)
require people who want to use servers within Cwtch to [opt-in to the Group Chat experiment](/docs/settings/experiments/group-experiment)
in order to add, manage and create groups on untrusted servers.
## How Groups Work Under the Hood

View File

@ -5,7 +5,7 @@ sidebar_position: 4
# Streamer/Presentation Mode
Streamer/Presentation mode makes the app more visually private. In this mode, Cwtch will not display
auxiliary information like cwtch addresses and other sensitive information on the main screens.
auxiliary information like Cwtch addresses and other sensitive information on the main screens.
This is useful when taking screenshots or otherwise displaying Cwtch in a more public way.

View File

@ -4,11 +4,11 @@ sidebar_position: 1
# Block Unknown Connections
By default, Cwtch interprets connections from unknown cwtch addresses as [Contact Requests](https://docs.cwtch.im/docs/chat/accept-deny-new-conversation). You can change this behaviour through the Block Unknown Connections
By default, Cwtch interprets connections from unknown Cwtch addresses as [Contact Requests](https://docs.cwtch.im/docs/chat/accept-deny-new-conversation). You can change this behaviour through the Block Unknown Connections
setting.
If enabled, Cwtch will auto close all connections from Cwtch addresses that you have not added to your conversation
list. This will prevent people who have your cwtch address from contacting you unless you also add them.
list. This will prevent people who have your Cwtch address from contacting you unless you also add them.
To enable:

View File

@ -6,11 +6,11 @@ sidebar_position: 1
## Appearance
These are settings which effect how cwtch looks, including themes and localization.
These are settings which effect how Cwtch looks, including themes and localization.
## Behaviour
These settings impact how cwtch responds to certain events e.g. notifications for new messages, or requests
These settings impact how Cwtch responds to certain events e.g. notifications for new messages, or requests
from unknown public addresses.
## Experiments

View File

@ -6,7 +6,7 @@ sidebar_position: 1
De forma predeterminada, Cwtch interpreta las conexiones de direcciones Cwtch desconocidas como [Solicitudes de contacto](https://docs.cwtch.im/docs/chat/accept-deny-new-conversation). Puede cambiar este comportamiento a través de la configuración de Bloquear Conexiones Desconocidas.
Si está activado, Cwtch cerrará automáticamente todas las conexiones de las direcciones de Cwtch que no has añadido a tu lista de contactos. Esto evitará que la gente que tenga su dirección cwtch se ponga en contacto contigo a menos que tu también los añadas.
Si está activado, Cwtch cerrará automáticamente todas las conexiones de las direcciones de Cwtch que no has añadido a tu lista de contactos. Esto evitará que la gente que tenga su dirección Cwtch se ponga en contacto contigo a menos que tu también los añadas.
Para habilitar:

View File

@ -10,7 +10,7 @@ Estos son los ajustes que afectan cómo se ve cwtch, incluyendo temas y localiza
## Comportamiento
Estos ajustes impactan la respuesta de cwtch a ciertos eventos, por ejemplo, notificaciones de nuevos mensajes, o solicitudes de direcciones públicas desconocidas.
Estos ajustes impactan la respuesta de Cwtch a ciertos eventos, por ejemplo, notificaciones de nuevos mensajes, o solicitudes de direcciones públicas desconocidas.
## Experimentos

View File

@ -20,7 +20,7 @@ Per molti aspetti la comunicazione con un server è identica a quella con un nor
Di conseguenza, le conversazioni peer-server differiscono solo nei *tipi* di messaggi inviati tra le due parti, con il server che memorizza tutti i messaggi che riceve e quindi permette a qualsiasi client di ripescare i messaggi più vecchi.
Il modello di rischio associato ai server è più complicato che la comunicazione peer-to-peer, quindi al momento richiediamo alle persone che vogliono utilizzare i server all'interno di cwtch di [attivare l'esperimento di Chat di gruppo](/docs/settings/experiments/group-experiment) per aggiungere, gestire e creare gruppi su server non attendibili.
Il modello di rischio associato ai server è più complicato che la comunicazione peer-to-peer, quindi al momento richiediamo alle persone che vogliono utilizzare i server all'interno di Cwtch di [attivare l'esperimento di Chat di gruppo](/docs/settings/experiments/group-experiment) per aggiungere, gestire e creare gruppi su server non attendibili.
## Come funzionano i gruppi sotto il coperchio

View File

@ -4,7 +4,7 @@ sidebar_position: 4
# Modalità Streamer/Presentazione
La modalità Streamer/Presentazione rende l'applicazione visivamente più privata. In questa modalità, Cwtch non visualizzerà sulle schermate principali informazioni ausiliarie come gli indirizzi cwtch e altre informazioni sensibili.
La modalità Streamer/Presentazione rende l'applicazione visivamente più privata. In questa modalità, Cwtch non visualizzerà sulle schermate principali informazioni ausiliarie come gli indirizzi Cwtch e altre informazioni sensibili.
Questo è utile quando si catturano screenshot o in altro modo si mostra Cwtch più "pubblicamente".

View File

@ -4,9 +4,9 @@ sidebar_position: 1
# Blocca connessioni sconosciute
Come impostazione predefinita, Cwtch interpreta le connessioni da indirizzi cwtch sconosciuti come [Richieste di contatto](https://docs.cwtch.im/docs/chat/accept-deny-new-conversation). È possibile modificare questo comportamento tramite l'impostazione "Blocco connessioni sconosciute".
Come impostazione predefinita, Cwtch interpreta le connessioni da indirizzi Cwtch sconosciuti come [Richieste di contatto](https://docs.cwtch.im/docs/chat/accept-deny-new-conversation). È possibile modificare questo comportamento tramite l'impostazione "Blocco connessioni sconosciute".
Se abilitata, Cwtch chiuderà automaticamente tutte le connessioni dagli indirizzi Cwtch che non hai aggiunto al tuo elenco delle conversazioni. Questo impedirà alle persone che hanno il tuo indirizzo cwtch di contattarti a meno che tu non li aggiunga prima.
Se abilitata, Cwtch chiuderà automaticamente tutte le connessioni dagli indirizzi Cwtch che non hai aggiunto al tuo elenco delle conversazioni. Questo impedirà alle persone che hanno il tuo indirizzo Cwtch di contattarti a meno che tu non li aggiunga prima.
Per abilitare:

View File

@ -10,7 +10,7 @@ Queste sono impostazioni che influenzano l'aspetto di cwtch, inclusi temi e loca
## Comportamento
Queste impostazioni influenzano il modo in cui cwtch risponde a determinati eventi, ad esempio notifiche di nuovi messaggi o richieste da indirizzi pubblici sconosciuti.
Queste impostazioni influenzano il modo in cui Cwtch risponde a determinati eventi, ad esempio notifiche di nuovi messaggi o richieste da indirizzi pubblici sconosciuti.
## Esperimenti

View File

@ -5,7 +5,7 @@ sidebar_position: 3
# Key Bundles
Cwtch servers identify themselves through signed key bundles. These key bundles contain a list of keys necessary
to make cwtch group communication secure and metadata resistant.
to make Cwtch group communication secure and metadata resistant.
At the time of writing, key bundles are expected to contain 3 keys:

View File

@ -34,7 +34,7 @@ contains a serialized `peerGetVal` structure and `peerRetVal` respectively.
type DecryptedGroupMessage struct {
Text string // plaintext of the message
Onion string // The cwtch address of the sender
Onion string // The Cwtch address of the sender
Timestamp uint64 // A user specified timestamp
// NOTE: SignedGroupID is now a misnomer, the only way this is signed is indirectly via the signed encrypted group messages
// We now treat GroupID as binding to a server/key rather than an "owner" - additional validation logic (to e.g.
@ -53,9 +53,9 @@ This ensures that all encrypted group messages are equal length.
// EncryptedGroupMessage provides an encapsulation of the encrypted group message stored on the server
type EncryptedGroupMessage struct {
Ciphertext []byte
Signature []byte // Sign(groupID + group.GroupServer + base64(decrypted group message)) using the senders cwtch key
Signature []byte // Sign(groupID + group.GroupServer + base64(decrypted group message)) using the senders Cwtch key
}
Calculating the signature requires knowing the groupID of the message, the server the group is associated with
and the decrypted group message (and thus, the Group Key). It is (ed25519) signed by the sender of the message, and can be
verified using their public cwtch address key.
verified using their public Cwtch address key.

View File

@ -37,19 +37,19 @@ For more information see [tapir](/security/components/tapir/authentication_proto
## [cwtch.im/cwtch](https://git.openprivacy.ca/cwtch.im/cwtch)
Summary: Cwtch is the main library for implementing the cwtch protocol / system.
Summary: Cwtch is the main library for implementing the Cwtch protocol / system.
The goal of cwtch is to provide implementations for cwtch-specific applications e.g.
The goal of Cwtch is to provide implementations for cwtch-specific applications e.g.
message sending, groups, and file sharing(implemented as Tapir applications), provide interfaces for managing and storing Cwtch profiles, provide an event bus for subsystem splutting and building plugins with new functionality, in addition to managing other core functionality.
The cwtch library is also responsible for maintaining canonical model representations for wire formats and overlays.
The Cwtch library is also responsible for maintaining canonical model representations for wire formats and overlays.
## [cwtch.im/libcwtch-go](https://git.openprivacy.ca/cwtch.im/libcwtch-go)
Summary: libcwtch-go provides C (including Android) bindings for Cwtch for use in UI implementations.
The goal of libcwtch-go is to bridge the gap between the backend cwtch library and any front end systems which
The goal of libcwtch-go is to bridge the gap between the backend Cwtch library and any front end systems which
may be written in a different language.
The API provided by libcwtch is much more restricted than the one provided by Cwtch directly, each libcwtch API typically

View File

@ -7,24 +7,22 @@ sidebar_position: 2
Each peer, given an open connection $C$:
$$
I = \mathrm{InitializeIdentity()} \\\\
I_e = \mathrm{InitializeEphemeralIdentity()} \\\\
\\\\
I,I_e \rightarrow C \\\\
P,P_e \leftarrow C \\\\
\\\\
k = \mathrm{KDF}({P_e}^{i} + {P}^{i_e} + {P_e}^{i_e}) \\\\
c = \mathrm{E}(k, transcript.Commit()) \\\\
c \rightarrow C \\\\
c_p \leftarrow C \\\\
I = \mathrm{InitializeIdentity()} \\
I_e = \mathrm{InitializeEphemeralIdentity()} \\
I,I_e \rightarrow C \\
P,P_e \leftarrow C \\
k = \mathrm{KDF}({P_e}^{i} + {P}^{i_e} + {P_e}^{i_e}) \\
c = \mathrm{E}(k, transcript.Commit()) \\
c \rightarrow C \\
c_p \leftarrow C\\
\mathrm{D}(k, c_p) \stackrel{?}{=} transcript.LatestCommit()
$$
The above represents a sketch protocol, in reality there are a few
implementation details worth pointing out:
Once derived from the key derivation function \\(\mathrm{KDF}\\\) the key
\\(k\\) is set *on* the connection, meaning the authentication app doesn't
Once derived from the key derivation function ($\mathrm{KDF}$) the key
($k$) is set *on* the connection, meaning the authentication app doesn't
do the encryption or decryption explicitly.
The concatenation of parts of the 3DH exchange is strictly ordered:

View File

@ -66,7 +66,7 @@ and bulletin board)
An alpha version of Cwtch was [was launched in February 2019](https://openprivacy.ca/blog/2019/02/14/cwtch-alpha/), and
since then the Cwtch team (run by the [Open Privacy Research Society](https://openprivacy.ca)) has conducted
research and development into cwtch and the underlying protocols and libraries and problem spaces.
research and development into Cwtch and the underlying protocols and libraries and problem spaces.

BIN
static/img/devlog9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 KiB