aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/test_ecdh.cpp
diff options
context:
space:
mode:
authorlloyd <[email protected]>2014-01-05 06:23:21 +0000
committerlloyd <[email protected]>2014-01-05 06:23:21 +0000
commitc431fb65b883a0a5fa060ea7caace0aca3628ec6 (patch)
tree09898d2307801bffa7e1aeee9251d57ed4837870 /src/tests/test_ecdh.cpp
parent052345203b67eb5cacacd5659ec9837eeb59af35 (diff)
Split up public key tests and data, use new test framework
Diffstat (limited to 'src/tests/test_ecdh.cpp')
-rw-r--r--src/tests/test_ecdh.cpp132
1 files changed, 0 insertions, 132 deletions
diff --git a/src/tests/test_ecdh.cpp b/src/tests/test_ecdh.cpp
deleted file mode 100644
index 5eb5da586..000000000
--- a/src/tests/test_ecdh.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-* ECDH tests
-*
-* (C) 2007 Manuel Hartl ([email protected])
-* 2008 Jack Lloyd
-*
-* Distributed under the terms of the Botan license
-*/
-
-#include "tests.h"
-
-#include <iostream>
-#include <fstream>
-
-#include <botan/auto_rng.h>
-#include <botan/pubkey.h>
-#include <botan/ecdh.h>
-#include <botan/x509self.h>
-#include <botan/der_enc.h>
-
-using namespace Botan;
-
-#define CHECK_MESSAGE(expr, print) try { if(!(expr)) { ++fails; std::cout << print << "\n"; } } catch(std::exception& e) { std::cout << __FUNCTION__ << ": " << e.what() << "\n"; }
-#define CHECK(expr) try { if(!(expr)) { ++fails; std::cout << #expr << "\n"; } } catch(std::exception& e) { std::cout << __FUNCTION__ << ": " << e.what() << "\n"; }
-
-namespace {
-
-size_t test_ecdh_normal_derivation(RandomNumberGenerator& rng)
- {
- size_t fails = 0;
-
- EC_Group dom_pars(OID("1.3.132.0.8"));
-
- ECDH_PrivateKey private_a(rng, dom_pars);
-
- ECDH_PrivateKey private_b(rng, dom_pars); //public_a.getCurve()
-
- PK_Key_Agreement ka(private_a, "KDF2(SHA-1)");
- PK_Key_Agreement kb(private_b, "KDF2(SHA-1)");
-
- SymmetricKey alice_key = ka.derive_key(32, private_b.public_value());
- SymmetricKey bob_key = kb.derive_key(32, private_a.public_value());
-
- if(alice_key != bob_key)
- {
- std::cout << "The two keys didn't match!\n";
- std::cout << "Alice's key was: " << alice_key.as_string() << "\n";
- std::cout << "Bob's key was: " << bob_key.as_string() << "\n";
- ++fails;
- }
-
- return fails;
- }
-
-size_t test_ecdh_some_dp(RandomNumberGenerator& rng)
- {
- size_t fails = 0;
-
- std::vector<std::string> oids;
- oids.push_back("1.2.840.10045.3.1.7");
- oids.push_back("1.3.132.0.8");
- oids.push_back("1.2.840.10045.3.1.1");
-
- for(u32bit i = 0; i< oids.size(); i++)
- {
- OID oid(oids[i]);
- EC_Group dom_pars(oid);
-
- ECDH_PrivateKey private_a(rng, dom_pars);
- ECDH_PrivateKey private_b(rng, dom_pars);
-
- PK_Key_Agreement ka(private_a, "KDF2(SHA-1)");
- PK_Key_Agreement kb(private_b, "KDF2(SHA-1)");
-
- SymmetricKey alice_key = ka.derive_key(32, private_b.public_value());
- SymmetricKey bob_key = kb.derive_key(32, private_a.public_value());
-
- CHECK_MESSAGE(alice_key == bob_key, "different keys - " << "Alice's key was: " << alice_key.as_string() << ", Bob's key was: " << bob_key.as_string());
- }
-
- return fails;
- }
-
-size_t test_ecdh_der_derivation(RandomNumberGenerator& rng)
- {
- size_t fails = 0;
-
- std::vector<std::string> oids;
- oids.push_back("1.2.840.10045.3.1.7");
- oids.push_back("1.3.132.0.8");
- oids.push_back("1.2.840.10045.3.1.1");
-
- for(u32bit i = 0; i< oids.size(); i++)
- {
- OID oid(oids[i]);
- EC_Group dom_pars(oid);
-
- ECDH_PrivateKey private_a(rng, dom_pars);
- ECDH_PrivateKey private_b(rng, dom_pars);
-
- std::vector<byte> key_a = private_a.public_value();
- std::vector<byte> key_b = private_b.public_value();
-
- PK_Key_Agreement ka(private_a, "KDF2(SHA-1)");
- PK_Key_Agreement kb(private_b, "KDF2(SHA-1)");
-
- SymmetricKey alice_key = ka.derive_key(32, key_b);
- SymmetricKey bob_key = kb.derive_key(32, key_a);
-
- CHECK_MESSAGE(alice_key == bob_key, "different keys - " << "Alice's key was: " << alice_key.as_string() << ", Bob's key was: " << bob_key.as_string());
-
- }
-
- return fails;
- }
-
-}
-
-size_t test_ecdh()
- {
- size_t fails = 0;
-
- AutoSeeded_RNG rng;
-
- fails += test_ecdh_normal_derivation(rng);
- fails += test_ecdh_some_dp(rng);
- fails += test_ecdh_der_derivation(rng);
-
- test_report("ECDH", 3, fails);
-
- return fails;
- }