@@ -294,39 +294,6 @@ the following form:
294294 is not a fixed size, clients will just use the remainder of binary string as
295295 the shared secret.
296296
297- 1 . generate a binary string by concatenating:
298- - the event ID or ` transaction_id ` of the associated verification
299- request event, encoded as:
300- - two bytes in network byte order (big-endian) indicating the length in
301- bytes of the ID as a UTF-8 string
302- - the ID as a UTF-8 string
303- - the first key, as 32 bytes. The key to use depends on the mode field as
304- described in step 3:
305- - if "0" or "1", then the user's own master cross-signing public key
306- - if "2", then the current device's device key
307- - the second key, as 32 bytes. The key to use depends on the mode field:
308- - if "0", then what the device thinks the other user's master
309- cross-signing key is
310- - if "1", then what the device thinks the other device's device key is
311- - if "2", then what the device thinks the user's master cross-signing key
312- is
313- - a random shared secret, as a byte string. It is suggested to use a secret
314- that is about 8 bytes long. Note: as we do not share the length of the
315- secret, and it is not a fixed size, clients will just use the remainder of
316- binary string as the shared secret.
317- 2 . encode the above string using unpadded base64
318- 3 . prepend the resulting string with
319- - the string "MATRIX"
320- - one character indicating the version (must by "2")
321- - one character indicating the QR code verification mode. May be one of the
322- following values:
323- - "0" verifying another user with cross-signing
324- - "1" self-verifying in which the current device does trust the master key
325- - "2" self-verifying in which the current device does not yet trust the
326- master key
327-
328- The QR code is then generated using byte encoding mode.
329-
330297### Message types
331298
332299#### ` m.key.verification.start `
0 commit comments