aboutsummaryrefslogtreecommitdiffstats
path: root/src/hash/skein
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-10-13 16:33:20 +0000
committerlloyd <[email protected]>2010-10-13 16:33:20 +0000
commitb502cefaf0f9396354d58c4c18a78ac7870f6168 (patch)
tree8e4d699bd47bcdecaa6c3b670e19743d52047bb8 /src/hash/skein
parentfc4c8f57baa06cfc9073ce83a5e3d1547bea86c0 (diff)
parenta142500346e9bef5c4b0905103eac9a494d6822e (diff)
propagate from branch 'net.randombit.botan' (head cba32f885eb7889a9711cbee120df42839deb9d0)
to branch 'net.randombit.botan.c++0x' (head 7cb9cdfda0f3dedab24f1d3bc7e7ea9b22164234)
Diffstat (limited to 'src/hash/skein')
-rw-r--r--src/hash/skein/skein_512.cpp8
-rw-r--r--src/hash/skein/skein_512.h2
2 files changed, 5 insertions, 5 deletions
diff --git a/src/hash/skein/skein_512.cpp b/src/hash/skein/skein_512.cpp
index 0ff8e9605..b2316242a 100644
--- a/src/hash/skein/skein_512.cpp
+++ b/src/hash/skein/skein_512.cpp
@@ -133,14 +133,14 @@ void reset_tweak(MemoryRegion<u64bit>& T,
void initial_block(MemoryRegion<u64bit>& H,
MemoryRegion<u64bit>& T,
- u32bit output_bits,
+ size_t output_bits,
const std::string& personalization)
{
zeroise(H);
// ASCII("SHA3") followed by version (0x0001) code
byte config_str[32] = { 0x53, 0x48, 0x41, 0x33, 0x01, 0x00, 0 };
- store_le(output_bits, config_str + 8);
+ store_le(u32bit(output_bits), config_str + 8);
reset_tweak(T, SKEIN_CONFIG, true);
ubi_512(H, T, config_str, sizeof(config_str));
@@ -166,14 +166,14 @@ void initial_block(MemoryRegion<u64bit>& H,
}
-Skein_512::Skein_512(u32bit arg_output_bits,
+Skein_512::Skein_512(size_t arg_output_bits,
const std::string& arg_personalization) :
HashFunction(arg_output_bits / 8),
personalization(arg_personalization),
output_bits(arg_output_bits),
H(9), T(3), buffer(64), buf_pos(0)
{
- if(output_bits == 0 || output_bits % 8 != 0)
+ if(output_bits == 0 || output_bits % 8 != 0 || output_bits > 64*1024)
throw Invalid_Argument("Bad output bits size for Skein-512");
initial_block(H, T, output_bits, personalization);
diff --git a/src/hash/skein/skein_512.h b/src/hash/skein/skein_512.h
index fce02c1f6..54cdd002c 100644
--- a/src/hash/skein/skein_512.h
+++ b/src/hash/skein/skein_512.h
@@ -25,7 +25,7 @@ class BOTAN_DLL Skein_512 : public HashFunction
* @param personalization is a string that will paramaterize the
* hash output
*/
- Skein_512(u32bit output_bits = 512,
+ Skein_512(size_t output_bits = 512,
const std::string& personalization = "");
size_t hash_block_size() const { return 64; }