aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/pbkdf
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/pbkdf')
-rw-r--r--src/lib/pbkdf/pbkdf.cpp13
-rw-r--r--src/lib/pbkdf/pbkdf1/info.txt7
-rw-r--r--src/lib/pbkdf/pbkdf1/pbkdf1.cpp54
-rw-r--r--src/lib/pbkdf/pbkdf1/pbkdf1.h53
4 files changed, 0 insertions, 127 deletions
diff --git a/src/lib/pbkdf/pbkdf.cpp b/src/lib/pbkdf/pbkdf.cpp
index 73b482725..1434ec183 100644
--- a/src/lib/pbkdf/pbkdf.cpp
+++ b/src/lib/pbkdf/pbkdf.cpp
@@ -9,10 +9,6 @@
#include <botan/exceptn.h>
#include <botan/scan_name.h>
-#if defined(BOTAN_HAS_PBKDF1)
-#include <botan/pbkdf1.h>
-#endif
-
#if defined(BOTAN_HAS_PBKDF2)
#include <botan/pbkdf2.h>
#endif
@@ -46,15 +42,6 @@ std::unique_ptr<PBKDF> PBKDF::create(const std::string& algo_spec,
}
#endif
-#if defined(BOTAN_HAS_PBKDF1)
- if(req.algo_name() == "PBKDF1" && req.arg_count() == 1)
- {
- if(auto hash = HashFunction::create(req.arg(0)))
- return std::unique_ptr<PBKDF>(new PKCS5_PBKDF1(hash.release()));
-
- }
-#endif
-
#if defined(BOTAN_HAS_PGP_S2K)
if(req.algo_name() == "OpenPGP-S2K" && req.arg_count() == 1)
{
diff --git a/src/lib/pbkdf/pbkdf1/info.txt b/src/lib/pbkdf/pbkdf1/info.txt
deleted file mode 100644
index e4b972e4b..000000000
--- a/src/lib/pbkdf/pbkdf1/info.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-<defines>
-PBKDF1 -> 20131128
-</defines>
-
-<requires>
-hash
-</requires>
diff --git a/src/lib/pbkdf/pbkdf1/pbkdf1.cpp b/src/lib/pbkdf/pbkdf1/pbkdf1.cpp
deleted file mode 100644
index ad922ce9c..000000000
--- a/src/lib/pbkdf/pbkdf1/pbkdf1.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-* PBKDF1
-* (C) 1999-2007 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#include <botan/pbkdf1.h>
-#include <botan/exceptn.h>
-
-namespace Botan {
-
-size_t PKCS5_PBKDF1::pbkdf(uint8_t output_buf[], size_t output_len,
- const std::string& passphrase,
- const uint8_t salt[], size_t salt_len,
- size_t iterations,
- std::chrono::milliseconds msec) const
- {
- if(output_len > m_hash->output_length())
- throw Invalid_Argument("PKCS5_PBKDF1: Requested output length too long");
-
- m_hash->update(passphrase);
- m_hash->update(salt, salt_len);
- secure_vector<uint8_t> key = m_hash->final();
-
- const auto start = std::chrono::high_resolution_clock::now();
- size_t iterations_performed = 1;
-
- while(true)
- {
- if(iterations == 0)
- {
- if(iterations_performed % 10000 == 0)
- {
- auto time_taken = std::chrono::high_resolution_clock::now() - start;
- auto msec_taken = std::chrono::duration_cast<std::chrono::milliseconds>(time_taken);
- if(msec_taken > msec)
- break;
- }
- }
- else if(iterations_performed == iterations)
- break;
-
- m_hash->update(key);
- m_hash->final(key.data());
-
- ++iterations_performed;
- }
-
- copy_mem(output_buf, key.data(), output_len);
- return iterations_performed;
- }
-
-}
diff --git a/src/lib/pbkdf/pbkdf1/pbkdf1.h b/src/lib/pbkdf/pbkdf1/pbkdf1.h
deleted file mode 100644
index f5e95b836..000000000
--- a/src/lib/pbkdf/pbkdf1/pbkdf1.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-* PBKDF1
-* (C) 1999-2007 Jack Lloyd
-*
-* Botan is released under the Simplified BSD License (see license.txt)
-*/
-
-#ifndef BOTAN_PBKDF1_H_
-#define BOTAN_PBKDF1_H_
-
-#include <botan/pbkdf.h>
-#include <botan/hash.h>
-
-BOTAN_FUTURE_INTERNAL_HEADER(pbkdf1.h)
-
-namespace Botan {
-
-/**
-* PKCS #5 v1 PBKDF, aka PBKDF1
-* Can only generate a key up to the size of the hash output.
-* Unless needed for backwards compatibility, use PKCS5_PBKDF2
-*/
-class BOTAN_PUBLIC_API(2,0) PKCS5_PBKDF1 final : public PBKDF
- {
- public:
- /**
- * Create a PKCS #5 instance using the specified hash function.
- * @param hash pointer to a hash function object to use
- */
- explicit PKCS5_PBKDF1(HashFunction* hash) : m_hash(hash) {}
-
- std::string name() const override
- {
- return "PBKDF1(" + m_hash->name() + ")";
- }
-
- PBKDF* clone() const override
- {
- return new PKCS5_PBKDF1(m_hash->clone());
- }
-
- size_t pbkdf(uint8_t output_buf[], size_t output_len,
- const std::string& passphrase,
- const uint8_t salt[], size_t salt_len,
- size_t iterations,
- std::chrono::milliseconds msec) const override;
- private:
- std::unique_ptr<HashFunction> m_hash;
- };
-
-}
-
-#endif