aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-03-02 03:34:51 +0000
committerlloyd <[email protected]>2010-03-02 03:34:51 +0000
commit70d72cc1a843bb5e60c5f6ab27f2f3226f1333a3 (patch)
treeba565fbf454b9d6855de2c2f991087161cab5ffe /src
parent19e77947ee00b4db6b732ef3dabfdbb9ee2adfd6 (diff)
Rename ECKAEG to ECDH. As far as I can tell they are the same algorithm,
I'm not sure where the old name came from though as literally the only hits for it on Google are botan-related.
Diffstat (limited to 'src')
-rw-r--r--src/pubkey/ecdh/ecdh.cpp (renamed from src/pubkey/eckaeg/eckaeg.cpp)26
-rw-r--r--src/pubkey/ecdh/ecdh.h (renamed from src/pubkey/eckaeg/eckaeg.h)38
-rw-r--r--src/pubkey/ecdh/info.txt (renamed from src/pubkey/eckaeg/info.txt)2
3 files changed, 35 insertions, 31 deletions
diff --git a/src/pubkey/eckaeg/eckaeg.cpp b/src/pubkey/ecdh/ecdh.cpp
index 95b5afdbb..2ddc371b2 100644
--- a/src/pubkey/eckaeg/eckaeg.cpp
+++ b/src/pubkey/ecdh/ecdh.cpp
@@ -1,5 +1,5 @@
/*
-* ECKAEG implemenation
+* ECDH implemenation
* (C) 2007 Manuel Hartl, FlexSecure GmbH
* 2007 Falko Strenzke, FlexSecure GmbH
* 2008-2010 Jack Lloyd
@@ -7,22 +7,24 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/eckaeg.h>
+#include <botan/ecdh.h>
+
+#include <iostream>
namespace Botan {
-ECKAEG_PublicKey::ECKAEG_PublicKey(const EC_Domain_Params& dom_par,
- const PointGFp& pub_point)
+ECDH_PublicKey::ECDH_PublicKey(const EC_Domain_Params& dom_par,
+ const PointGFp& pub_point)
{
domain_params = dom_par;
public_key = pub_point;
if(domain().get_curve() != public_point().get_curve())
- throw Invalid_Argument("ECKAEG_PublicKey: curve mismatch in constructor");
+ throw Invalid_Argument("ECDH_PublicKey: curve mismatch in constructor");
}
-ECKAEG_PrivateKey::ECKAEG_PrivateKey(RandomNumberGenerator& rng,
- const EC_Domain_Params& dom_pars)
+ECDH_PrivateKey::ECDH_PrivateKey(RandomNumberGenerator& rng,
+ const EC_Domain_Params& dom_pars)
{
domain_params = dom_pars;
generate_private_key(rng);
@@ -31,8 +33,8 @@ ECKAEG_PrivateKey::ECKAEG_PrivateKey(RandomNumberGenerator& rng,
/**
* Derive a key
*/
-SecureVector<byte> ECKAEG_PrivateKey::derive_key(const byte key[],
- u32bit key_len) const
+SecureVector<byte> ECDH_PrivateKey::derive_key(const byte key[],
+ u32bit key_len) const
{
MemoryVector<byte> key_x(key, key_len); // FIXME: nasty/slow
PointGFp point = OS2ECP(key_x, public_point().get_curve());
@@ -43,7 +45,7 @@ SecureVector<byte> ECKAEG_PrivateKey::derive_key(const byte key[],
/**
* Derive a key
*/
-SecureVector<byte> ECKAEG_PrivateKey::derive_key(const ECKAEG_PublicKey& key) const
+SecureVector<byte> ECDH_PrivateKey::derive_key(const ECDH_PublicKey& key) const
{
return derive_key(key.public_point());
}
@@ -51,7 +53,7 @@ SecureVector<byte> ECKAEG_PrivateKey::derive_key(const ECKAEG_PublicKey& key) co
/**
* Derive a key
*/
-SecureVector<byte> ECKAEG_PrivateKey::derive_key(const PointGFp& point) const
+SecureVector<byte> ECDH_PrivateKey::derive_key(const PointGFp& point) const
{
const BigInt& cofactor = domain().get_cofactor();
const BigInt& n = domain().get_order();
@@ -61,6 +63,8 @@ SecureVector<byte> ECKAEG_PrivateKey::derive_key(const PointGFp& point) const
PointGFp S = (cofactor * point) * (private_value() * l);
S.check_invariants();
+ //PointGFp S = point * private_value();
+
return BigInt::encode_1363(S.get_affine_x(),
point.get_curve().get_p().bytes());
}
diff --git a/src/pubkey/eckaeg/eckaeg.h b/src/pubkey/ecdh/ecdh.h
index 6bc4340ac..632083dcc 100644
--- a/src/pubkey/eckaeg/eckaeg.h
+++ b/src/pubkey/ecdh/ecdh.h
@@ -1,5 +1,5 @@
/*
-* ECKAEG
+* ECDH
* (C) 2007 Falko Strenzke, FlexSecure GmbH
* Manuel Hartl, FlexSecure GmbH
* (C) 2008-2010 Jack Lloyd
@@ -7,17 +7,17 @@
* Distributed under the terms of the Botan license
*/
-#ifndef BOTAN_ECKAEG_KEY_H__
-#define BOTAN_ECKAEG_KEY_H__
+#ifndef BOTAN_ECDH_KEY_H__
+#define BOTAN_ECDH_KEY_H__
#include <botan/ecc_key.h>
namespace Botan {
/**
-* This class represents ECKAEG Public Keys.
+* This class represents ECDH Public Keys.
*/
-class BOTAN_DLL ECKAEG_PublicKey : public virtual EC_PublicKey
+class BOTAN_DLL ECDH_PublicKey : public virtual EC_PublicKey
{
public:
@@ -25,21 +25,21 @@ class BOTAN_DLL ECKAEG_PublicKey : public virtual EC_PublicKey
* Get this keys algorithm name.
* @result this keys algorithm name
*/
- std::string algo_name() const { return "ECKAEG"; }
+ std::string algo_name() const { return "ECDH"; }
/**
* Default constructor. Use this one if you want to later fill
* this object with data from an encoded key.
*/
- ECKAEG_PublicKey() {}
+ ECDH_PublicKey() {}
/**
* Construct a public key from a given public point.
* @param dom_par the domain parameters associated with this key
* @param public_point the public point defining this key
*/
- ECKAEG_PublicKey(const EC_Domain_Params& dom_par,
- const PointGFp& public_point);
+ ECDH_PublicKey(const EC_Domain_Params& dom_par,
+ const PointGFp& public_point);
/**
* Get the maximum number of bits allowed to be fed to this key.
@@ -51,11 +51,11 @@ class BOTAN_DLL ECKAEG_PublicKey : public virtual EC_PublicKey
};
/**
-* This class represents ECKAEG Private Keys.
+* This class represents ECDH Private Keys.
*/
-class BOTAN_DLL ECKAEG_PrivateKey : public ECKAEG_PublicKey,
- public EC_PrivateKey,
- public PK_Key_Agreement_Key
+class BOTAN_DLL ECDH_PrivateKey : public ECDH_PublicKey,
+ public EC_PrivateKey,
+ public PK_Key_Agreement_Key
{
public:
@@ -63,14 +63,14 @@ class BOTAN_DLL ECKAEG_PrivateKey : public ECKAEG_PublicKey,
* Generate a new private key
* @param the domain parameters to used for this key
*/
- ECKAEG_PrivateKey(RandomNumberGenerator& rng,
- const EC_Domain_Params& dom_pars);
+ ECDH_PrivateKey(RandomNumberGenerator& rng,
+ const EC_Domain_Params& dom_pars);
/**
- * Default constructor. Use this one if you want to later fill this object with data
- * from an encoded key.
+ * Default constructor. Use this one if you want to later fill
+ * this object with data from an encoded key.
*/
- ECKAEG_PrivateKey() {}
+ ECDH_PrivateKey() {}
MemoryVector<byte> public_value() const
{ return EC2OSP(public_point(), PointGFp::UNCOMPRESSED); }
@@ -86,7 +86,7 @@ class BOTAN_DLL ECKAEG_PrivateKey : public ECKAEG_PublicKey,
* Derive a shared key with the other parties public key.
* @param other the other partys public key
*/
- SecureVector<byte> derive_key(const ECKAEG_PublicKey& other) const;
+ SecureVector<byte> derive_key(const ECDH_PublicKey& other) const;
/**
* Derive a shared key with the other parties public key.
diff --git a/src/pubkey/eckaeg/info.txt b/src/pubkey/ecdh/info.txt
index cac352a2a..12826c81b 100644
--- a/src/pubkey/eckaeg/info.txt
+++ b/src/pubkey/ecdh/info.txt
@@ -1,4 +1,4 @@
-define ECKAEG
+define ECDH
<requires>
alloc