Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/dist-packages/Crypto/PublicKey/
Upload File :
Current File : //usr/lib/python2.7/dist-packages/Crypto/PublicKey/_DSA.pyc


T:Nc@sdZddlTddlmZddlmZmZddlmZddl	Tde
fdYZdZdd	Zd
d
dYZdS(s$Id$i(t*(tnumber(t
bytes_to_longt
long_to_bytes(tSHAterrorcBseZRS((t__name__t
__module__(((s9/usr/lib/python2.7/dist-packages/Crypto/PublicKey/_DSA.pyR$scCs/|d}tj|j}tjtt|dj}td}xutddD]d}t||t||A}|dkr|dB}n|dkr|dB}n|d|}qbWxt|s|d}qWt	dd|kot	dd	knr||fSt
d
dS(NiiiiiiillsBad q value generated(RtnewtdigestRRtbignumtrangetbordtisPrimetpowtRuntimeError(trandfunctSthash1thash2tqtitc((s9/usr/lib/python2.7/dist-packages/Crypto/PublicKey/_DSA.pyt	generateQ's %

.
cCs|dkrtdnt}|r7|dnxt|\}|_t|ddd}ddi}}}|jd?d@}	ttd|	}
ttd|d}x|d	krxNtd|dD]9}tt	j
|t|t|j||<qW|||
}
x0t|dd
d
D]}|
d>||}
q>W|
|}||d|jd}||krt
|rPn|d||d}}qW|d	krPn|r:|dq:q:||_t|d|jd}|r|d
nx_t|||d}t|||}d|ko\|dknr|dkrPqq||_|r|dnx8t|d}d|ko|jknrPqq|t||||_|_|S(sgenerate(bits:int, randfunc:callable, progress_func:callable)

    Generate a DSA key of length 'bits', using 'randfunc' to get
    random data and 'progress_func', if present, to display
    the progress of the key generation.
    isKey length < 160 bitssp,q
iiiiiiils4096 multiples failed
sh,g
sx,y
i(t
ValueErrortDSAobjRRtdivmodRR
RRRRtbstrR	R
tptgtxty(tbitsRt
progress_functobjRtntCtNtVtbtpowbtpowL1tktWtXRtpowerthRR((s9/usr/lib/python2.7/dist-packages/Crypto/PublicKey/_DSA.pytgenerate_py9sZ	
7
	
,	
RcBseZRS((RR(((s9/usr/lib/python2.7/dist-packages/Crypto/PublicKey/_DSA.pyRqsN((t__revision__tCrypto.PublicKey.pubkeytCrypto.UtilRtCrypto.Util.numberRRtCrypto.HashRtCrypto.Util.py3compatt	ExceptionRRtNoneR/R(((s9/usr/lib/python2.7/dist-packages/Crypto/PublicKey/_DSA.pyt<module>s

	8