Viewing File: /usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyc

ó
Bd\Rc@sMdZddlZejddkrEejddkrEddlTnddlZddlZddlZddlZddlm	Z	ddl
mZdd	lm
Z
d
efd„ƒYZdefd
„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZejƒZdad„Zd„Zd„Zd„ZdS(s$Id$iÿÿÿÿNiii(t*(tfloor(tOSRNG(tFortunaAccumulatort_EntropySourcecBseZd„Zd„ZRS(cCs||_||_d|_dS(Ni(t_fortunat_src_numt	_pool_num(tselftaccumulatortsrc_num((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyt__init__)s		cCs4|jj|j|j|ƒ|jdd@|_dS(Nii(Rtadd_random_eventRR(Rtdata((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pytfeed.s(t__name__t
__module__RR(((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyR(s	t_EntropyCollectorcBs#eZd„Zd„Zd„ZRS(cCsItjƒ|_t|dƒ|_t|dƒ|_t|dƒ|_dS(Niÿiþiý(Rtnewt_osrngRt	_osrng_est_time_est	_clock_es(RR	((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyR4scCszxftdƒD]X}|jjdƒ}x7tdƒD])}|jj||d|dd!ƒq2Wd}q
W|jjƒdS(Nii ii(trangeRtreadRRtNonetflush(Rtitblocktp((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pytreinit:s'
cCs˜|jj|jjdƒƒtjƒ}|jjtjdtd|t	|ƒƒƒƒtj
ƒ}|jjtjdtd|t	|ƒƒƒƒdS(Nis@Iiii@i@(RRRRttimeRtstructtpacktintRtclockR(Rtt((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pytcollectDs
0(RRRRR%(((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyR2s		
t_UserFriendlyRNGcBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs8t|_tjƒ|_t|jƒ|_|jƒdS(N(tFalsetclosedRt_faRt_ecR(R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyRSs	cCs-tjƒ|_|jjƒ|jjƒdS(skInitialize the random number generator and seed it with entropy from
        the operating system.
        N(tostgetpidt_pidR*RR)t_forget_last_reseed(R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyRYs
cCst|_d|_d|_dS(N(tTrueR(RRR)(R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pytcloseos		cCsdS(N((R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyRtscCs„|jrtdƒ‚nt|ttfƒs<tdƒ‚n|dkrWtdƒ‚n|jjƒ|jj	|ƒ}|j
ƒ|S(sReturn N bytes from the RNG.sI/O operation on closed filesan integer is requiredis%cannot read to end of infinite stream(R(t
ValueErrort
isinstancetlongR"t	TypeErrorR*R%R)trandom_datat
_check_pid(RtNtretval((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyRws	

cCs(tjƒ|jkr$tdƒ‚ndS(NsTPID check failed. RNG must be re-initialized after fork(). Hint: Try Random.atfork()(R+R,R-tAssertionError(R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyR6Žs
(RRRRR0RRR6(((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyR&Qs					t_LockingUserFriendlyRNGcBs,eZd„Zd„Zd„Zd„ZRS(cCs tjƒ|_tj|ƒdS(N(t	threadingtLockt_lockR&R(R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyRscCs3|jjƒztj|ƒSWd|jjƒXdS(N(R=tacquireR&R0trelease(R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyR0¡s
cCs3|jjƒztj|ƒSWd|jjƒXdS(N(R=R>R&RR?(R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyR¨s
cCs6|jjƒztj||ƒSWd|jjƒXdS(N(R=R>R&RR?(Rtbytes((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyR¯s
(RRRR0RR(((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyR:œs			tRNGFilecBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCst|_||_dS(N(R'R(t
_singleton(Rt	singleton((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyR·s	cCsdS(sPEP 343 supportN((R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyt	__enter__¼scCs|jƒdS(sPEP 343 supportN(R0(R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyt__exit__¾scCst|_d|_dS(N(R/R(RRB(R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyR0Âs	cCs(|jrtdƒ‚n|jj|ƒS(NsI/O operation on closed file(R(R1RBR(RR@((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyRÇs	cCs|jrtdƒ‚ndS(NsI/O operation on closed file(R(R1(R((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyRÌs	(RRRRDRER0RR(((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyRA¶s					cCs<tjƒz tdkr%tƒantSWdtjƒXdS(N(t_singleton_lockR>RBRR:R?(((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyt_get_singletonÒs
cCs
ttƒƒS(N(RARG(((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyRÜscCstƒjƒdS(N(RGR(((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyRßscCstƒj|ƒS(sEReturn the specified number of cryptographically-strong random bytes.(RGR(tn((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pytget_random_bytesâs(t__revision__tsystversion_infotCrypto.Util.py21compatR+R;R RtmathRt
Crypto.RandomRtCrypto.Random.FortunaRtobjectRRR&R:RAR<RFRRBRGRRRI(((sD/usr/lib64/python2.7/site-packages/Crypto/Random/_UserFriendlyRNG.pyt<module>s*&

K	
		
Back to Directory File Manager