summaryrefslogtreecommitdiff
path: root/blumshub.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'blumshub.cpp')
-rw-r--r--blumshub.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/blumshub.cpp b/blumshub.cpp
index f715c84..40c654a 100644
--- a/blumshub.cpp
+++ b/blumshub.cpp
@@ -41,9 +41,11 @@ BlumBlumShub::BlumBlumShub(const Integer &p, const Integer &q, const Integer &se
void BlumBlumShub::Seek(dword index)
{
- Integer e = a_exp_b_mod_c (2, ((index*8) / maxBits + 1), (p-1)*(q-1));
+ Integer i(Integer::POSITIVE, HIGH_WORD(index), word(index));
+ i *= 8;
+ Integer e = a_exp_b_mod_c (2, i / maxBits + 1, (p-1)*(q-1));
current = modn.Exponentiate(x0, e);
- bitsLeft = maxBits - int((index*8) % maxBits);
+ bitsLeft = maxBits - i % maxBits;
}
NAMESPACE_END