Index: crypto/hkdf.h |
=================================================================== |
--- crypto/hkdf.h (revision 184145) |
+++ crypto/hkdf.h (working copy) |
@@ -1,64 +0,0 @@ |
-// Copyright (c) 2013 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. |
- |
-#ifndef CRYPTO_HKDF_H_ |
-#define CRYPTO_HKDF_H_ |
- |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/string_piece.h" |
-#include "build/build_config.h" |
-#include "crypto/crypto_export.h" |
- |
-namespace crypto { |
- |
-// HKDF implements the key derivation function specified in RFC 5869 (using |
-// SHA-256) and outputs key material, as needed by QUIC. |
-// See https://tools.ietf.org/html/rfc5869 for details. |
-class CRYPTO_EXPORT HKDF { |
- public: |
- // |secret|: The input shared secret (or, from RFC 5869, the IKM). |
- // |salt|: an (optional) public salt / non-secret random value. While |
- // optional, callers are strongly recommended to provide a salt. There is no |
- // added security value in making this larger than the SHA-256 block size of |
- // 64 bytes. |
- // |info|: an (optional) label to distinguish different uses of HKDF. It is |
- // optional context and application specific information (can be a zero-length |
- // string). |
- // |key_bytes_to_generate|: the number of bytes of key material to generate. |
- // |iv_bytes_to_generate|: the number of bytes of IV to generate. |
- HKDF(const base::StringPiece& secret, |
- const base::StringPiece& salt, |
- const base::StringPiece& info, |
- size_t key_bytes_to_generate, |
- size_t iv_bytes_to_generate); |
- virtual ~HKDF(); |
- |
- base::StringPiece client_write_key() const { |
- return client_write_key_; |
- } |
- base::StringPiece client_write_iv() const { |
- return client_write_iv_; |
- } |
- base::StringPiece server_write_key() const { |
- return server_write_key_; |
- } |
- base::StringPiece server_write_iv() const { |
- return server_write_iv_; |
- } |
- |
- private: |
- std::vector<uint8> output_; |
- |
- base::StringPiece client_write_key_; |
- base::StringPiece server_write_key_; |
- base::StringPiece client_write_iv_; |
- base::StringPiece server_write_iv_; |
-}; |
- |
-} // namespace crypto |
- |
-#endif // CRYPTO_HKDF_H_ |