ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ Bd\Rc@sdZdZddlZddlZddlZddlTejdkrUdZneZdejfdYZ d ejfd YZ d ejfd YZ d ejfdYZ ddZdZdS(s&Self-testing for PyCrypto hash moduless$Id$iN(t*icKs |jS(N(tcopy(tkwargs((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pytdict&stHashDigestSizeSelfTestcBs#eZdZdZdZRS(cCs/tjj|||_||_||_dS(N(tunittesttTestCaset__init__thashmodtexpectedt description(tselfRR R ((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyR.s  cCs|jS(N(R (R ((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pytshortDescription4scCsq|jt|jd|j|jj|j|jj}|jt|d|j|j|jdS(Nt digest_size(t failUnlessthasattrRt assertEqualsR R tnew(R th((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pytrunTest7s (t__name__t __module__RR R(((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyR,s  t HashSelfTestcBs#eZdZdZdZRS(cCs8tjj|||_||_||_||_dS(N(RRRRR tinputR (R RR R R((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyRAs    cCs|jS(N(R (R ((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyR HscCsR|jj}|j|jtj|j}|j}|jj|j}|j}tj|j}|j|j |t j ddkr|j|j ||j|j |n2|j|j j ||j|j j ||j|j ||j}|j|jtj|j}|j|j |dS(Nii( RRtupdateRtbinasciitb2a_hextdigestt hexdigestt assertEqualR tsyst version_infotdecode(R Rtout1tout2tout3tout4th2tout5((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyRKs$   (RRRR R(((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyR?s  t HashTestOIDcBseZdZdZRS(cCs&tjj|||_||_dS(N(RRRRtoid(R RR(((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyRhs cCsx|jj}|jdkr^yd}|j}Wntk rJd}nX|j|dn|j|j|jdS(Nii(RRR(tNonetAttributeErrorR(R Rtraisedta((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyRms   (RRRR(((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyR'gs t MACSelfTestcBs#eZdZdZdZRS(cCsJtjj|||_||_||_||_||_||_dS(N( RRRRt expected_dictRtkeythashmodsR (R RR R.RR/R0((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyR{s     cCs|jS(N(R (R ((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyR sc Csx|jjD]}|j|}tjt|j}tjt|j}tdj|j|j }|j j |d|}|j |tj |j}|j}|j j |||}|j} tj |j} |j} |j tdtj | j} |j||tjddkrn|j|||j|| n,|j|j||j|j| |j|| |j|| qWdS(Ntt digestmodsblah blah blahii(R.tkeysR0Rta2b_hextbR/RtjointsplitRRRRRRRRRRR ( R thashnameRR/tdataR RR!R"R#R$R%R&((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyRs. "    (RRRR R(((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyR-ys c Csg}xtt|D]}||}tt|dd!\}} t|dkrft| } n|djd} d||d| f} |jt|| || qW|dk rt|}nd||df} |jt || ||jt |||S(Niiislatin-1s %s #%d: %sis%s #%d: digest_size( trangetlentmapR5treprtencodetappendRR)RR'( tmodulet module_namet test_dataR R(tteststitrowR RR tname((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pytmake_hash_testss   c Cs|g}xott|D][}||}|\}}} } d||d| f} |jt|| | |||qW|S(Ns %s #%d: %si(R:R;R?R-( R@RARBR0RCRDRER/R9tresultsR RF((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pytmake_mac_testss &(t__doc__t __revision__RRRtCrypto.Util.py3compatt hexversionRRRRR'R-R)RGRI(((sN/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/Hash/common.pyts     (1