Annotation of truecrypt/volume/encryptionmode.cpp, revision 1.1.1.1

1.1       root        1: /*
                      2:  Copyright (c) 2008 TrueCrypt Foundation. All rights reserved.
                      3: 
                      4:  Governed by the TrueCrypt License 2.4 the full text of which is contained
                      5:  in the file License.txt included in TrueCrypt binary and source code
                      6:  distribution packages.
                      7: */
                      8: 
                      9: #include "EncryptionMode.h"
                     10: #include "EncryptionModeCBC.h"
                     11: #include "EncryptionModeLRW.h"
                     12: #include "EncryptionModeXTS.h"
                     13: 
                     14: namespace TrueCrypt
                     15: {
                     16:        EncryptionMode::EncryptionMode () : KeySet (false), SectorOffset (0)
                     17:        {
                     18:        }
                     19: 
                     20:        EncryptionMode::~EncryptionMode ()
                     21:        {
                     22:        }
                     23: 
                     24:        EncryptionModeList EncryptionMode::GetAvailableModes ()
                     25:        {
                     26:                EncryptionModeList l;
                     27: 
                     28:                l.push_back (shared_ptr <EncryptionMode> (new EncryptionModeXTS ()));
                     29:                l.push_back (shared_ptr <EncryptionMode> (new EncryptionModeLRW ()));
                     30:                l.push_back (shared_ptr <EncryptionMode> (new EncryptionModeCBC ()));
                     31: 
                     32:                return l;
                     33:        }
                     34: 
                     35:        void EncryptionMode::ValidateState () const
                     36:        {
                     37:                if (!KeySet || Ciphers.size() < 1)
                     38:                        throw NotInitialized (SRC_POS);
                     39:        }
                     40: 
                     41:        void EncryptionMode::ValidateParameters (byte *data, uint64 length) const
                     42:        {
                     43:                if ((Ciphers.size() > 0 && (length % Ciphers.front()->GetBlockSize()) != 0))
                     44:                        throw ParameterIncorrect (SRC_POS);
                     45:        }
                     46: 
                     47:        void EncryptionMode::ValidateParameters (byte *data, uint64 sectorCount, size_t sectorSize) const
                     48:        {
                     49:                if (sectorCount == 0 || sectorSize == 0 || (sectorSize % EncryptionDataUnitSize) != 0)
                     50:                        throw ParameterIncorrect (SRC_POS);
                     51:        }
                     52: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.