CVS: crypto/Util number.py,1.7,1.8
"A.M. Kuchling" <[email protected]> Fri, 21 Mar 2003 06:16:38 -0800
| Newsgroups | gmane.comp.python.cryptography.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/pycrypto/crypto/Util
In directory sc8-pr-cvs1:/tmp/cvs-serv11940
Modified Files:
number.py
Log Message:
Fix getRandomNumber() for values of N that aren't multiples of 8
Index: number.py
===================================================================
RCS file: /cvsroot/pycrypto/crypto/Util/number.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- number.py 28 Feb 2003 15:26:01 -0000 1.7
+++ number.py 21 Mar 2003 14:16:35 -0000 1.8
@@ -41,8 +41,12 @@
Return an N-bit random number."""
S = randfunc(N/8)
- char = ord(randfunc(1)) >> (8-(N%8))
- return bytes_to_long(chr(char) + S)
+ 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)
def GCD(x,y):
"""GCD(x:long, y:long): long
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf