Viewing File: /usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyo

ó
Â/¾Oc@s×dZdZdgZddlZejddkrTejddkrTddlTndd	lmZmZm	Z	d
e
fd„ƒYZdefd
„ƒYZ
ddddd„Zdefd„ƒYZdd„ZdS(sUPure Python implementation of the RSA-related portions of Crypto.PublicKey._fastmath.s$Id$t
rsa_constructiÿÿÿÿNiii(t*(tsizetinversetGCDterrorcBseZRS((t__name__t
__module__(((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyR%st_RSAKeycBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	RS(cCs|t||j|jƒS(N(tpowtetn(tselftmtr((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyt_blind)scCst||jƒ||jS(N(RR(RR
R((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyt_unblind-scCsí|jƒstdƒ‚nt|dƒr×t|dƒr×t|dƒr×t||j|jd|jƒ}t||j|jd|jƒ}||}|dkr´||j}n||j|j}||j|St||j|jƒS(NsNo private keytptqtuii(	thas_privatet	TypeErrorthasattrR	tdRRRR(Rtctm1tm2th((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyt_decrypt1s-##
cCst||j|jƒS(N(R	R
R(RR
((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyt_encrypt?scCs(|jƒstdƒ‚n|j|ƒS(NsNo private key(RRR(RR
((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyt_signCscCs|j|ƒ|kS(N(R(RR
tsig((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyt_verifyHscCs
t|dƒS(NR(R(R((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyRKscCst|jƒdS(s7Return the maximum number of bits that can be encryptedi(RR(R((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyRNs(
RRRRRRRR RR(((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyR(s							c
Csºtƒ}||_||_|dkr+|S||_|dk	ra|dk	ra||_||_n%||d}|}x'|ddkržt|dƒd}qxWd}	d}
xª|	rW|
dkrW|}x€||krIt|
||ƒ}|dkr<||dkr<t|d|ƒdkr<t	|d|ƒ|_d}	Pn|d}qÊW|
d}
q®W|	smt
dƒ‚nt||jƒd|_|dk	rž||_nt|j|jƒ|_|S(sConstruct an RSAKey objectiiiids2Unable to compute factors p and q from exponent d.N(
RRR
tNoneRRRtdivmodR	Rt
ValueErrorRR(
RR
RRRRtobjtktottttspottedtatktcand((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyRRs@					4t_DSAKeycBs,eZd„Zd„Zd„Zd„ZRS(cCst|jƒdS(s7Return the maximum number of bits that can be encryptedi(RR(R((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyRscCs
t|dƒS(Ntx(R(R((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyR“scCs |jƒstdƒ‚nd|ko5|jknsItdƒ‚nt||jƒ}t|j||jƒ|j}|||j||j}||fS(NsNo private keylsk is not between 2 and q-1(	RRRR#RR	tgRR,(RR
R)tinv_kRts((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyR–scCs¾d|ko|jkns@d|ko:|jknrDtSt||jƒ}|||j}|||j}t|j||jƒt|j||jƒ|j|j}||kS(Ni(RtFalseRR	R-Rty(RR
RR/twtu1tu2tv((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyR ¡s@<(RRRRRR (((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyR+Žs			cCsItƒ}||_||_||_||_|dk	rE||_n|S(N(R+R1R-RRR!R,(R1R-RRR,R$((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyt
dsa_construct«s					(t__doc__t__revision__t__all__tsystversion_infotCrypto.Util.py21compattCrypto.Util.numberRRRt	ExceptionRtobjectRR!RR+R6(((s@/usr/lib64/python2.7/site-packages/Crypto/PublicKey/_slowmath.pyt<module>s	&
*<
Back to Directory File Manager