#include "components/trusted_vault/trusted_vault_crypto.h"
#include "base/check_op.h"
#include "components/trusted_vault/securebox.h"
#include "crypto/hmac.h"
namespace trusted_vault {
namespace {
const size_t kHMACDigestLength = …;
const uint8_t kWrappedKeyHeader[] = …;
}
std::optional<std::vector<uint8_t>> DecryptTrustedVaultWrappedKey(
const SecureBoxPrivateKey& private_key,
base::span<const uint8_t> wrapped_key) { … }
std::vector<uint8_t> ComputeTrustedVaultWrappedKey(
const SecureBoxPublicKey& public_key,
base::span<const uint8_t> trusted_vault_key) { … }
std::vector<uint8_t> ComputeMemberProof(
const SecureBoxPublicKey& key,
const std::vector<uint8_t>& trusted_vault_key) { … }
bool VerifyMemberProof(const SecureBoxPublicKey& key,
const std::vector<uint8_t>& trusted_vault_key,
const std::vector<uint8_t>& member_proof) { … }
std::vector<uint8_t> ComputeRotationProofForTesting(
const std::vector<uint8_t>& trusted_vault_key,
const std::vector<uint8_t>& prev_trusted_vault_key) { … }
bool VerifyRotationProof(const std::vector<uint8_t>& trusted_vault_key,
const std::vector<uint8_t>& prev_trusted_vault_key,
const std::vector<uint8_t>& rotation_proof) { … }
}