aboutsummaryrefslogtreecommitdiffstats
path: root/src/block/block_cipher.h
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-05-25 14:44:27 +0000
committerlloyd <[email protected]>2010-05-25 14:44:27 +0000
commit432bcf59badb8f6271146772ccbc1649822c25cb (patch)
tree1353fa7ea1807be29e9e70237ad90014a36119d2 /src/block/block_cipher.h
parent211d835a356f55e037ff8035017d79c458f13615 (diff)
Change BlockCipher::parallelism() to return the native parallelism of
the implementation rather than the preferred one. Update all implementations. Add a new function parallel_bytes() which returns parallelism() * BLOCK_SIZE * BUILD_TIME_CONSTANT This is because i noticed all current calls of parallelism() just multiplied the result by the block size already, so this simplified that code. The build time constant is set to 4, which was the previous default return value of parallelism(). However the SIMD versions returned 2*native paralellism rather than 4*, so this increases the buffer sizes used for those algorithms. The constant multiple lives in buildh.in and build.h, and is named BOTAN_BLOCK_CIPHER_PAR_MULT.
Diffstat (limited to 'src/block/block_cipher.h')
-rw-r--r--src/block/block_cipher.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/block/block_cipher.h b/src/block/block_cipher.h
index 2d9198c58..55bc6d90c 100644
--- a/src/block/block_cipher.h
+++ b/src/block/block_cipher.h
@@ -24,9 +24,17 @@ class BOTAN_DLL BlockCipher : public SymmetricAlgorithm
const u32bit BLOCK_SIZE;
/**
- * @return the preferred parallelism of this cipher
+ * @return the native parallelism of this cipher in blocks
*/
- virtual u32bit parallelism() const { return 4; }
+ virtual u32bit parallelism() const { return 1; }
+
+ /**
+ * @return the prefererred parallelism of this cipher in bytes
+ */
+ u32bit parallel_bytes() const
+ {
+ return parallelism() * BLOCK_SIZE * BOTAN_BLOCK_CIPHER_PAR_MULT;
+ }
/**
* Encrypt a block.