// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_SYNC_ENGINE_NIGORI_NIGORI_H_ #define COMPONENTS_SYNC_ENGINE_NIGORI_NIGORI_H_ #include <stddef.h> #include <memory> #include <string> #include "base/time/tick_clock.h" namespace crypto { class SymmetricKey; } // namespace crypto namespace syncer { class KeyDerivationParams; // A (partial) implementation of Nigori, a protocol to securely store secrets in // the cloud. This implementation does not support server authentication or // assisted key derivation. // // To store secrets securely, use the |GetKeyName| method to derive a lookup // name for your secret (basically a map key), and |Encrypt| and |Decrypt| to // store and retrieve the secret. // // https://www.cl.cam.ac.uk/~drt24/nigori/nigori-overview.pdf class Nigori { … }; } // namespace syncer #endif // COMPONENTS_SYNC_ENGINE_NIGORI_NIGORI_H_