|
From: A.M. K. <aku...@us...> - 2003-04-04 18:04:47
|
Update of /cvsroot/pycrypto/crypto/Util
In directory sc8-pr-cvs1:/tmp/cvs-serv18324
Modified Files:
number.py
Log Message:
Simplify generation of random N-bit numbers; ensure the high bit is set
Index: number.py
===================================================================
RCS file: /cvsroot/pycrypto/crypto/Util/number.py,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- number.py 4 Apr 2003 15:15:13 -0000 1.11
+++ number.py 4 Apr 2003 18:04:40 -0000 1.12
@@ -39,9 +39,11 @@
odd_bits = N % 8
if odd_bits != 0:
char = ord(randfunc(1)) >> (8-odd_bits)
- char |= (1<<odd_bits)
S = chr(char) + S
- return bytes_to_long(S)
+ value = bytes_to_long(S)
+ value |= 2L ** (N-1) # Ensure high bit is set
+ assert value >= 2L ** (N-1)
+ return value
def GCD(x,y):
"""GCD(x:long, y:long): long
|