aboutsummaryrefslogtreecommitdiffstats
path: root/protobuf/WhisperTextProtocol.proto
blob: 7b4fe6ea0e5cb85c6469bea5960a503f4890651e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package textsecure;

option java_package = "org.whispersystems.libaxolotl.protocol";
option java_outer_classname = "WhisperProtos";

message WhisperMessage {
  optional bytes  ratchetKey      = 1;
  optional uint32 counter         = 2;
  optional uint32 previousCounter = 3;
  optional bytes  ciphertext      = 4;
}

message PreKeyWhisperMessage {
  optional uint32 registrationId = 5;
  optional uint32 preKeyId       = 1;
  optional uint32 signedPreKeyId = 6;
  optional bytes  baseKey        = 2;
  optional bytes  identityKey    = 3;
  optional bytes  message        = 4; // WhisperMessage
}

message KeyExchangeMessage {
  optional uint32 id               = 1;
  optional bytes  baseKey          = 2;
  optional bytes  ratchetKey       = 3;
  optional bytes  identityKey      = 4;
  optional bytes  baseKeySignature = 5;
}

message SenderKeyMessage {
  optional uint32 id         = 1;
  optional uint32 iteration  = 2;
  optional bytes  ciphertext = 3;
}

message SenderKeyDistributionMessage {
  optional uint32 id         = 1;
  optional uint32 iteration  = 2;
  optional bytes  chainKey   = 3;
  optional bytes  signingKey = 4;
}