CVS: crypto/Util number.py,1.11,1.12
"A.M. Kuchling" <[email protected]> Fri, 04 Apr 2003 10:04:46 -0800
| Newsgroups | gmane.comp.python.cryptography.cvs |
|---|---|
| Message-ID | <[email protected]> |
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
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb:
Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/