aboutsummaryrefslogtreecommitdiffstats
path: root/src/block/blowfish
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/block/blowfish
parent60fb91d8cb1710d07041f76050d24229ce91131b (diff)
Use size_t rather than u32bit in SymmetricAlgorithm
Diffstat (limited to 'src/block/blowfish')
-rw-r--r--src/block/blowfish/blowfish.cpp22
-rw-r--r--src/block/blowfish/blowfish.h2
2 files changed, 11 insertions, 13 deletions
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;