summaryrefslogtreecommitdiff
path: root/modes.cpp
diff options
context:
space:
mode:
authorweidai <weidai11@users.noreply.github.com>2010-07-24 05:55:22 +0000
committerweidai <weidai11@users.noreply.github.com>2010-07-24 05:55:22 +0000
commit7adbf89681278ddfb5e3fb82a2e39d1a97daa651 (patch)
tree9fa57aeee5c779a3c9b4f88006050d81ff68e6ef /modes.cpp
parenta070ff16ae0829474effa76fa0305e6d63966123 (diff)
downloadcryptopp-git-7adbf89681278ddfb5e3fb82a2e39d1a97daa651.tar.gz
add support for AES-NI and CLMUL instruction sets in AES and GMAC/GCM
Diffstat (limited to 'modes.cpp')
-rw-r--r--modes.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/modes.cpp b/modes.cpp
index 81bf4de3..789fafb2 100644
--- a/modes.cpp
+++ b/modes.cpp
@@ -115,7 +115,7 @@ void CTR_ModePolicy::OperateKeystream(KeystreamOperation operation, byte *output
{
byte lsb = m_counterArray[s-1];
size_t blocks = UnsignedMin(iterationCount, 256U-lsb);
- m_cipher->AdvancedProcessBlocks(m_counterArray, input, output, blocks*s, BlockTransformation::BT_InBlockIsCounter);
+ m_cipher->AdvancedProcessBlocks(m_counterArray, input, output, blocks*s, BlockTransformation::BT_InBlockIsCounter|BlockTransformation::BT_AllowParallel);
if ((m_counterArray[s-1] = lsb + (byte)blocks) == 0)
IncrementCounterBy256();
@@ -147,7 +147,7 @@ void BlockOrientedCipherModeBase::UncheckedSetKey(const byte *key, unsigned int
void ECB_OneWay::ProcessData(byte *outString, const byte *inString, size_t length)
{
assert(length%BlockSize()==0);
- m_cipher->AdvancedProcessBlocks(inString, NULL, outString, length, 0);
+ m_cipher->AdvancedProcessBlocks(inString, NULL, outString, length, BlockTransformation::BT_AllowParallel);
}
void CBC_Encryption::ProcessData(byte *outString, const byte *inString, size_t length)
@@ -199,7 +199,7 @@ void CBC_Decryption::ProcessData(byte *outString, const byte *inString, size_t l
unsigned int blockSize = BlockSize();
memcpy(m_temp, inString+length-blockSize, blockSize); // save copy now in case of in-place decryption
if (length > blockSize)
- m_cipher->AdvancedProcessBlocks(inString+blockSize, inString, outString+blockSize, length-blockSize, BlockTransformation::BT_ReverseDirection);
+ m_cipher->AdvancedProcessBlocks(inString+blockSize, inString, outString+blockSize, length-blockSize, BlockTransformation::BT_ReverseDirection|BlockTransformation::BT_AllowParallel);
m_cipher->ProcessAndXorBlock(inString, m_register, outString);
m_register.swap(m_temp);
}