package textsecure; option java_package = "org.whispersystems.libsignal.protocol"; option java_outer_classname = "WhisperProtos"; message WhisperMessage { optional bytes ephemeralKey = 1; optional uint32 counter = 2; optional uint32 previousCounter = 3; optional bytes ciphertext = 4; // PushMessageContent } 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 ephemeralKey = 3; optional bytes identityKey = 4; optional bytes baseKeySignature = 5; }