aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-10-13 01:34:15 +0000
committerlloyd <[email protected]>2010-10-13 01:34:15 +0000
commitfe4119c74b5e81a354a5313e4d2efbf9a135aa81 (patch)
tree5c5254cc3a4e5713169ef1d52a83db19c8c4ed65 /src
parent60fb91d8cb1710d07041f76050d24229ce91131b (diff)
Use size_t rather than u32bit in SymmetricAlgorithm
Diffstat (limited to 'src')
-rw-r--r--src/block/aes/aes.cpp46
-rw-r--r--src/block/aes/aes.h7
-rw-r--r--src/block/aes_intel/aes_intel.cpp6
-rw-r--r--src/block/aes_intel/aes_intel.h6
-rw-r--r--src/block/aes_ssse3/aes_ssse3.cpp6
-rw-r--r--src/block/aes_ssse3/aes_ssse3.h6
-rw-r--r--src/block/blowfish/blowfish.cpp22
-rw-r--r--src/block/blowfish/blowfish.h2
-rw-r--r--src/block/cascade/cascade.cpp2
-rw-r--r--src/block/cascade/cascade.h2
-rw-r--r--src/block/cast/cast128.cpp2
-rw-r--r--src/block/cast/cast128.h2
-rw-r--r--src/block/cast/cast256.cpp2
-rw-r--r--src/block/cast/cast256.h2
-rw-r--r--src/block/des/des.cpp4
-rw-r--r--src/block/des/des.h4
-rw-r--r--src/block/des/desx.cpp2
-rw-r--r--src/block/des/desx.h2
-rw-r--r--src/block/gost_28147/gost_28147.cpp2
-rw-r--r--src/block/gost_28147/gost_28147.h2
-rw-r--r--src/block/idea/idea.cpp28
-rw-r--r--src/block/idea/idea.h2
-rw-r--r--src/block/kasumi/kasumi.cpp2
-rw-r--r--src/block/kasumi/kasumi.h2
-rw-r--r--src/block/lion/lion.cpp2
-rw-r--r--src/block/lion/lion.h2
-rw-r--r--src/block/lubyrack/lubyrack.cpp2
-rw-r--r--src/block/lubyrack/lubyrack.h2
-rw-r--r--src/block/mars/mars.cpp12
-rw-r--r--src/block/mars/mars.h2
-rw-r--r--src/block/misty1/misty1.cpp2
-rw-r--r--src/block/misty1/misty1.h2
-rw-r--r--src/block/noekeon/noekeon.cpp6
-rw-r--r--src/block/noekeon/noekeon.h2
-rw-r--r--src/block/rc2/rc2.cpp2
-rw-r--r--src/block/rc2/rc2.h2
-rw-r--r--src/block/rc5/rc5.cpp2
-rw-r--r--src/block/rc5/rc5.h2
-rw-r--r--src/block/rc6/rc6.cpp20
-rw-r--r--src/block/rc6/rc6.h2
-rw-r--r--src/block/safer/safer_sk.cpp2
-rw-r--r--src/block/safer/safer_sk.h2
-rw-r--r--src/block/seed/seed.cpp2
-rw-r--r--src/block/seed/seed.h2
-rw-r--r--src/block/serpent/serpent.cpp2
-rw-r--r--src/block/serpent/serpent.h2
-rw-r--r--src/block/serpent_ia32/serp_ia32.cpp2
-rw-r--r--src/block/serpent_ia32/serp_ia32.h2
-rw-r--r--src/block/skipjack/skipjack.cpp2
-rw-r--r--src/block/skipjack/skipjack.h2
-rw-r--r--src/block/square/square.cpp2
-rw-r--r--src/block/square/square.h2
-rw-r--r--src/block/tea/tea.cpp2
-rw-r--r--src/block/tea/tea.h2
-rw-r--r--src/block/twofish/twofish.cpp2
-rw-r--r--src/block/twofish/twofish.h2
-rw-r--r--src/block/xtea/xtea.cpp2
-rw-r--r--src/block/xtea/xtea.h2
-rw-r--r--src/cms/cms_algo.cpp2
-rw-r--r--src/engine/openssl/ossl_arc4.cpp14
-rw-r--r--src/engine/openssl/ossl_bc.cpp8
-rw-r--r--src/mac/cbc_mac/cbc_mac.cpp2
-rw-r--r--src/mac/cbc_mac/cbc_mac.h2
-rw-r--r--src/mac/cmac/cmac.cpp2
-rw-r--r--src/mac/cmac/cmac.h2
-rw-r--r--src/mac/hmac/hmac.cpp2
-rw-r--r--src/mac/hmac/hmac.h3
-rw-r--r--src/mac/ssl3mac/ssl3_mac.cpp2
-rw-r--r--src/mac/ssl3mac/ssl3_mac.h2
-rw-r--r--src/mac/x919_mac/x919_mac.cpp2
-rw-r--r--src/mac/x919_mac/x919_mac.h2
-rw-r--r--src/stream/arc4/arc4.cpp2
-rw-r--r--src/stream/arc4/arc4.h2
-rw-r--r--src/stream/ctr/ctr.cpp2
-rw-r--r--src/stream/ctr/ctr.h2
-rw-r--r--src/stream/ofb/ofb.cpp2
-rw-r--r--src/stream/ofb/ofb.h2
-rw-r--r--src/stream/salsa20/salsa20.cpp2
-rw-r--r--src/stream/salsa20/salsa20.h6
-rw-r--r--src/stream/turing/turing.cpp2
-rw-r--r--src/stream/turing/turing.h2
-rw-r--r--src/stream/wid_wake/wid_wake.cpp2
-rw-r--r--src/stream/wid_wake/wid_wake.h2
-rw-r--r--src/sym_algo/sym_algo.h14
-rw-r--r--src/sym_algo/symkey.cpp8
-rw-r--r--src/sym_algo/symkey.h8
86 files changed, 184 insertions, 182 deletions
diff --git a/src/block/aes/aes.cpp b/src/block/aes/aes.cpp
index 66f9c5eb1..cfd490e1d 100644
--- a/src/block/aes/aes.cpp
+++ b/src/block/aes/aes.cpp
@@ -619,7 +619,7 @@ void AES::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* AES Key Schedule
*/
-void AES::key_schedule(const byte key[], u32bit length)
+void AES::key_schedule(const byte key[], size_t length)
{
static const u32bit RC[10] = {
0x01000000, 0x02000000, 0x04000000, 0x08000000, 0x10000000, 0x20000000,
@@ -629,40 +629,40 @@ void AES::key_schedule(const byte key[], u32bit length)
SecureVector<u32bit> XEK(64), XDK(64);
- const u32bit X = length / 4;
- for(u32bit j = 0; j != X; ++j)
- XEK[j] = load_be<u32bit>(key, j);
+ const size_t X = length / 4;
+ for(size_t i = 0; i != X; ++i)
+ XEK[i] = load_be<u32bit>(key, i);
- for(u32bit j = X; j < 4*(ROUNDS+1); j += X)
+ for(size_t i = X; i < 4*(ROUNDS+1); i += X)
{
- XEK[j] = XEK[j-X] ^ S(rotate_left(XEK[j-1], 8)) ^ RC[(j-X)/X];
- for(u32bit k = 1; k != X; ++k)
+ XEK[i] = XEK[i-X] ^ S(rotate_left(XEK[i-1], 8)) ^ RC[(i-X)/X];
+ for(size_t j = 1; j != X; ++j)
{
- if(X == 8 && k == 4)
- XEK[j+k] = XEK[j+k-X] ^ S(XEK[j+k-1]);
+ if(X == 8 && j == 4)
+ XEK[i+j] = XEK[i+j-X] ^ S(XEK[i+j-1]);
else
- XEK[j+k] = XEK[j+k-X] ^ XEK[j+k-1];
+ XEK[i+j] = XEK[i+j-X] ^ XEK[i+j-1];
}
}
- for(u32bit j = 0; j != 4*(ROUNDS+1); j += 4)
+ for(size_t i = 0; i != 4*(ROUNDS+1); i += 4)
{
- XDK[j ] = XEK[4*ROUNDS-j ];
- XDK[j+1] = XEK[4*ROUNDS-j+1];
- XDK[j+2] = XEK[4*ROUNDS-j+2];
- XDK[j+3] = XEK[4*ROUNDS-j+3];
+ XDK[i ] = XEK[4*ROUNDS-i ];
+ XDK[i+1] = XEK[4*ROUNDS-i+1];
+ XDK[i+2] = XEK[4*ROUNDS-i+2];
+ XDK[i+3] = XEK[4*ROUNDS-i+3];
}
- for(u32bit j = 4; j != length + 24; ++j)
- XDK[j] = TD[SE[get_byte(0, XDK[j])] + 0] ^
- TD[SE[get_byte(1, XDK[j])] + 256] ^
- TD[SE[get_byte(2, XDK[j])] + 512] ^
- TD[SE[get_byte(3, XDK[j])] + 768];
+ for(size_t i = 4; i != length + 24; ++i)
+ XDK[i] = TD[SE[get_byte(0, XDK[i])] + 0] ^
+ TD[SE[get_byte(1, XDK[i])] + 256] ^
+ TD[SE[get_byte(2, XDK[i])] + 512] ^
+ TD[SE[get_byte(3, XDK[i])] + 768];
- for(u32bit j = 0; j != 4; ++j)
+ for(size_t i = 0; i != 4; ++i)
{
- store_be(XEK[j+4*ROUNDS], &ME[4*j]);
- store_be(XEK[j], &MD[4*j]);
+ store_be(XEK[i+4*ROUNDS], &ME[4*i]);
+ store_be(XEK[i], &MD[4*i]);
}
EK.copy(&XEK[0], length + 24);
diff --git a/src/block/aes/aes.h b/src/block/aes/aes.h
index 6bc1f44b4..d62413f5b 100644
--- a/src/block/aes/aes.h
+++ b/src/block/aes/aes.h
@@ -25,7 +25,8 @@ class BOTAN_DLL AES : public BlockCipher
std::string name() const { return "AES"; }
BlockCipher* clone() const { return new AES; }
- AES() : BlockCipher(16, 16, 32, 8), EK(56), ME(16), DK(56), MD(16) { ROUNDS = 14; }
+ AES() : BlockCipher(16, 16, 32, 8), EK(56), ME(16), DK(56), MD(16)
+ { ROUNDS = 14; }
/**
* AES fixed to a particular key_size (16, 24, or 32 bytes)
@@ -33,7 +34,7 @@ class BOTAN_DLL AES : public BlockCipher
*/
AES(u32bit key_size);
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
static u32bit S(u32bit);
u32bit ROUNDS;
@@ -41,7 +42,7 @@ class BOTAN_DLL AES : public BlockCipher
SecureVector<u32bit> EK;
SecureVector<byte> ME;
- SecureVector<u32bit> DK;
+ SecureVector<u32bit > DK;
SecureVector<byte> MD;
};
diff --git a/src/block/aes_intel/aes_intel.cpp b/src/block/aes_intel/aes_intel.cpp
index d03767e72..a2e660f2c 100644
--- a/src/block/aes_intel/aes_intel.cpp
+++ b/src/block/aes_intel/aes_intel.cpp
@@ -255,7 +255,7 @@ void AES_128_Intel::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* AES-128 Key Schedule
*/
-void AES_128_Intel::key_schedule(const byte key[], u32bit)
+void AES_128_Intel::key_schedule(const byte key[], size_t)
{
#define AES_128_key_exp(K, RCON) \
aes_128_key_expansion(K, _mm_aeskeygenassist_si128(K, RCON))
@@ -477,7 +477,7 @@ void AES_192_Intel::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* AES-192 Key Schedule
*/
-void AES_192_Intel::key_schedule(const byte key[], u32bit)
+void AES_192_Intel::key_schedule(const byte key[], size_t)
{
__m128i K0 = _mm_loadu_si128((const __m128i*)(key));
__m128i K1 = _mm_loadu_si128((const __m128i*)(key + 8));
@@ -705,7 +705,7 @@ void AES_256_Intel::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* AES-256 Key Schedule
*/
-void AES_256_Intel::key_schedule(const byte key[], u32bit)
+void AES_256_Intel::key_schedule(const byte key[], size_t)
{
__m128i K0 = _mm_loadu_si128((const __m128i*)(key));
__m128i K1 = _mm_loadu_si128((const __m128i*)(key + 16));
diff --git a/src/block/aes_intel/aes_intel.h b/src/block/aes_intel/aes_intel.h
index 43e8f2f0e..1d8a68389 100644
--- a/src/block/aes_intel/aes_intel.h
+++ b/src/block/aes_intel/aes_intel.h
@@ -29,7 +29,7 @@ class BOTAN_DLL AES_128_Intel : public BlockCipher
AES_128_Intel() : BlockCipher(16, 16) { }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit, 44> EK, DK;
};
@@ -51,7 +51,7 @@ class BOTAN_DLL AES_192_Intel : public BlockCipher
AES_192_Intel() : BlockCipher(16, 24) { }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit, 52> EK, DK;
};
@@ -73,7 +73,7 @@ class BOTAN_DLL AES_256_Intel : public BlockCipher
AES_256_Intel() : BlockCipher(16, 32) { }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit, 60> EK, DK;
};
diff --git a/src/block/aes_ssse3/aes_ssse3.cpp b/src/block/aes_ssse3/aes_ssse3.cpp
index dda5941b7..c5869f899 100644
--- a/src/block/aes_ssse3/aes_ssse3.cpp
+++ b/src/block/aes_ssse3/aes_ssse3.cpp
@@ -371,7 +371,7 @@ void AES_128_SSSE3::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* AES-128 Key Schedule
*/
-void AES_128_SSSE3::key_schedule(const byte keyb[], u32bit)
+void AES_128_SSSE3::key_schedule(const byte keyb[], size_t)
{
__m128i rcon = _mm_set_epi32(0x702A9808, 0x4D7C7D81,
0x1F8391B9, 0xAF9DEEB6);
@@ -440,7 +440,7 @@ void AES_192_SSSE3::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* AES-192 Key Schedule
*/
-void AES_192_SSSE3::key_schedule(const byte keyb[], u32bit)
+void AES_192_SSSE3::key_schedule(const byte keyb[], size_t)
{
__m128i rcon = _mm_set_epi32(0x702A9808, 0x4D7C7D81,
0x1F8391B9, 0xAF9DEEB6);
@@ -539,7 +539,7 @@ void AES_256_SSSE3::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* AES-256 Key Schedule
*/
-void AES_256_SSSE3::key_schedule(const byte keyb[], u32bit)
+void AES_256_SSSE3::key_schedule(const byte keyb[], size_t)
{
__m128i rcon = _mm_set_epi32(0x702A9808, 0x4D7C7D81,
0x1F8391B9, 0xAF9DEEB6);
diff --git a/src/block/aes_ssse3/aes_ssse3.h b/src/block/aes_ssse3/aes_ssse3.h
index 7b2a43cb7..0cdb5f4de 100644
--- a/src/block/aes_ssse3/aes_ssse3.h
+++ b/src/block/aes_ssse3/aes_ssse3.h
@@ -27,7 +27,7 @@ class BOTAN_DLL AES_128_SSSE3 : public BlockCipher
AES_128_SSSE3() : BlockCipher(16, 16), EK(44), DK(44) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> EK, DK;
};
@@ -47,7 +47,7 @@ class BOTAN_DLL AES_192_SSSE3 : public BlockCipher
AES_192_SSSE3() : BlockCipher(16, 24), EK(52), DK(52) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> EK, DK;
};
@@ -67,7 +67,7 @@ class BOTAN_DLL AES_256_SSSE3 : public BlockCipher
AES_256_SSSE3() : BlockCipher(16, 32), EK(60), DK(60) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> EK, DK;
};
diff --git a/src/block/blowfish/blowfish.cpp b/src/block/blowfish/blowfish.cpp
index e72dbb2ae..ea227e93e 100644
--- a/src/block/blowfish/blowfish.cpp
+++ b/src/block/blowfish/blowfish.cpp
@@ -83,13 +83,13 @@ void Blowfish::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* Blowfish Key Schedule
*/
-void Blowfish::key_schedule(const byte key[], u32bit length)
+void Blowfish::key_schedule(const byte key[], size_t length)
{
clear();
- for(size_t j = 0, k = 0; j != 18; ++j, k += 4)
- P[j] ^= make_u32bit(key[(k ) % length], key[(k+1) % length],
- key[(k+2) % length], key[(k+3) % length]);
+ for(size_t i = 0, j = 0; i != 18; ++i, j += 4)
+ P[i] ^= make_u32bit(key[(j ) % length], key[(j+1) % length],
+ key[(j+2) % length], key[(j+3) % length]);
u32bit L = 0, R = 0;
generate_sbox(P, L, R);
@@ -107,22 +107,22 @@ void Blowfish::generate_sbox(MemoryRegion<u32bit>& box,
const u32bit* S3 = &S[512];
const u32bit* S4 = &S[768];
- for(size_t j = 0; j != box.size(); j += 2)
+ for(size_t i = 0; i != box.size(); i += 2)
{
- for(size_t k = 0; k != 16; k += 2)
+ for(size_t j = 0; j != 16; j += 2)
{
- L ^= P[k];
+ L ^= P[j];
R ^= ((S1[get_byte(0, L)] + S2[get_byte(1, L)]) ^
S3[get_byte(2, L)]) + S4[get_byte(3, L)];
- R ^= P[k+1];
+ R ^= P[j+1];
L ^= ((S1[get_byte(0, R)] + S2[get_byte(1, R)]) ^
S3[get_byte(2, R)]) + S4[get_byte(3, R)];
}
u32bit T = R; R = L ^ P[16]; L = T ^ P[17];
- box[j] = L;
- box[j+1] = R;
+ box[i] = L;
+ box[i+1] = R;
}
}
@@ -133,8 +133,6 @@ void Blowfish::clear()
{
std::copy(P_INIT, P_INIT + 18, P.begin());
std::copy(S_INIT, S_INIT + 1024, S.begin());
- //P.copy(P_INIT, 18);
- //S.copy(S_INIT, 1024);
}
}
diff --git a/src/block/blowfish/blowfish.h b/src/block/blowfish/blowfish.h
index 32fb4cbd4..4d39e9e58 100644
--- a/src/block/blowfish/blowfish.h
+++ b/src/block/blowfish/blowfish.h
@@ -27,7 +27,7 @@ class BOTAN_DLL Blowfish : public BlockCipher
Blowfish() : BlockCipher(8, 1, 56), S(1024), P(18) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
void generate_sbox(MemoryRegion<u32bit>& box,
u32bit& L, u32bit& R) const;
diff --git a/src/block/cascade/cascade.cpp b/src/block/cascade/cascade.cpp
index e93e81d33..54c33bc68 100644
--- a/src/block/cascade/cascade.cpp
+++ b/src/block/cascade/cascade.cpp
@@ -29,7 +29,7 @@ void Cascade_Cipher::decrypt_n(const byte in[], byte out[],
cipher1->decrypt_n(out, out, c1_blocks);
}
-void Cascade_Cipher::key_schedule(const byte key[], u32bit)
+void Cascade_Cipher::key_schedule(const byte key[], size_t)
{
const byte* key2 = key + cipher1->MAXIMUM_KEYLENGTH;
diff --git a/src/block/cascade/cascade.h b/src/block/cascade/cascade.h
index 6e9d43cf7..5e1989cb6 100644
--- a/src/block/cascade/cascade.h
+++ b/src/block/cascade/cascade.h
@@ -34,7 +34,7 @@ class BOTAN_DLL Cascade_Cipher : public BlockCipher
~Cascade_Cipher();
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
BlockCipher* cipher1;
BlockCipher* cipher2;
diff --git a/src/block/cast/cast128.cpp b/src/block/cast/cast128.cpp
index 538c1bd5b..24469e025 100644
--- a/src/block/cast/cast128.cpp
+++ b/src/block/cast/cast128.cpp
@@ -116,7 +116,7 @@ void CAST_128::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* CAST-128 Key Schedule
*/
-void CAST_128::key_schedule(const byte key[], u32bit length)
+void CAST_128::key_schedule(const byte key[], size_t length)
{
clear();
SecureVector<u32bit> X(4);
diff --git a/src/block/cast/cast128.h b/src/block/cast/cast128.h
index 18c0c1868..edccf04b3 100644
--- a/src/block/cast/cast128.h
+++ b/src/block/cast/cast128.h
@@ -27,7 +27,7 @@ class BOTAN_DLL CAST_128 : public BlockCipher
CAST_128() : BlockCipher(8, 11, 16), MK(16), RK(16) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
static void cast_ks(MemoryRegion<u32bit>& ks,
MemoryRegion<u32bit>& user_key);
diff --git a/src/block/cast/cast256.cpp b/src/block/cast/cast256.cpp
index 6567ffbd4..8be0a8dd6 100644
--- a/src/block/cast/cast256.cpp
+++ b/src/block/cast/cast256.cpp
@@ -136,7 +136,7 @@ void CAST_256::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* CAST-256 Key Schedule
*/
-void CAST_256::key_schedule(const byte key[], u32bit length)
+void CAST_256::key_schedule(const byte key[], size_t length)
{
SecureVector<u32bit> K(8);
for(size_t j = 0; j != length; ++j)
diff --git a/src/block/cast/cast256.h b/src/block/cast/cast256.h
index ef73fbf94..74e38face 100644
--- a/src/block/cast/cast256.h
+++ b/src/block/cast/cast256.h
@@ -27,7 +27,7 @@ class BOTAN_DLL CAST_256 : public BlockCipher
CAST_256() : BlockCipher(16, 4, 32, 4), MK(48), RK(48) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
static const u32bit KEY_MASK[192];
static const byte KEY_ROT[32];
diff --git a/src/block/des/des.cpp b/src/block/des/des.cpp
index 043391938..15c771bda 100644
--- a/src/block/des/des.cpp
+++ b/src/block/des/des.cpp
@@ -201,7 +201,7 @@ void DES::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* DES Key Schedule
*/
-void DES::key_schedule(const byte key[], u32bit)
+void DES::key_schedule(const byte key[], size_t)
{
des_key_schedule(&round_key[0], key);
}
@@ -275,7 +275,7 @@ void TripleDES::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* TripleDES Key Schedule
*/
-void TripleDES::key_schedule(const byte key[], u32bit length)
+void TripleDES::key_schedule(const byte key[], size_t length)
{
des_key_schedule(&round_key[0], key);
des_key_schedule(&round_key[32], key + 8);
diff --git a/src/block/des/des.h b/src/block/des/des.h
index dbca8ddfd..03641ba40 100644
--- a/src/block/des/des.h
+++ b/src/block/des/des.h
@@ -27,7 +27,7 @@ class BOTAN_DLL DES : public BlockCipher
DES() : BlockCipher(8, 8), round_key(32) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> round_key;
};
@@ -47,7 +47,7 @@ class BOTAN_DLL TripleDES : public BlockCipher
TripleDES() : BlockCipher(8, 16, 24, 8), round_key(96) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> round_key;
};
diff --git a/src/block/des/desx.cpp b/src/block/des/desx.cpp
index cb53448b4..b92011e56 100644
--- a/src/block/des/desx.cpp
+++ b/src/block/des/desx.cpp
@@ -45,7 +45,7 @@ void DESX::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* DESX Key Schedule
*/
-void DESX::key_schedule(const byte key[], u32bit)
+void DESX::key_schedule(const byte key[], size_t)
{
K1.copy(key, 8);
des.set_key(key + 8, 8);
diff --git a/src/block/des/desx.h b/src/block/des/desx.h
index 5b7f10281..b61ea3cf9 100644
--- a/src/block/des/desx.h
+++ b/src/block/des/desx.h
@@ -27,7 +27,7 @@ class BOTAN_DLL DESX : public BlockCipher
DESX() : BlockCipher(8, 24), K1(8), K2(8) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<byte> K1, K2;
DES des;
};
diff --git a/src/block/gost_28147/gost_28147.cpp b/src/block/gost_28147/gost_28147.cpp
index c23c31dfb..4b4b83dcc 100644
--- a/src/block/gost_28147/gost_28147.cpp
+++ b/src/block/gost_28147/gost_28147.cpp
@@ -144,7 +144,7 @@ void GOST_28147_89::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* GOST Key Schedule
*/
-void GOST_28147_89::key_schedule(const byte key[], u32bit)
+void GOST_28147_89::key_schedule(const byte key[], size_t)
{
for(size_t i = 0; i != 8; ++i)
EK[i] = load_le<u32bit>(key, i);
diff --git a/src/block/gost_28147/gost_28147.h b/src/block/gost_28147/gost_28147.h
index f70c6650f..d06b63228 100644
--- a/src/block/gost_28147/gost_28147.h
+++ b/src/block/gost_28147/gost_28147.h
@@ -68,7 +68,7 @@ class BOTAN_DLL GOST_28147_89 : public BlockCipher
GOST_28147_89(const SecureVector<u32bit>& other_SBOX) :
BlockCipher(8, 32), SBOX(other_SBOX), EK(8) {}
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> SBOX;
SecureVector<u32bit> EK;
diff --git a/src/block/idea/idea.cpp b/src/block/idea/idea.cpp
index 8201c9193..be7680b2c 100644
--- a/src/block/idea/idea.cpp
+++ b/src/block/idea/idea.cpp
@@ -122,16 +122,16 @@ void IDEA::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* IDEA Key Schedule
*/
-void IDEA::key_schedule(const byte key[], u32bit)
+void IDEA::key_schedule(const byte key[], size_t)
{
- for(size_t j = 0; j != 8; ++j)
- EK[j] = load_be<u16bit>(key, j);
+ for(size_t i = 0; i != 8; ++i)
+ EK[i] = load_be<u16bit>(key, i);
- for(size_t j = 1, k = 8, offset = 0; k != 52; j %= 8, ++j, ++k)
+ for(size_t i = 1, j = 8, offset = 0; j != 52; i %= 8, ++i, ++j)
{
- EK[j+7+offset] = static_cast<u16bit>((EK[(j % 8) + offset] << 9) |
- (EK[((j+1) % 8) + offset] >> 7));
- offset += (j == 8) ? 8 : 0;
+ EK[i+7+offset] = static_cast<u16bit>((EK[(i % 8) + offset] << 9) |
+ (EK[((i+1) % 8) + offset] >> 7));
+ offset += (i == 8) ? 8 : 0;
}
DK[51] = mul_inv(EK[3]);
@@ -139,14 +139,14 @@ void IDEA::key_schedule(const byte key[], u32bit)
DK[49] = -EK[1];
DK[48] = mul_inv(EK[0]);
- for(size_t j = 1, k = 4, counter = 47; j != 8; ++j, k += 6)
+ for(size_t i = 1, j = 4, counter = 47; i != 8; ++i, j += 6)
{
- DK[counter--] = EK[k+1];
- DK[counter--] = EK[k];
- DK[counter--] = mul_inv(EK[k+5]);
- DK[counter--] = -EK[k+3];
- DK[counter--] = -EK[k+4];
- DK[counter--] = mul_inv(EK[k+2]);
+ DK[counter--] = EK[j+1];
+ DK[counter--] = EK[j];
+ DK[counter--] = mul_inv(EK[j+5]);
+ DK[counter--] = -EK[j+3];
+ DK[counter--] = -EK[j+4];
+ DK[counter--] = mul_inv(EK[j+2]);
}
DK[5] = EK[47];
diff --git a/src/block/idea/idea.h b/src/block/idea/idea.h
index 566d9afd4..c0af38ad6 100644
--- a/src/block/idea/idea.h
+++ b/src/block/idea/idea.h
@@ -38,7 +38,7 @@ class BOTAN_DLL IDEA : public BlockCipher
const SecureVector<u16bit>& get_DK() const { return DK; }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u16bit> EK, DK;
};
diff --git a/src/block/kasumi/kasumi.cpp b/src/block/kasumi/kasumi.cpp
index 15d6a24fc..a57c0396a 100644
--- a/src/block/kasumi/kasumi.cpp
+++ b/src/block/kasumi/kasumi.cpp
@@ -199,7 +199,7 @@ void KASUMI::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* KASUMI Key Schedule
*/
-void KASUMI::key_schedule(const byte key[], u32bit)
+void KASUMI::key_schedule(const byte key[], size_t)
{
static const u16bit RC[] = { 0x0123, 0x4567, 0x89AB, 0xCDEF,
0xFEDC, 0xBA98, 0x7654, 0x3210 };
diff --git a/src/block/kasumi/kasumi.h b/src/block/kasumi/kasumi.h
index 8589af79b..c6b3c4351 100644
--- a/src/block/kasumi/kasumi.h
+++ b/src/block/kasumi/kasumi.h
@@ -27,7 +27,7 @@ class BOTAN_DLL KASUMI : public BlockCipher
KASUMI() : BlockCipher(8, 16), EK(64) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u16bit> EK;
};
diff --git a/src/block/lion/lion.cpp b/src/block/lion/lion.cpp
index b4a00ebee..daf00da81 100644
--- a/src/block/lion/lion.cpp
+++ b/src/block/lion/lion.cpp
@@ -68,7 +68,7 @@ void Lion::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* Lion Key Schedule
*/
-void Lion::key_schedule(const byte key[], u32bit length)
+void Lion::key_schedule(const byte key[], size_t length)
{
clear();
diff --git a/src/block/lion/lion.h b/src/block/lion/lion.h
index 5d4d374b9..9beb68ca6 100644
--- a/src/block/lion/lion.h
+++ b/src/block/lion/lion.h
@@ -43,7 +43,7 @@ class BOTAN_DLL Lion : public BlockCipher
~Lion() { delete hash; delete cipher; }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
const size_t LEFT_SIZE, RIGHT_SIZE;
diff --git a/src/block/lubyrack/lubyrack.cpp b/src/block/lubyrack/lubyrack.cpp
index 0b7ec7bf4..383e9131b 100644
--- a/src/block/lubyrack/lubyrack.cpp
+++ b/src/block/lubyrack/lubyrack.cpp
@@ -87,7 +87,7 @@ void LubyRackoff::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* Luby-Rackoff Key Schedule
*/
-void LubyRackoff::key_schedule(const byte key[], u32bit length)
+void LubyRackoff::key_schedule(const byte key[], size_t length)
{
K1.set(key, length / 2);
K2.set(key + length / 2, length / 2);
diff --git a/src/block/lubyrack/lubyrack.h b/src/block/lubyrack/lubyrack.h
index c20af950d..4567215e1 100644
--- a/src/block/lubyrack/lubyrack.h
+++ b/src/block/lubyrack/lubyrack.h
@@ -32,7 +32,7 @@ class BOTAN_DLL LubyRackoff : public BlockCipher
LubyRackoff(HashFunction* hash);
~LubyRackoff() { delete hash; }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
HashFunction* hash;
SecureVector<byte> K1, K2;
diff --git a/src/block/mars/mars.cpp b/src/block/mars/mars.cpp
index 9445ab576..fa73e564f 100644
--- a/src/block/mars/mars.cpp
+++ b/src/block/mars/mars.cpp
@@ -149,7 +149,7 @@ inline void decrypt_round(u32bit& A, u32bit& B, u32bit& C, u32bit& D,
*/
void forward_mix(u32bit& A, u32bit& B, u32bit& C, u32bit& D)
{
- for(u32bit j = 0; j != 2; ++j)
+ for(size_t j = 0; j != 2; ++j)
{
B ^= SBOX[get_byte(3, A)]; B += SBOX[get_byte(2, A) + 256];
C += SBOX[get_byte(1, A)]; D ^= SBOX[get_byte(0, A) + 256];
@@ -174,7 +174,7 @@ void forward_mix(u32bit& A, u32bit& B, u32bit& C, u32bit& D)
*/
void reverse_mix(u32bit& A, u32bit& B, u32bit& C, u32bit& D)
{
- for(u32bit j = 0; j != 2; ++j)
+ for(size_t j = 0; j != 2; ++j)
{
B ^= SBOX[get_byte(3, A) + 256]; C -= SBOX[get_byte(0, A)];
D -= SBOX[get_byte(1, A) + 256]; D ^= SBOX[get_byte(2, A)];
@@ -202,7 +202,7 @@ u32bit gen_mask(u32bit input)
{
u32bit mask = 0;
- for(u32bit j = 2; j != 31; ++j)
+ for(size_t j = 2; j != 31; ++j)
{
u32bit region = (input >> (j-1)) & 0x07;
@@ -318,11 +318,11 @@ void MARS::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* MARS Key Schedule
*/
-void MARS::key_schedule(const byte key[], u32bit length)
+void MARS::key_schedule(const byte key[], size_t length)
{
SecureVector<u32bit> T(15);
- for(size_t j = 0; j != length / 4; ++j)
- T[j] = load_le<u32bit>(key, j);
+ for(size_t i = 0; i != length / 4; ++i)
+ T[i] = load_le<u32bit>(key, i);
T[length / 4] = length / 4;
diff --git a/src/block/mars/mars.h b/src/block/mars/mars.h
index 0b98d3c25..a61f475f2 100644
--- a/src/block/mars/mars.h
+++ b/src/block/mars/mars.h
@@ -27,7 +27,7 @@ class BOTAN_DLL MARS : public BlockCipher
MARS() : BlockCipher(16, 16, 32, 4), EK(40) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> EK;
};
diff --git a/src/block/misty1/misty1.cpp b/src/block/misty1/misty1.cpp
index 891abf49f..2f82e18e8 100644
--- a/src/block/misty1/misty1.cpp
+++ b/src/block/misty1/misty1.cpp
@@ -202,7 +202,7 @@ void MISTY1::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* MISTY1 Key Schedule
*/
-void MISTY1::key_schedule(const byte key[], u32bit length)
+void MISTY1::key_schedule(const byte key[], size_t length)
{
SecureVector<u16bit> KS(32);
for(size_t i = 0; i != length / 2; ++i)
diff --git a/src/block/misty1/misty1.h b/src/block/misty1/misty1.h
index bb948cb07..318e63b7d 100644
--- a/src/block/misty1/misty1.h
+++ b/src/block/misty1/misty1.h
@@ -31,7 +31,7 @@ class BOTAN_DLL MISTY1 : public BlockCipher
*/
MISTY1(size_t rounds = 8);
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u16bit> EK, DK;
};
diff --git a/src/block/noekeon/noekeon.cpp b/src/block/noekeon/noekeon.cpp
index f9a54482b..06c415be9 100644
--- a/src/block/noekeon/noekeon.cpp
+++ b/src/block/noekeon/noekeon.cpp
@@ -160,16 +160,16 @@ void Noekeon::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* Noekeon Key Schedule
*/
-void Noekeon::key_schedule(const byte key[], u32bit)
+void Noekeon::key_schedule(const byte key[], size_t)
{
u32bit A0 = load_be<u32bit>(key, 0);
u32bit A1 = load_be<u32bit>(key, 1);
u32bit A2 = load_be<u32bit>(key, 2);
u32bit A3 = load_be<u32bit>(key, 3);
- for(size_t j = 0; j != 16; ++j)
+ for(size_t i = 0; i != 16; ++i)
{
- A0 ^= RC[j];
+ A0 ^= RC[i];
theta(A0, A1, A2, A3);
A1 = rotate_left(A1, 1);
diff --git a/src/block/noekeon/noekeon.h b/src/block/noekeon/noekeon.h
index 65d3474c7..593afa634 100644
--- a/src/block/noekeon/noekeon.h
+++ b/src/block/noekeon/noekeon.h
@@ -43,7 +43,7 @@ class BOTAN_DLL Noekeon : public BlockCipher
const SecureVector<u32bit>& get_DK() const { return DK; }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> EK, DK;
};
diff --git a/src/block/rc2/rc2.cpp b/src/block/rc2/rc2.cpp
index 6cfe8c202..97ca5d577 100644
--- a/src/block/rc2/rc2.cpp
+++ b/src/block/rc2/rc2.cpp
@@ -98,7 +98,7 @@ void RC2::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* RC2 Key Schedule
*/
-void RC2::key_schedule(const byte key[], u32bit length)
+void RC2::key_schedule(const byte key[], size_t length)
{
static const byte TABLE[256] = {
0xD9, 0x78, 0xF9, 0xC4, 0x19, 0xDD, 0xB5, 0xED, 0x28, 0xE9, 0xFD, 0x79,
diff --git a/src/block/rc2/rc2.h b/src/block/rc2/rc2.h
index b8c1e069a..4addf22ed 100644
--- a/src/block/rc2/rc2.h
+++ b/src/block/rc2/rc2.h
@@ -34,7 +34,7 @@ class BOTAN_DLL RC2 : public BlockCipher
RC2() : BlockCipher(8, 1, 32), K(64) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u16bit> K;
};
diff --git a/src/block/rc5/rc5.cpp b/src/block/rc5/rc5.cpp
index 3b288d328..519735967 100644
--- a/src/block/rc5/rc5.cpp
+++ b/src/block/rc5/rc5.cpp
@@ -76,7 +76,7 @@ void RC5::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* RC5 Key Schedule
*/
-void RC5::key_schedule(const byte key[], u32bit length)
+void RC5::key_schedule(const byte key[], size_t length)
{
const size_t WORD_KEYLENGTH = (((length - 1) / 4) + 1);
const size_t MIX_ROUNDS = 3 * std::max(WORD_KEYLENGTH, S.size());
diff --git a/src/block/rc5/rc5.h b/src/block/rc5/rc5.h
index f15230a00..11a62badb 100644
--- a/src/block/rc5/rc5.h
+++ b/src/block/rc5/rc5.h
@@ -31,7 +31,7 @@ class BOTAN_DLL RC5 : public BlockCipher
*/
RC5(size_t rounds);
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> S;
const size_t ROUNDS;
};
diff --git a/src/block/rc6/rc6.cpp b/src/block/rc6/rc6.cpp
index f81f25efd..53ca5a7a2 100644
--- a/src/block/rc6/rc6.cpp
+++ b/src/block/rc6/rc6.cpp
@@ -111,27 +111,27 @@ void RC6::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* RC6 Key Schedule
*/
-void RC6::key_schedule(const byte key[], u32bit length)
+void RC6::key_schedule(const byte key[], size_t length)
{
const size_t WORD_KEYLENGTH = (((length - 1) / 4) + 1);
const size_t MIX_ROUNDS = 3 * std::max(WORD_KEYLENGTH, S.size());
S[0] = 0xB7E15163;
- for(size_t j = 1; j != S.size(); ++j)
- S[j] = S[j-1] + 0x9E3779B9;
+ for(size_t i = 1; i != S.size(); ++i)
+ S[i] = S[i-1] + 0x9E3779B9;
SecureVector<u32bit> K(8);
- for(s32bit j = length-1; j >= 0; --j)
- K[j/4] = (K[j/4] << 8) + key[j];
+ for(s32bit i = length-1; i >= 0; --i)
+ K[i/4] = (K[i/4] << 8) + key[i];
u32bit A = 0, B = 0;
- for(u32bit j = 0; j != MIX_ROUNDS; ++j)
+ for(size_t i = 0; i != MIX_ROUNDS; ++i)
{
- A = rotate_left(S[j % S.size()] + A + B, 3);
- B = rotate_left(K[j % WORD_KEYLENGTH] + A + B, (A + B) % 32);
- S[j % S.size()] = A;
- K[j % WORD_KEYLENGTH] = B;
+ A = rotate_left(S[i % S.size()] + A + B, 3);
+ B = rotate_left(K[i % WORD_KEYLENGTH] + A + B, (A + B) % 32);
+ S[i % S.size()] = A;
+ K[i % WORD_KEYLENGTH] = B;
}
}
diff --git a/src/block/rc6/rc6.h b/src/block/rc6/rc6.h
index ada7e9610..307834a8c 100644
--- a/src/block/rc6/rc6.h
+++ b/src/block/rc6/rc6.h
@@ -27,7 +27,7 @@ class BOTAN_DLL RC6 : public BlockCipher
RC6() : BlockCipher(16, 1, 32), S(44) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> S;
};
diff --git a/src/block/safer/safer_sk.cpp b/src/block/safer/safer_sk.cpp
index d64c37f00..f78e326e4 100644
--- a/src/block/safer/safer_sk.cpp
+++ b/src/block/safer/safer_sk.cpp
@@ -89,7 +89,7 @@ void SAFER_SK::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* SAFER-SK Key Schedule
*/
-void SAFER_SK::key_schedule(const byte key[], u32bit)
+void SAFER_SK::key_schedule(const byte key[], size_t)
{
SecureVector<byte> KB(18);
diff --git a/src/block/safer/safer_sk.h b/src/block/safer/safer_sk.h
index b68cb5363..a64d09fb7 100644
--- a/src/block/safer/safer_sk.h
+++ b/src/block/safer/safer_sk.h
@@ -31,7 +31,7 @@ class BOTAN_DLL SAFER_SK : public BlockCipher
*/
SAFER_SK(size_t rounds);
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
static const byte EXP[256];
static const byte LOG[512];
diff --git a/src/block/seed/seed.cpp b/src/block/seed/seed.cpp
index a253f27b8..408220013 100644
--- a/src/block/seed/seed.cpp
+++ b/src/block/seed/seed.cpp
@@ -102,7 +102,7 @@ void SEED::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* SEED Key Schedule
*/
-void SEED::key_schedule(const byte key[], u32bit)
+void SEED::key_schedule(const byte key[], size_t)
{
const u32bit RC[16] = {
0x9E3779B9, 0x3C6EF373, 0x78DDE6E6, 0xF1BBCDCC,
diff --git a/src/block/seed/seed.h b/src/block/seed/seed.h
index e2b0862ae..48fefc9b0 100644
--- a/src/block/seed/seed.h
+++ b/src/block/seed/seed.h
@@ -27,7 +27,7 @@ class BOTAN_DLL SEED : public BlockCipher
SEED() : BlockCipher(16, 16), K(32) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
class G_FUNC
{
diff --git a/src/block/serpent/serpent.cpp b/src/block/serpent/serpent.cpp
index 8ff35b900..1d940cf39 100644
--- a/src/block/serpent/serpent.cpp
+++ b/src/block/serpent/serpent.cpp
@@ -351,7 +351,7 @@ void Serpent::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* Serpent Key Schedule
*/
-void Serpent::key_schedule(const byte key[], u32bit length)
+void Serpent::key_schedule(const byte key[], size_t length)
{
const u32bit PHI = 0x9E3779B9;
diff --git a/src/block/serpent/serpent.h b/src/block/serpent/serpent.h
index a436c578a..515a90407 100644
--- a/src/block/serpent/serpent.h
+++ b/src/block/serpent/serpent.h
@@ -41,7 +41,7 @@ class BOTAN_DLL Serpent : public BlockCipher
{ round_key.set(ks, 132); }
private:
- void key_schedule(const byte key[], u32bit length);
+ void key_schedule(const byte key[], size_t length);
SecureVector<u32bit> round_key;
};
diff --git a/src/block/serpent_ia32/serp_ia32.cpp b/src/block/serpent_ia32/serp_ia32.cpp
index 6e409b580..d2f8adb62 100644
--- a/src/block/serpent_ia32/serp_ia32.cpp
+++ b/src/block/serpent_ia32/serp_ia32.cpp
@@ -70,7 +70,7 @@ void Serpent_IA32::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* Serpent Key Schedule
*/
-void Serpent_IA32::key_schedule(const byte key[], u32bit length)
+void Serpent_IA32::key_schedule(const byte key[], size_t length)
{
SecureVector<u32bit> W(140);
for(size_t i = 0; i != length / 4; ++i)
diff --git a/src/block/serpent_ia32/serp_ia32.h b/src/block/serpent_ia32/serp_ia32.h
index cd103c130..d7b5bedc7 100644
--- a/src/block/serpent_ia32/serp_ia32.h
+++ b/src/block/serpent_ia32/serp_ia32.h
@@ -23,7 +23,7 @@ class BOTAN_DLL Serpent_IA32 : public Serpent
BlockCipher* clone() const { return new Serpent_IA32; }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
};
}
diff --git a/src/block/skipjack/skipjack.cpp b/src/block/skipjack/skipjack.cpp
index e3c8598ff..b73972b59 100644
--- a/src/block/skipjack/skipjack.cpp
+++ b/src/block/skipjack/skipjack.cpp
@@ -157,7 +157,7 @@ void Skipjack::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* Skipjack Key Schedule
*/
-void Skipjack::key_schedule(const byte key[], u32bit)
+void Skipjack::key_schedule(const byte key[], size_t)
{
static const byte F[256] = {
0xA3, 0xD7, 0x09, 0x83, 0xF8, 0x48, 0xF6, 0xF4, 0xB3, 0x21, 0x15, 0x78,
diff --git a/src/block/skipjack/skipjack.h b/src/block/skipjack/skipjack.h
index 98cea7650..dff85df6c 100644
--- a/src/block/skipjack/skipjack.h
+++ b/src/block/skipjack/skipjack.h
@@ -27,7 +27,7 @@ class BOTAN_DLL Skipjack : public BlockCipher
Skipjack() : BlockCipher(8, 10), FTAB(2560) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<byte> FTAB;
};
diff --git a/src/block/square/square.cpp b/src/block/square/square.cpp
index 601d66c15..b1517b990 100644
--- a/src/block/square/square.cpp
+++ b/src/block/square/square.cpp
@@ -138,7 +138,7 @@ void Square::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* Square Key Schedule
*/
-void Square::key_schedule(const byte key[], u32bit)
+void Square::key_schedule(const byte key[], size_t)
{
SecureVector<u32bit> XEK(36), XDK(36);
diff --git a/src/block/square/square.h b/src/block/square/square.h
index e3b07f24d..0a134bcb5 100644
--- a/src/block/square/square.h
+++ b/src/block/square/square.h
@@ -27,7 +27,7 @@ class BOTAN_DLL Square : public BlockCipher
Square() : BlockCipher(16, 16), EK(28), DK(28), ME(32), MD(32) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
static void transform(u32bit[4]);
diff --git a/src/block/tea/tea.cpp b/src/block/tea/tea.cpp
index 434c74ba6..4ef995a7c 100644
--- a/src/block/tea/tea.cpp
+++ b/src/block/tea/tea.cpp
@@ -63,7 +63,7 @@ void TEA::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* TEA Key Schedule
*/
-void TEA::key_schedule(const byte key[], u32bit)
+void TEA::key_schedule(const byte key[], size_t)
{
for(size_t i = 0; i != 4; ++i)
K[i] = load_be<u32bit>(key, i);
diff --git a/src/block/tea/tea.h b/src/block/tea/tea.h
index 7cb18a4f8..eeab13cbc 100644
--- a/src/block/tea/tea.h
+++ b/src/block/tea/tea.h
@@ -27,7 +27,7 @@ class BOTAN_DLL TEA : public BlockCipher
TEA() : BlockCipher(8, 16), K(4) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> K;
};
diff --git a/src/block/twofish/twofish.cpp b/src/block/twofish/twofish.cpp
index 9c3d57500..41bc7ca1c 100644
--- a/src/block/twofish/twofish.cpp
+++ b/src/block/twofish/twofish.cpp
@@ -116,7 +116,7 @@ void Twofish::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* Twofish Key Schedule
*/
-void Twofish::key_schedule(const byte key[], u32bit length)
+void Twofish::key_schedule(const byte key[], size_t length)
{
SecureVector<byte> S(16);
diff --git a/src/block/twofish/twofish.h b/src/block/twofish/twofish.h
index b94c3adc3..38263af98 100644
--- a/src/block/twofish/twofish.h
+++ b/src/block/twofish/twofish.h
@@ -27,7 +27,7 @@ class BOTAN_DLL Twofish : public BlockCipher
Twofish() : BlockCipher(16, 16, 32, 8), SB(1024), RK(40) {}
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
static void rs_mul(byte[4], byte, size_t);
diff --git a/src/block/xtea/xtea.cpp b/src/block/xtea/xtea.cpp
index 7acad2b6b..597eedd07 100644
--- a/src/block/xtea/xtea.cpp
+++ b/src/block/xtea/xtea.cpp
@@ -121,7 +121,7 @@ void XTEA::decrypt_n(const byte in[], byte out[], size_t blocks) const
/*
* XTEA Key Schedule
*/
-void XTEA::key_schedule(const byte key[], u32bit)
+void XTEA::key_schedule(const byte key[], size_t)
{
SecureVector<u32bit> UK(4);
for(size_t i = 0; i != 4; ++i)
diff --git a/src/block/xtea/xtea.h b/src/block/xtea/xtea.h
index 6a843e21f..c870f588a 100644
--- a/src/block/xtea/xtea.h
+++ b/src/block/xtea/xtea.h
@@ -33,7 +33,7 @@ class BOTAN_DLL XTEA : public BlockCipher
const SecureVector<u32bit>& get_EK() const { return EK; }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
SecureVector<u32bit> EK;
};
diff --git a/src/cms/cms_algo.cpp b/src/cms/cms_algo.cpp
index 79faaed4f..e74c385fa 100644
--- a/src/cms/cms_algo.cpp
+++ b/src/cms/cms_algo.cpp
@@ -134,7 +134,7 @@ SecureVector<byte> CMS_Encoder::encode_params(const std::string& cipher,
{
encoder.start_cons(SEQUENCE).
encode(iv.bits_of(), OCTET_STRING).
- encode(8*key.length()).
+ encode(u32bit(8*key.length())).
end_cons();
}
else
diff --git a/src/engine/openssl/ossl_arc4.cpp b/src/engine/openssl/ossl_arc4.cpp
index 78217a760..1273d239d 100644
--- a/src/engine/openssl/ossl_arc4.cpp
+++ b/src/engine/openssl/ossl_arc4.cpp
@@ -23,13 +23,13 @@ class ARC4_OpenSSL : public StreamCipher
std::string name() const;
StreamCipher* clone() const { return new ARC4_OpenSSL(SKIP); }
- ARC4_OpenSSL(u32bit s = 0) : StreamCipher(1, 32), SKIP(s) { clear(); }
+ ARC4_OpenSSL(size_t s = 0) : StreamCipher(1, 32), SKIP(s) { clear(); }
~ARC4_OpenSSL() { clear(); }
private:
- void cipher(const byte[], byte[], u32bit);
- void key_schedule(const byte[], u32bit);
+ void cipher(const byte[], byte[], size_t);
+ void key_schedule(const byte[], size_t);
- const u32bit SKIP;
+ const size_t SKIP;
RC4_KEY state;
};
@@ -46,18 +46,18 @@ std::string ARC4_OpenSSL::name() const
/*
* ARC4 Key Schedule
*/
-void ARC4_OpenSSL::key_schedule(const byte key[], u32bit length)
+void ARC4_OpenSSL::key_schedule(const byte key[], size_t length)
{
RC4_set_key(&state, length, key);
byte dummy = 0;
- for(u32bit j = 0; j != SKIP; j++)
+ for(size_t i = 0; i != SKIP; ++i)
RC4(&state, 1, &dummy, &dummy);
}
/*
* ARC4 Encryption
*/
-void ARC4_OpenSSL::cipher(const byte in[], byte out[], u32bit length)
+void ARC4_OpenSSL::cipher(const byte in[], byte out[], size_t length)
{
RC4(&state, length, in, out);
}
diff --git a/src/engine/openssl/ossl_bc.cpp b/src/engine/openssl/ossl_bc.cpp
index 9dc1159a0..891927b9f 100644
--- a/src/engine/openssl/ossl_bc.cpp
+++ b/src/engine/openssl/ossl_bc.cpp
@@ -29,7 +29,7 @@ class EVP_BlockCipher : public BlockCipher
private:
void encrypt_n(const byte in[], byte out[], size_t blocks) const;
void decrypt_n(const byte in[], byte out[], size_t blocks) const;
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
std::string cipher_name;
mutable EVP_CIPHER_CTX encrypt, decrypt;
};
@@ -110,7 +110,7 @@ void EVP_BlockCipher::decrypt_n(const byte in[], byte out[],
/*
* Set the key
*/
-void EVP_BlockCipher::key_schedule(const byte key[], u32bit length)
+void EVP_BlockCipher::key_schedule(const byte key[], size_t length)
{
SecureVector<byte> full_key(key, length);
@@ -211,14 +211,14 @@ OpenSSL_Engine::find_block_cipher(const SCAN_Name& request,
HANDLE_EVP_CIPHER_KEYLEN("RC2", EVP_rc2_ecb(), 1, 32, 1);
#endif
-#if !defined(OPENSSL_NO_RC5)
+#if !defined(OPENSSL_NO_RC5) && 0
if(request.algo_name() == "RC5")
if(request.arg_as_integer(0, 12) == 12)
return new EVP_BlockCipher(EVP_rc5_32_12_16_ecb(),
"RC5(12)", 1, 32, 1);
#endif
-#if !defined(OPENSSL_NO_IDEA)
+#if !defined(OPENSSL_NO_IDEA) && 0
HANDLE_EVP_CIPHER("IDEA", EVP_idea_ecb());
#endif
diff --git a/src/mac/cbc_mac/cbc_mac.cpp b/src/mac/cbc_mac/cbc_mac.cpp
index 1b03f0ab9..2a5a6c10f 100644
--- a/src/mac/cbc_mac/cbc_mac.cpp
+++ b/src/mac/cbc_mac/cbc_mac.cpp
@@ -54,7 +54,7 @@ void CBC_MAC::final_result(byte mac[])
/*
* CBC-MAC Key Schedule
*/
-void CBC_MAC::key_schedule(const byte key[], u32bit length)
+void CBC_MAC::key_schedule(const byte key[], size_t length)
{
e->set_key(key, length);
}
diff --git a/src/mac/cbc_mac/cbc_mac.h b/src/mac/cbc_mac/cbc_mac.h
index 69fef9c57..6b30ef764 100644
--- a/src/mac/cbc_mac/cbc_mac.h
+++ b/src/mac/cbc_mac/cbc_mac.h
@@ -31,7 +31,7 @@ class BOTAN_DLL CBC_MAC : public MessageAuthenticationCode
private:
void add_data(const byte[], size_t);
void final_result(byte[]);
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
BlockCipher* e;
SecureVector<byte> state;
diff --git a/src/mac/cmac/cmac.cpp b/src/mac/cmac/cmac.cpp
index 05fa7d037..05f487ad1 100644
--- a/src/mac/cmac/cmac.cpp
+++ b/src/mac/cmac/cmac.cpp
@@ -89,7 +89,7 @@ void CMAC::final_result(byte mac[])
/*
* CMAC Key Schedule
*/
-void CMAC::key_schedule(const byte key[], u32bit length)
+void CMAC::key_schedule(const byte key[], size_t length)
{
clear();
e->set_key(key, length);
diff --git a/src/mac/cmac/cmac.h b/src/mac/cmac/cmac.h
index 5655e1eea..ac929eaf3 100644
--- a/src/mac/cmac/cmac.h
+++ b/src/mac/cmac/cmac.h
@@ -39,7 +39,7 @@ class BOTAN_DLL CMAC : public MessageAuthenticationCode
private:
void add_data(const byte[], size_t);
void final_result(byte[]);
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
BlockCipher* e;
SecureVector<byte> buffer, state, B, P;
diff --git a/src/mac/hmac/hmac.cpp b/src/mac/hmac/hmac.cpp
index c842a944d..dfd800426 100644
--- a/src/mac/hmac/hmac.cpp
+++ b/src/mac/hmac/hmac.cpp
@@ -34,7 +34,7 @@ void HMAC::final_result(byte mac[])
/*
* HMAC Key Schedule
*/
-void HMAC::key_schedule(const byte key[], u32bit length)
+void HMAC::key_schedule(const byte key[], size_t length)
{
hash->clear();
std::fill(i_key.begin(), i_key.end(), 0x36);
diff --git a/src/mac/hmac/hmac.h b/src/mac/hmac/hmac.h
index 3941baef9..33af62f6a 100644
--- a/src/mac/hmac/hmac.h
+++ b/src/mac/hmac/hmac.h
@@ -31,7 +31,8 @@ class BOTAN_DLL HMAC : public MessageAuthenticationCode
private:
void add_data(const byte[], size_t);
void final_result(byte[]);
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
+
HashFunction* hash;
SecureVector<byte> i_key, o_key;
};
diff --git a/src/mac/ssl3mac/ssl3_mac.cpp b/src/mac/ssl3mac/ssl3_mac.cpp
index fc8d652c6..ac71be43c 100644
--- a/src/mac/ssl3mac/ssl3_mac.cpp
+++ b/src/mac/ssl3mac/ssl3_mac.cpp
@@ -32,7 +32,7 @@ void SSL3_MAC::final_result(byte mac[])
/*
* SSL3-MAC Key Schedule
*/
-void SSL3_MAC::key_schedule(const byte key[], u32bit length)
+void SSL3_MAC::key_schedule(const byte key[], size_t length)
{
hash->clear();
std::fill(i_key.begin(), i_key.end(), 0x36);
diff --git a/src/mac/ssl3mac/ssl3_mac.h b/src/mac/ssl3mac/ssl3_mac.h
index 4d7b07dcc..50042f3d0 100644
--- a/src/mac/ssl3mac/ssl3_mac.h
+++ b/src/mac/ssl3mac/ssl3_mac.h
@@ -31,7 +31,7 @@ class BOTAN_DLL SSL3_MAC : public MessageAuthenticationCode
private:
void add_data(const byte[], size_t);
void final_result(byte[]);
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
HashFunction* hash;
SecureVector<byte> i_key, o_key;
diff --git a/src/mac/x919_mac/x919_mac.cpp b/src/mac/x919_mac/x919_mac.cpp
index ef812ff81..330ca0043 100644
--- a/src/mac/x919_mac/x919_mac.cpp
+++ b/src/mac/x919_mac/x919_mac.cpp
@@ -53,7 +53,7 @@ void ANSI_X919_MAC::final_result(byte mac[])
/*
* ANSI X9.19 MAC Key Schedule
*/
-void ANSI_X919_MAC::key_schedule(const byte key[], u32bit length)
+void ANSI_X919_MAC::key_schedule(const byte key[], size_t length)
{
e->set_key(key, 8);
if(length == 8) d->set_key(key, 8);
diff --git a/src/mac/x919_mac/x919_mac.h b/src/mac/x919_mac/x919_mac.h
index a1710b654..e9fe56c8d 100644
--- a/src/mac/x919_mac/x919_mac.h
+++ b/src/mac/x919_mac/x919_mac.h
@@ -31,7 +31,7 @@ class BOTAN_DLL ANSI_X919_MAC : public MessageAuthenticationCode
private:
void add_data(const byte[], size_t);
void final_result(byte[]);
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
BlockCipher* e;
BlockCipher* d;
diff --git a/src/stream/arc4/arc4.cpp b/src/stream/arc4/arc4.cpp
index 92a9ac092..9b8404e4e 100644
--- a/src/stream/arc4/arc4.cpp
+++ b/src/stream/arc4/arc4.cpp
@@ -59,7 +59,7 @@ void ARC4::generate()
/*
* ARC4 Key Schedule
*/
-void ARC4::key_schedule(const byte key[], u32bit length)
+void ARC4::key_schedule(const byte key[], size_t length)
{
clear();
diff --git a/src/stream/arc4/arc4.h b/src/stream/arc4/arc4.h
index aa1c39331..85ddb69b7 100644
--- a/src/stream/arc4/arc4.h
+++ b/src/stream/arc4/arc4.h
@@ -33,7 +33,7 @@ class BOTAN_DLL ARC4 : public StreamCipher
~ARC4() { clear(); }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
void generate();
const size_t SKIP;
diff --git a/src/stream/ctr/ctr.cpp b/src/stream/ctr/ctr.cpp
index f1b73a8c3..0a962bd5a 100644
--- a/src/stream/ctr/ctr.cpp
+++ b/src/stream/ctr/ctr.cpp
@@ -48,7 +48,7 @@ void CTR_BE::clear()
/*
* Set the key
*/
-void CTR_BE::key_schedule(const byte key[], u32bit key_len)
+void CTR_BE::key_schedule(const byte key[], size_t key_len)
{
permutation->set_key(key, key_len);
diff --git a/src/stream/ctr/ctr.h b/src/stream/ctr/ctr.h
index 45a3e29e2..8c317acb0 100644
--- a/src/stream/ctr/ctr.h
+++ b/src/stream/ctr/ctr.h
@@ -39,7 +39,7 @@ class BOTAN_DLL CTR_BE : public StreamCipher
CTR_BE(BlockCipher* cipher);
~CTR_BE();
private:
- void key_schedule(const byte key[], u32bit key_len);
+ void key_schedule(const byte key[], size_t key_len);
void increment_counter();
BlockCipher* permutation;
diff --git a/src/stream/ofb/ofb.cpp b/src/stream/ofb/ofb.cpp
index 1b1a066ee..921401d32 100644
--- a/src/stream/ofb/ofb.cpp
+++ b/src/stream/ofb/ofb.cpp
@@ -45,7 +45,7 @@ void OFB::clear()
/*
* Set the key
*/
-void OFB::key_schedule(const byte key[], u32bit key_len)
+void OFB::key_schedule(const byte key[], size_t key_len)
{
permutation->set_key(key, key_len);
diff --git a/src/stream/ofb/ofb.h b/src/stream/ofb/ofb.h
index 832b93287..af771de15 100644
--- a/src/stream/ofb/ofb.h
+++ b/src/stream/ofb/ofb.h
@@ -39,7 +39,7 @@ class BOTAN_DLL OFB : public StreamCipher
OFB(BlockCipher* cipher);
~OFB();
private:
- void key_schedule(const byte key[], u32bit key_len);
+ void key_schedule(const byte key[], size_t key_len);
BlockCipher* permutation;
SecureVector<byte> buffer;
diff --git a/src/stream/salsa20/salsa20.cpp b/src/stream/salsa20/salsa20.cpp
index 7f76276bb..7d062befe 100644
--- a/src/stream/salsa20/salsa20.cpp
+++ b/src/stream/salsa20/salsa20.cpp
@@ -126,7 +126,7 @@ void Salsa20::cipher(const byte in[], byte out[], size_t length)
/*
* Salsa20 Key Schedule
*/
-void Salsa20::key_schedule(const byte key[], u32bit length)
+void Salsa20::key_schedule(const byte key[], size_t length)
{
static const u32bit TAU[] =
{ 0x61707865, 0x3120646e, 0x79622d36, 0x6b206574 };
diff --git a/src/stream/salsa20/salsa20.h b/src/stream/salsa20/salsa20.h
index 2addee9a9..213cb1117 100644
--- a/src/stream/salsa20/salsa20.h
+++ b/src/stream/salsa20/salsa20.h
@@ -29,10 +29,12 @@ class BOTAN_DLL Salsa20 : public StreamCipher
std::string name() const;
StreamCipher* clone() const { return new Salsa20; }
- Salsa20() : StreamCipher(16, 32, 16), state(16), buffer(64) { position = 0; }
+ Salsa20() : StreamCipher(16, 32, 16), state(16), buffer(64)
+ { position = 0; }
+
~Salsa20() { clear(); }
private:
- void key_schedule(const byte key[], u32bit key_len);
+ void key_schedule(const byte key[], size_t key_len);
SecureVector<u32bit> state;
SecureVector<byte> buffer;
diff --git a/src/stream/turing/turing.cpp b/src/stream/turing/turing.cpp
index 160d07a65..82e3aa2bb 100644
--- a/src/stream/turing/turing.cpp
+++ b/src/stream/turing/turing.cpp
@@ -223,7 +223,7 @@ u32bit Turing::fixedS(u32bit W)
/*
* Turing Key Schedule
*/
-void Turing::key_schedule(const byte key[], u32bit length)
+void Turing::key_schedule(const byte key[], size_t length)
{
K.resize(length / 4);
for(size_t i = 0; i != length; ++i)
diff --git a/src/stream/turing/turing.h b/src/stream/turing/turing.h
index f270c291a..adfabc0f1 100644
--- a/src/stream/turing/turing.h
+++ b/src/stream/turing/turing.h
@@ -34,7 +34,7 @@ class BOTAN_DLL Turing : public StreamCipher
{ position = 0; }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
void generate();
static u32bit fixedS(u32bit);
diff --git a/src/stream/wid_wake/wid_wake.cpp b/src/stream/wid_wake/wid_wake.cpp
index 3db87214e..51159064d 100644
--- a/src/stream/wid_wake/wid_wake.cpp
+++ b/src/stream/wid_wake/wid_wake.cpp
@@ -72,7 +72,7 @@ void WiderWake_41_BE::generate(size_t length)
/*
* WiderWake Key Schedule
*/
-void WiderWake_41_BE::key_schedule(const byte key[], u32bit)
+void WiderWake_41_BE::key_schedule(const byte key[], size_t)
{
for(size_t i = 0; i != 4; ++i)
t_key[i] = load_be<u32bit>(key, i);
diff --git a/src/stream/wid_wake/wid_wake.h b/src/stream/wid_wake/wid_wake.h
index ac8d8e2d6..17e77d5b5 100644
--- a/src/stream/wid_wake/wid_wake.h
+++ b/src/stream/wid_wake/wid_wake.h
@@ -37,7 +37,7 @@ class BOTAN_DLL WiderWake_41_BE : public StreamCipher
{ }
private:
- void key_schedule(const byte[], u32bit);
+ void key_schedule(const byte[], size_t);
void generate(size_t);
diff --git a/src/sym_algo/sym_algo.h b/src/sym_algo/sym_algo.h
index 60180de90..0a1423f13 100644
--- a/src/sym_algo/sym_algo.h
+++ b/src/sym_algo/sym_algo.h
@@ -24,17 +24,17 @@ class BOTAN_DLL SymmetricAlgorithm
/**
* The maximum allowed key length.
*/
- const u32bit MAXIMUM_KEYLENGTH;
+ const size_t MAXIMUM_KEYLENGTH;
/**
* The minimal allowed key length.
*/
- const u32bit MINIMUM_KEYLENGTH;
+ const size_t MINIMUM_KEYLENGTH;
/**
* A valid keylength is a multiple of this value.
*/
- const u32bit KEYLENGTH_MULTIPLE;
+ const size_t KEYLENGTH_MULTIPLE;
/**
* The name of the algorithm.
@@ -54,7 +54,7 @@ class BOTAN_DLL SymmetricAlgorithm
* @param key the to be set as a byte array.
* @param length in bytes of key param
*/
- void set_key(const byte key[], u32bit length)
+ void set_key(const byte key[], size_t length)
{
if(!valid_keylength(length))
throw Invalid_Key_Length(name(), length);
@@ -66,7 +66,7 @@ class BOTAN_DLL SymmetricAlgorithm
* @param length the key length to be checked.
* @return true if the key length is valid.
*/
- bool valid_keylength(u32bit length) const
+ bool valid_keylength(size_t length) const
{
return ((length >= MINIMUM_KEYLENGTH) &&
(length <= MAXIMUM_KEYLENGTH) &&
@@ -79,7 +79,7 @@ class BOTAN_DLL SymmetricAlgorithm
* @param key_max the maximum allowed key length
* @param key_mod any valid key length must be a multiple of this value
*/
- SymmetricAlgorithm(u32bit key_min, u32bit key_max, u32bit key_mod) :
+ SymmetricAlgorithm(size_t key_min, size_t key_max, size_t key_mod) :
MAXIMUM_KEYLENGTH(key_max ? key_max : key_min),
MINIMUM_KEYLENGTH(key_min),
KEYLENGTH_MULTIPLE(key_mod)
@@ -92,7 +92,7 @@ class BOTAN_DLL SymmetricAlgorithm
* @param key the key
* @param length of key
*/
- virtual void key_schedule(const byte key[], u32bit length) = 0;
+ virtual void key_schedule(const byte key[], size_t length) = 0;
};
/**
diff --git a/src/sym_algo/symkey.cpp b/src/sym_algo/symkey.cpp
index 4452fd8fb..e8b9ddd21 100644
--- a/src/sym_algo/symkey.cpp
+++ b/src/sym_algo/symkey.cpp
@@ -18,7 +18,7 @@ namespace Botan {
* Create an OctetString from RNG output
*/
OctetString::OctetString(RandomNumberGenerator& rng,
- u32bit length)
+ size_t length)
{
bits = rng.random_vec(length);
}
@@ -30,7 +30,7 @@ void OctetString::change(const std::string& hex_string)
{
SecureVector<byte> decoded(1 + hex_string.length() / 2);
- u32bit written = hex_decode(&decoded[0], hex_string);
+ size_t written = hex_decode(&decoded[0], hex_string);
bits.set(&decoded[0], written);
}
@@ -38,7 +38,7 @@ void OctetString::change(const std::string& hex_string)
/*
* Create an OctetString from a byte string
*/
-void OctetString::change(const byte in[], u32bit n)
+void OctetString::change(const byte in[], size_t n)
{
bits.resize(n);
bits.copy(in, n);
@@ -73,7 +73,7 @@ void OctetString::set_odd_parity()
0xF1, 0xF1, 0xF2, 0xF2, 0xF4, 0xF4, 0xF7, 0xF7, 0xF8, 0xF8, 0xFB, 0xFB,
0xFD, 0xFD, 0xFE, 0xFE };
- for(u32bit j = 0; j != bits.size(); ++j)
+ for(size_t j = 0; j != bits.size(); ++j)
bits[j] = ODD_PARITY[bits[j]];
}
diff --git a/src/sym_algo/symkey.h b/src/sym_algo/symkey.h
index 154ae59da..6735b2b87 100644
--- a/src/sym_algo/symkey.h
+++ b/src/sym_algo/symkey.h
@@ -22,7 +22,7 @@ class BOTAN_DLL OctetString
/**
* @return size of this octet string in bytes
*/
- u32bit length() const { return bits.size(); }
+ size_t length() const { return bits.size(); }
/**
* @return this object as a SecureVector<byte>
@@ -67,7 +67,7 @@ class BOTAN_DLL OctetString
* @param in the input
* @param length of in in bytes
*/
- void change(const byte in[], u32bit length);
+ void change(const byte in[], size_t length);
/**
* Change the contents of this octet string
@@ -80,7 +80,7 @@ class BOTAN_DLL OctetString
* @param rng is a random number generator
* @param len is the desired length in bytes
*/
- OctetString(class RandomNumberGenerator& rng, u32bit len);
+ OctetString(class RandomNumberGenerator& rng, size_t len);
/**
* Create a new OctetString
@@ -93,7 +93,7 @@ class BOTAN_DLL OctetString
* @param in is an array
* @param len is the length of in in bytes
*/
- OctetString(const byte in[], u32bit len) { change(in, len); }
+ OctetString(const byte in[], size_t len) { change(in, len); }
/**
* Create a new OctetString