Viewing File: /usr/lib64/python2.7/site-packages/Crypto/PublicKey/_DSA.pyc

ó
Bd\Rc@s’dZddlTddlmZddlmZmZddlmZddl	Tde
fd„ƒYZd„Zdd	„Zd
d
d„ƒYZdS(s$Id$iÿÿÿÿ(t*(tnumber(t
bytes_to_longt
long_to_bytes(tSHAterrorcBseZRS((t__name__t
__module__(((s;/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_DSA.pyR$scCs/|dƒ}tj|ƒjƒ}tjtt|ƒdƒƒjƒ}tdƒ}xutddƒD]d}t||ƒt||ƒA}|dkrŸ|dB}n|dkr¸|dB}n|d|}qbWxt|ƒsæ|d}qÍWt	ddƒ|kot	dd	ƒknr||fSt
d
ƒ‚dS(Niiii€iiilŸl sBad q value generated(RtnewtdigestRRtbignumtrangetbordtisPrimetpowtRuntimeError(trandfunctSthash1thash2tqtitc((s;/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_DSA.pyt	generateQ's %

.
cCsî|dkrtdƒ‚ntƒ}|r7|dƒnx¢t|ƒ\}|_t|ddƒd}ddi}}}|jd?d@}	ttdƒ|	ƒ}
ttdƒ|dƒ}xú|d	krµxNtd|dƒD]9}tt	j
|t|ƒt|ƒƒjƒƒ||<qÜW|||
}
x0t|dd
d
ƒD]}|
d>||}
q>W|
|}||d|jd}||kr™t
|ƒr™Pn|d||d}}q¼W|d	krÆPn|r:|dƒq:q:||_t|d|jƒd}|r|d
ƒnx_t||ƒƒ|d}t|||ƒ}d|ko\|dknr|dkrPqq||_|r|dƒnx8t|dƒƒ}d|ko¿|jknr“Pq“q“|t|||ƒ|_|_|S(sègenerate(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.
    i sKey length < 160 bitssp,q
iiiiiiiÿÿÿÿl s4096 multiples failed
sh,g
sx,y
i(t
ValueErrortDSAobjRRtdivmodRR
RRRRtbstrR	R
tptgtxty(tbitsRt
progress_functobjRtntCtNtVtbtpowbtpowL1tktWtXRtpowerthRR((s;/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_DSA.pytgenerate_py9sZ	
7
	
,	
RcBseZRS((RR(((s;/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_DSA.pyRqsN((t__revision__tCrypto.PublicKey.pubkeytCrypto.UtilRtCrypto.Util.numberRRtCrypto.HashRtCrypto.Util.py3compatt	ExceptionRRtNoneR/R(((s;/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_DSA.pyt<module>s

	8
Back to Directory File Manager