1*6777b538SAndroid Build Coastguard Worker // Copyright 2013 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #ifndef CRYPTO_HKDF_H_ 6*6777b538SAndroid Build Coastguard Worker #define CRYPTO_HKDF_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #include <stddef.h> 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Worker #include <string> 11*6777b538SAndroid Build Coastguard Worker #include <string_view> 12*6777b538SAndroid Build Coastguard Worker #include <vector> 13*6777b538SAndroid Build Coastguard Worker 14*6777b538SAndroid Build Coastguard Worker #include "base/containers/span.h" 15*6777b538SAndroid Build Coastguard Worker #include "crypto/crypto_export.h" 16*6777b538SAndroid Build Coastguard Worker 17*6777b538SAndroid Build Coastguard Worker namespace crypto { 18*6777b538SAndroid Build Coastguard Worker 19*6777b538SAndroid Build Coastguard Worker CRYPTO_EXPORT 20*6777b538SAndroid Build Coastguard Worker std::string HkdfSha256(std::string_view secret, 21*6777b538SAndroid Build Coastguard Worker std::string_view salt, 22*6777b538SAndroid Build Coastguard Worker std::string_view info, 23*6777b538SAndroid Build Coastguard Worker size_t derived_key_size); 24*6777b538SAndroid Build Coastguard Worker 25*6777b538SAndroid Build Coastguard Worker CRYPTO_EXPORT 26*6777b538SAndroid Build Coastguard Worker std::vector<uint8_t> HkdfSha256(base::span<const uint8_t> secret, 27*6777b538SAndroid Build Coastguard Worker base::span<const uint8_t> salt, 28*6777b538SAndroid Build Coastguard Worker base::span<const uint8_t> info, 29*6777b538SAndroid Build Coastguard Worker size_t derived_key_size); 30*6777b538SAndroid Build Coastguard Worker 31*6777b538SAndroid Build Coastguard Worker } // namespace crypto 32*6777b538SAndroid Build Coastguard Worker 33*6777b538SAndroid Build Coastguard Worker #endif // CRYPTO_HKDF_H_ 34