crypto/weakcrypto/source/asymmetric/dhkeys.cpp
branchRCL_3
changeset 62 a71299154b21
parent 61 641f389e9157
child 63 94225563cd41
--- a/crypto/weakcrypto/source/asymmetric/dhkeys.cpp	Tue Aug 31 17:00:08 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-/*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-
-#include <asymmetrickeys.h>
-#include <bigint.h>
-
-/* CDHParameters */
-EXPORT_C const TInteger& CDHParameters::N(void) const
-	{
-	return iN;
-	}
-
-EXPORT_C const TInteger& CDHParameters::G(void) const
-	{
-	return iG;
-	}
-
-EXPORT_C CDHParameters::~CDHParameters(void)
-	{
-	iN.Close();
-	iG.Close();
-	}
-
-EXPORT_C CDHParameters::CDHParameters(RInteger& aN, RInteger& aG) : iN(aN), iG(aG)
-	{
-	}
-
-EXPORT_C CDHParameters::CDHParameters(void)
-	{
-	}
-
-/* CDHPublicKey */
-EXPORT_C CDHPublicKey* CDHPublicKey::NewL(RInteger& aN, RInteger& aG, 
-	RInteger& aX)
-	{
-	CDHPublicKey* self = new(ELeave) CDHPublicKey(aN, aG, aX);
-	return self;
-	}
-
-EXPORT_C CDHPublicKey* CDHPublicKey::NewLC(RInteger& aN, RInteger& aG, 
-	RInteger& aX)
-	{
-	CDHPublicKey* self = NewL(aN, aG, aX);
-	CleanupStack::PushL(self);
-	return self;
-	}
-
-EXPORT_C const TInteger& CDHPublicKey::X(void) const
-	{
-	return iX;
-	}
-
-EXPORT_C CDHPublicKey::CDHPublicKey(RInteger& aN, RInteger& aG, RInteger& aX)
-	: CDHParameters(aN, aG), iX(aX)
-	{
-	}
-
-EXPORT_C CDHPublicKey::CDHPublicKey(void)
-	{
-	}
-
-EXPORT_C CDHPublicKey::~CDHPublicKey(void)
-	{
-	iX.Close();
-	}
-
-/* CDHPrivateKey */
-EXPORT_C CDHPrivateKey* CDHPrivateKey::NewL(RInteger& aN, RInteger& aG, 
-	RInteger& ax)
-	{
-	CDHPrivateKey* self = new(ELeave) CDHPrivateKey(aN, aG, ax);
-	return self;
-	}
-
-EXPORT_C CDHPrivateKey* CDHPrivateKey::NewLC(RInteger& aN, RInteger& aG, 
-	RInteger& ax)
-	{
-	CDHPrivateKey* self = NewL(aN, aG, ax);
-	CleanupStack::PushL(self);
-	return self;
-	}
-
-EXPORT_C const TInteger& CDHPrivateKey::x(void) const
-	{
-	return ix;
-	}
-
-EXPORT_C CDHPrivateKey::CDHPrivateKey(RInteger& aN, RInteger& aG, RInteger& ax)
-	: CDHParameters(aN, aG), ix(ax)
-	{
-	}
-
-EXPORT_C CDHPrivateKey::CDHPrivateKey(void)
-	{
-	}
-
-EXPORT_C CDHPrivateKey::~CDHPrivateKey(void)
-	{
-	ix.Close();
-	}
-
-/* CDHKeyPair */
-
-EXPORT_C CDHKeyPair* CDHKeyPair::NewL(RInteger& aN, RInteger& aG)
-	{
-	CDHKeyPair* self = NewLC(aN, aG);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CDHKeyPair* CDHKeyPair::NewLC(RInteger& aN, RInteger& aG)
-	{
-	CDHKeyPair* self = new(ELeave) CDHKeyPair();
-	CleanupStack::PushL(self);
-	self->ConstructL(aN, aG);
-	return self;
-	}
-
-EXPORT_C CDHKeyPair* CDHKeyPair::NewL(RInteger& aN, RInteger& aG, RInteger& ax)
-	{
-	CDHKeyPair* self = NewLC(aN, aG, ax);
-	CleanupStack::Pop(self);
-	return self;
-	}
-
-EXPORT_C CDHKeyPair* CDHKeyPair::NewLC(RInteger& aN, RInteger& aG, RInteger& ax)
-	{
-	CDHKeyPair* self = new(ELeave) CDHKeyPair();
-	CleanupStack::PushL(self);
-	self->ConstructL(aN, aG, ax);
-	return self;
-	}
-
-EXPORT_C const CDHPublicKey& CDHKeyPair::PublicKey(void) const
-	{
-	return *iPublic;
-	}
-
-EXPORT_C const CDHPrivateKey& CDHKeyPair::PrivateKey(void) const
-	{
-	return *iPrivate;
-	}
-
-EXPORT_C CDHKeyPair::~CDHKeyPair(void)
-	{
-	delete iPublic;
-	delete iPrivate;
-	}
-
-EXPORT_C CDHKeyPair::CDHKeyPair(void)
-	{
-	}	
-
-EXPORT_C void CDHKeyPair::ConstructL(RInteger& aN, RInteger& aG)
-	{
-	//declaring a reference just for clarity in NewRandomL statement
-	RInteger& nminus2 = aN;
-	--nminus2;
-	--nminus2;
-
-	//find a random x | 1 <= x <= n-2
-	RInteger x = RInteger::NewRandomL(TInteger::One(), nminus2);
-	CleanupStack::PushL(x);
-	++nminus2;
-	++nminus2; // reincrement aN
-
-	ConstructL(aN, aG, x);
-
-	CleanupStack::Pop(&x);
-	}
-
-EXPORT_C void CDHKeyPair::ConstructL(RInteger& aN, RInteger& aG, RInteger& ax)
-	{
-	//declaring a reference just for clarity in if statements
-	RInteger& nminus2 = aN;
-	--nminus2;
-	--nminus2;
-	
-	if( aG < TInteger::Two() || aG > nminus2 )
-		{
-		User::Leave(KErrArgument);
-		}
-	//In the case of the other ConstructL calling this function this if
-	//statement is redundant.  However, we need to check as this is can be
-	//called without going through the other api.
-	if( ax < TInteger::One() || ax > nminus2 )
-		{
-		User::Leave(KErrArgument);
-		}
-
-	++nminus2;
-	++nminus2; // reincrement aN
-
-	// Calculate X = g^(x) mod n; (note the case sensitivity)
-	RInteger X = TInteger::ModularExponentiateL(aG, ax, aN);
-	CleanupStack::PushL(X);
-
-	RInteger n1 = RInteger::NewL(aN);
-	CleanupStack::PushL(n1);
-	RInteger g1 = RInteger::NewL(aG);
-	CleanupStack::PushL(g1);
-	iPublic = CDHPublicKey::NewL(n1, g1, X);
-	CleanupStack::Pop(3, &X); // g1, n1, X all owned by iPublic
-	
-	iPrivate = CDHPrivateKey::NewL(aN, aG, ax);
-	}