crypto/weakcrypto/source/pbe/pbencryptorset.cpp
branchRCL_3
changeset 62 a71299154b21
parent 61 641f389e9157
child 63 94225563cd41
--- a/crypto/weakcrypto/source/pbe/pbencryptorset.cpp	Tue Aug 31 17:00:08 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,217 +0,0 @@
-/*
-* Copyright (c) 2002-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 <e32std.h>
-#include <random.h>
-
-#include "pbencryptor.h"
-#include "pbesymmetricfactory.h"
-
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-/** The maximum block size supported (in bytes) */
-const TUint KMaxBlockSizeSupported = 32;
-#endif
-
-EXPORT_C CPBEncryptorSet* CPBEncryptorSet::NewL(
-	const TPBECipher aCipher, const TDesC8& aKey) 
-	{
-	CPBEncryptorSet* self = NewLC(aCipher, aKey);
-	CleanupStack::Pop();
-	return self;
-	}
-
-EXPORT_C CPBEncryptorSet* CPBEncryptorSet::NewLC(
-	const TPBECipher aCipher, const TDesC8& aKey)
-	{
-	CPBEncryptorSet* self = new(ELeave) CPBEncryptorSet;
-	CleanupStack::PushL(self);
-
-	self->ConstructL(aCipher, aKey);
-	
-	return self;
-	}
-
-void CPBEncryptorSet::ConstructL(const TPBECipher aCipher,const TDesC8& aKey)
-	{
-	TInt blocksize = PBE::GetBlockBytes(aCipher);
-	iIV = HBufC8::NewMaxL(blocksize); 
-	TPtr8 iv = iIV->Des();
-	TRandom::RandomL(iv);
-
-	iCipher = PBE::MakeEncryptorL(aCipher, aKey, iv);
-	}
-
-void CPBEncryptorSet::Process(const TDesC8& aInput, TDes8& aOutput)
-	{
-	if(!iIVSent)
-		{
-		aOutput.Append(*iIV);
-		iIVSent = ETrue;
-		}
-	iCipher->Process(aInput, aOutput);
-	}
-
-void CPBEncryptorSet::ProcessFinalL(const TDesC8& aInput, 
-	TDes8& aOutput)
-	{
-	if(!iIVSent)
-		{
-		aOutput.Append(*iIV);
-		iIVSent = ETrue;
-		}
-	
-	iCipher->ProcessFinalL(aInput, aOutput);
-	}
-
-
-CPBEncryptorSet::CPBEncryptorSet() : iIVSent(EFalse)
-	{
-	}
-
-CPBEncryptorSet::~CPBEncryptorSet()
-	{
-	delete iIV;
-	delete iCipher;	//	Don't delete iCBCDecryptor, this belongs to iCipher
-	}
-
-TInt CPBEncryptorSet::MaxOutputLength(TUint aMaxInputLength) const
-    {
-	if(iIVSent)
-		{
-		return (iCipher->MaxOutputLength(aMaxInputLength));
-		}
-	else 
-		{//	If we've not sent the iv yet then its the length 
-		//	from the cipher plus a blocksize for the iv
-		return (iCipher->MaxOutputLength(aMaxInputLength + iCipher->BlockSize()));
-		}
-    }
-
-TInt CPBEncryptorSet::MaxFinalOutputLength(TUint aMaxInputLength) const
-    {
-	if(iIVSent)
-		{
-		return (iCipher->MaxFinalOutputLength(aMaxInputLength));
-		}
-	else 
-		{//	If we've not sent the iv yet then its the length 
-		//	from the cipher plus a blocksize for the iv
-		return (iCipher->MaxFinalOutputLength(aMaxInputLength + iCipher->BlockSize()));
-		}
-    }
-
-EXPORT_C CPBDecryptorSet* CPBDecryptorSet::NewL(const TPBECipher aCipher, 
-	const TDesC8& aKey)
-	{
-	CPBDecryptorSet* self = NewLC(aCipher, aKey);
-	CleanupStack::Pop();
-	return self;
-	}
-
-EXPORT_C CPBDecryptorSet* CPBDecryptorSet::NewLC(const TPBECipher aCipher,
-	const TDesC8& aKey)
-	{
-	CPBDecryptorSet* self = new(ELeave) CPBDecryptorSet;
-	CleanupStack::PushL(self);
-	TBuf8<KMaxBlockSizeSupported> fakeIV;
-	fakeIV.SetLength(PBE::GetBlockBytes(aCipher));
-	self->ConstructL(aCipher, aKey, fakeIV);
-	return self;
-	}
-
-void CPBDecryptorSet::ConstructL(const TPBECipher aCipher, 
-	const TDesC8& aKey, const TDesC8& aIV)
-	{
-	iCipher = PBE::MakeDecryptorL(aCipher, aKey, aIV);
-	iIVBuf = HBufC8::NewL(PBE::GetBlockBytes(aCipher));
-	}
-
-void CPBDecryptorSet::Process(const TDesC8& aInput, TDes8& aOutput)
-	{
-	TPtrC8 input = ProcessIV(aInput);
-	iCipher->Process(input, aOutput);
-	}
-
-void CPBDecryptorSet::ProcessFinalL(const TDesC8& aInput, TDes8& aOutput)
-	{
-	TPtrC8 input = ProcessIV(aInput);
-	iCipher->ProcessFinalL(input, aOutput);
-	}
-
-TPtrC8 CPBDecryptorSet::ProcessIV(const TDesC8& aInput)
-	{
-	if(!iIVSent)
-		{
-		TPtr8 iIVBufPtr(iIVBuf->Des());
-		if(aInput.Length() + iIVBufPtr.Length() < iCipher->BlockSize())
-			{
-			iIVBufPtr.Append(aInput);
-			return TPtrC8();
-			}
-		else 
-			{
-			TInt rem = iCipher->BlockSize() - iIVBufPtr.Length();
-			iIVBufPtr.Append(aInput.Mid(0, rem));
-			CBufferedDecryptor* blockDecryptor = static_cast<CBufferedDecryptor*>(iCipher);
-			static_cast<CModeCBCDecryptor*>(blockDecryptor->BlockTransformer())->SetIV(iIVBufPtr);
-			iIVSent = ETrue;
-			return aInput.Mid(rem);
-			}
-		}
-	else 
-		{
-		return aInput;
-		}
-	}
-
-CPBDecryptorSet::CPBDecryptorSet() : iIVSent(EFalse)
-	{
-	}
-
-CPBDecryptorSet::~CPBDecryptorSet()
-	{
-	delete iCipher;
-	//iCipher owns iCBCDecryptor we _don't_ need to delete it
-	delete iIVBuf;
-	}
-
-TInt CPBDecryptorSet::MaxOutputLength(TUint aMaxInputLength) const
-    {
-	if(iIVSent)
-		{
-		return (iCipher->MaxOutputLength(aMaxInputLength));
-		}
-	else	//	if we haven't sent the iv yet, then the length the max length of the
-		{	//	cipher minus a BlockSize where the IV was sitting (as the iv would be part
-			//	of the length they've sent us)
-		return (iCipher->MaxOutputLength(aMaxInputLength - iCipher->BlockSize()));
-		}
-    }
-
-TInt CPBDecryptorSet::MaxFinalOutputLength(TUint aMaxInputLength) const
-    {
-	if(iIVSent)
-		{
-		return (iCipher->MaxFinalOutputLength(aMaxInputLength));
-		}
-	else	//	if we haven't sent the iv yet, then the length the max length of the
-		{	//	cipher minus a BlockSize where the IV was sitting (as the iv would be part
-			//	of the length they've sent us)
-		return (iCipher->MaxFinalOutputLength(aMaxInputLength - iCipher->BlockSize()));
-		}
-    }