diff --git a/presence/implementation/BUILD b/presence/implementation/BUILD index f3038e6a..24bd7761 100644 --- a/presence/implementation/BUILD +++ b/presence/implementation/BUILD @@ -71,7 +71,6 @@ cc_library( "@com_google_absl//absl/time", "@com_google_absl//absl/types:optional", "@com_google_absl//absl/types:variant", - "@com_google_tink//subtle", ], ) diff --git a/presence/implementation/encryption.cc b/presence/implementation/encryption.cc index 37eeffff..56eb2c52 100644 --- a/presence/implementation/encryption.cc +++ b/presence/implementation/encryption.cc @@ -21,19 +21,14 @@ #include "absl/status/status.h" #include "absl/status/statusor.h" #include "absl/strings/str_format.h" -#include "internal/platform/logging.h" +#include "internal/crypto/hkdf.h" +#include "internal/crypto/random.h" #include // NOLINT -#include -#include // NOLINT -#include "tink/subtle/hkdf.h" -#include "tink/subtle/random.h" +#include // NOLINT namespace nearby { namespace presence { -using ::crypto::tink::subtle::HashType; -using ::crypto::tink::subtle::Hkdf; -using ::crypto::tink::subtle::Random; constexpr int kAuthenticityKeyByteSize = 16; constexpr int kMetadataKeyMaxSize = 16; constexpr int kAesCtrIvSize = 16; @@ -41,15 +36,16 @@ constexpr int kSaltSize = 2; std::string Encryption::CustomizeBytesSize(absl::string_view bytes, size_t len) { - auto result = - Hkdf::ComputeHkdf(HashType::SHA256, /*ikm=*/bytes, - /*salt=*/std::string(kAuthenticityKeyByteSize, 0), - /*info=*/"", /*out_len=*/len); - return result.value(); + return ::crypto::HkdfSha256(/*ikm=*/bytes, + /*salt=*/std::string(kAuthenticityKeyByteSize, 0), + /*info=*/"", /*derived_key_size=*/len); } std::string Encryption::GenerateRandomByteArray(size_t len) { - return Random::GetRandomBytes(len); + std::string buffer(len, 0); + ::crypto::RandBytes( + absl::MakeSpan(reinterpret_cast(buffer.data()), buffer.size())); + return buffer; } absl::StatusOr Encryption::RunMetadataEncryption(