// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//

syntax = "proto2";

package encrypted_messages;

// Chrome requires this.
option optimize_for = LITE_RUNTIME;

// This protobuffer is intended to store an encrypted message.
// Messages are encrypted with a secret derived from a client key pair (which
// should be generated fresh randomly for each message) and a server public
// key. The remote message recipient can decrypt the message by performing the
// same key exchange using the included client public key to recover the shared
// secret.
message EncryptedMessage {
  // An encrypted, serialized message.
  required bytes encrypted_message = 1;
  // The server public key version that was used to derive the shared secret.
  required uint32 server_public_key_version = 2;
  // The client public key that corresponds to the private key that was used
  // to derive the shared secret.
  required bytes client_public_key = 3;
  // The encryption algorithm used to encrypt the message.
  enum Algorithm {
    UNKNOWN_ALGORITHM = 0;
    AEAD_ECDH_AES_128_CTR_HMAC_SHA256 = 1;
  }
  optional Algorithm algorithm = 4
      [default = AEAD_ECDH_AES_128_CTR_HMAC_SHA256];
};