diff -r 675a964f4eb5 -r 35751d3474b7 crypto/weakcrypto/inc/mode.h --- a/crypto/weakcrypto/inc/mode.h Tue Jul 21 01:04:32 2009 +0100 +++ b/crypto/weakcrypto/inc/mode.h Thu Sep 10 14:01:51 2009 +0300 @@ -1,106 +1,104 @@ -/* -* 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: -* ** IMPORTANT ** PublishedPartner API's in this file are published to 3rd party developers via the -* Symbian website. Changes to these API's should be treated as PublishedAll API changes and the Security TA should be consulted. -* -*/ - - - - -/** - @file - @publishedPartner - @released -*/ - -#ifndef __MODE_H__ -#define __MODE_H__ - -#include "blocktransformation.h" - -/** -* Abstract class defining the use of block transformation objects as block -* chaining modes. -* -* It is initialised with a subclass of CBlockTransformation, -* which it subsequently owns. Calls to its Transform() function will call the -* Transform() function in the underlying CBlockTransformation object, and perform -* the additional transformation for block chaining in that mode. This all means -* that if you want to do, say, AES encryption in CBC mode, you need to construct -* a CAESEncryptor object, then pass it to the CModeCBCEncryptor subclass of -* CBlockChainingMode, and subsequently use the CModeCBCEncryptor object to call -* Transform(). -* -* @publishedPartner -* @released -*/ -class CBlockChainingMode : public CBlockTransformation -{ -public: - virtual void Reset(); - virtual TInt BlockSize() const; - virtual TInt KeySize() const; -public: - /** - * Sets the initialization vector. - * - * @param aIV The initialization vector. The length of this descriptor must be - * the same as the underlying cipher's block size. - */ - virtual void SetIV(const TDesC8& aIV); -protected: - /** Default constructor */ - IMPORT_C CBlockChainingMode(); - /** - * Second phase constructor - * - * This should be called last by derived classes' ContructL()s . - * - * @param aBT A block transformation object - * @param aIV Initialization vector, the length of this descriptor must be - * the same as the underlying cipher's block size. - */ - IMPORT_C void ConstructL(CBlockTransformation* aBT, const TDesC8& aIV); - - /** The destructor frees all resources owned by the object, prior to its destruction. */ - IMPORT_C virtual ~CBlockChainingMode(); -protected: - /** A block transformation object */ - CBlockTransformation* iBT; - - /** - * A buffer containing the feedback register - * - * This must equal the underlying cipher's block size in length. - * Initially this register is filled with the initialization vector. - */ - HBufC8* iRegisterBuf; - - /** Encapsulates a pointer to iRegisterBuf */ - TPtr8 iRegister; - - /** - * A buffer containing the Initialisation Vector (IV) - * - * This must equal the underlying cipher's block size in length. - */ - HBufC8* iIVBuf; - - /** Encapsulates a pointer to iIVBuf */ - TPtr8 iIV; -}; - -#endif // __MODE_H__ +/* +* 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: +* ** IMPORTANT ** PublishedPartner API's in this file are published to 3rd party developers via the +* Symbian website. Changes to these API's should be treated as PublishedAll API changes and the Security TA should be consulted. +* +*/ + + +/** + @file + @publishedPartner + @released +*/ + +#ifndef __MODE_H__ +#define __MODE_H__ + +#include "blocktransformation.h" + +/** +* Abstract class defining the use of block transformation objects as block +* chaining modes. +* +* It is initialised with a subclass of CBlockTransformation, +* which it subsequently owns. Calls to its Transform() function will call the +* Transform() function in the underlying CBlockTransformation object, and perform +* the additional transformation for block chaining in that mode. This all means +* that if you want to do, say, AES encryption in CBC mode, you need to construct +* a CAESEncryptor object, then pass it to the CModeCBCEncryptor subclass of +* CBlockChainingMode, and subsequently use the CModeCBCEncryptor object to call +* Transform(). +* +* @publishedPartner +* @released +*/ +class CBlockChainingMode : public CBlockTransformation +{ +public: + virtual void Reset(); + virtual TInt BlockSize() const; + virtual TInt KeySize() const; +public: + /** + * Sets the initialization vector. + * + * @param aIV The initialization vector. The length of this descriptor must be + * the same as the underlying cipher's block size. + */ + virtual void SetIV(const TDesC8& aIV); +protected: + /** Default constructor */ + IMPORT_C CBlockChainingMode(); + /** + * Second phase constructor + * + * This should be called last by derived classes' ContructL()s . + * + * @param aBT A block transformation object + * @param aIV Initialization vector, the length of this descriptor must be + * the same as the underlying cipher's block size. + */ + IMPORT_C void ConstructL(CBlockTransformation* aBT, const TDesC8& aIV); + + /** The destructor frees all resources owned by the object, prior to its destruction. */ + IMPORT_C virtual ~CBlockChainingMode(); +protected: + /** A block transformation object */ + CBlockTransformation* iBT; + + /** + * A buffer containing the feedback register + * + * This must equal the underlying cipher's block size in length. + * Initially this register is filled with the initialization vector. + */ + HBufC8* iRegisterBuf; + + /** Encapsulates a pointer to iRegisterBuf */ + TPtr8 iRegister; + + /** + * A buffer containing the Initialisation Vector (IV) + * + * This must equal the underlying cipher's block size in length. + */ + HBufC8* iIVBuf; + + /** Encapsulates a pointer to iIVBuf */ + TPtr8 iIV; +}; + +#endif // __MODE_H__