ÿØÿà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@sdZdZddlZddlZejddkoGejddkrWddlTnddlTddlZddlm Z m Z m Z d ej fd YZ d e fd YZd e fdYZidZedkrdZejddndS(s(Self-test suite for Crypto.PublicKey.RSAs$Id$iNiii(t*(tlist_test_casesta2b_hextb2a_hextRSATestcBseZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZRS(s eb 7a 19 ac e9 e3 00 63 50 e3 29 50 4b 45 e2 ca 82 31 0b 26 dc d8 7d 5c 68 f1 ee a8 f5 52 67 c3 1b 2e 8b b4 25 1f 84 d7 e0 b2 c0 46 26 f5 af f9 3e dc fb 25 c9 c2 b3 ff 8a e1 0e 83 9a 2d db 4c dc fe 4f f4 77 28 b4 a1 b7 c1 36 2b aa d2 9a b4 8d 28 69 d5 02 41 21 43 58 11 59 1b e3 92 f9 82 fb 3e 87 d0 95 ae b4 04 48 db 97 2f 3a c1 4f 7b c2 75 19 52 81 ce 32 d2 f1 b7 6d 4d 35 3e 2d s 12 53 e0 4d c0 a5 39 7b b4 4a 7a b8 7e 9b f2 a0 39 a3 3d 1e 99 6f c8 2a 94 cc d3 00 74 c9 5d f7 63 72 20 17 06 9e 52 68 da 5d 1c 0b 4f 87 2c f6 53 c1 1d f8 23 14 a6 79 68 df ea e2 8d ef 04 bb 6d 84 b1 c3 1d 65 4a 19 70 e5 78 3b d6 eb 96 a0 24 c2 ca 2f 4a 90 fe 9f 2e f5 c9 c1 40 e5 bb 48 da 95 36 ad 87 00 c8 4f c9 13 0a de a7 4e 55 8d 51 a7 4d df 85 d8 b5 0d e9 68 38 d6 06 3e 09 55 s bb f8 2f 09 06 82 ce 9c 23 38 ac 2b 9d a8 71 f7 36 8d 07 ee d4 10 43 a4 40 d6 b6 f0 74 54 f5 1f b8 df ba af 03 5c 02 ab 61 ea 48 ce eb 6f cd 48 76 ed 52 0d 60 e1 ec 46 19 71 9d 8a 5b 8b 80 7f af b8 e0 a3 df c7 37 72 3e e6 b4 b7 d9 3a 25 84 ee 6a 64 9d 06 09 53 74 88 34 b2 45 45 98 39 4e e0 aa b1 2d 7b 61 a5 1f 52 7a 9a 41 f6 c1 68 7f e2 53 72 98 ca 2a 8f 59 46 f8 e5 fd 09 1d bd cb ls c9 7f b1 f0 27 f4 53 f6 34 12 33 ea aa d1 d9 35 3f 6c 42 d0 88 66 b1 d0 5a 0f 20 35 02 8b 9d 86 98 40 b4 16 66 b4 2e 92 ea 0d a3 b4 32 04 b5 cf ce 33 52 52 4d 04 16 a5 a4 41 e7 00 af 46 15 03 cCsddlmaddlmaddlmam}tt|j|_ tt|j |_ t |j |j d|_ ||j|j d|j d|_||j |j |_t|_dS(Ni(tRSA(tRandom(t bytes_to_longtinverseii(tCrypto.PublicKeyRtCryptoRtCrypto.Util.numberRRRtmodulustnt prime_factortptdivmodtqtetdtutrsa(tselfR((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pytsetUpZs'cCsV|jjd}|j||j||j}|j||j|dS(s7RSA (default implementation) generated key (1 argument)iN(Rtgeneratet_check_private_keyt_exercise_primitivet publickeyt_check_public_keyt_exercise_public_primitive(RtrsaObjtpub((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_generate_1argis     cCsb|jjdtjj}|j||j||j}|j||j |dS(s8RSA (default implementation) generated key (2 arguments)iN( RRRtnewtreadRRRRR(RRR((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_generate_2argrs     cCs{|jjdtjjdd}|j||j||j}|j||j ||j d|j dS(NiRi( RRRR!R"RRRRRt assertEqualR(RRR((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_generate_3args{s$     cCsI|jj|j|jf}|j||j||j|dS(s6RSA (default implementation) constructed key (2-tuple)N(Rt constructR RRt_check_encryptiont_check_verification(RR((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_construct_2tuples  cCs\|jj|j|j|jf}|j||j||j||j|dS(s6RSA (default implementation) constructed key (3-tuple)N( RR&R RRR't_check_decryptiont_check_signingR((RR((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_construct_3tuples $   cCsb|jj|j|j|j|jf}|j||j||j||j |dS(s6RSA (default implementation) constructed key (4-tuple)N( RR&R RRRR'R*R+R((RR((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_construct_4tuples *   cCsu|jj|j|j|j|j|jf}|j||j||j ||j ||j |dS(s6RSA (default implementation) constructed key (5-tuple)N( RR&R RRRRRR'R*R+R((RR((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_construct_5tuples 0    cCs{|jj|j|j|j|j|j|jf}|j||j ||j ||j ||j |dS(s6RSA (default implementation) constructed key (6-tuple)N( RR&R RRRRRRR'R*R+R((RR((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_construct_6tuples 6    cCs|jj|j|j|jg}|j|j|jkpK|j|jk|j|j|jkpv|j|jk|j|j|j|jk|jt |jj|j|j|jdgdS(Ni( RR&R RRt failUnlessRRt assertRaisest ValueError(RR((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_factorings $++ cCs|jd|j|jd|j|jd|j|jd|j|j|j|jj|j|j|jj|j|j|jj|j|j |jj |j|j |jj |j|j |jj |j|j|j |j |jd|j|j|j d|j d|jd|j |j |j |jd|j dk|jd|j dk|jd|jdk|jd|jdkdS(Ni( R$t has_privatetcan_signt can_encryptt can_blindR tkeyRRRRR(RR((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyRs"0!cCst|j}|jd|j|jd|j|jd|j|jd|j|j|j|jj|j|j |jj |jdt |d|jdt |d|jdt |d|jdt |d|jdt |jd|jdt |jd|jdt |jd|jdt |jd|jd|j dk|j t |j |td|j t |j||j|j|jkt|j|j|jktdS(NiiRRRRt(Rt ciphertextR$R4R5R6R7R R8RthasattrR1t TypeErrortsigntbtdecryptRtTruetFalse(RRR:((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyRs("c Cs#t|j}|j|f}|j|td\}|jt|t|tjj t |d}|j ||}|j|f}|j ||}|jt|t||j |td} |jt|f| |jd|j|t|fdS(NR9i(RR:R?tencryptR>R$RRR!R"tlentblindtunblindR=Rtverify( RRR:t plaintexttnew_ciphertext2tblinding_factort blinded_ctextt blinded_ptexttunblinded_plaintextt signature2((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyRscCsGt|j}|j|td\}|j|t|fdS(NR9(RRGRBR>RFR(RRRGRH((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR scCsYt|j}t|j}|j|td\}|jt|t|dS(NR9(RRGR:RBR>R$R(RRRGR:RH((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR'sc Cst|j}t|j}|j|f}|jt|t|tjjt |d}|j ||}|j|f}|j ||}|jt|t|dS(Ni( RRGR:R?R$RRR!R"RCRDRE( RRRGR:t new_plaintextRIRJRKRL((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR*scCsutt|j}t|j}|f}|jd|j|||df}|jd|j||dS(NiR9(RRRGR:R$RF(RRt signaturetmessagetttt2((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR(*s   cCsMtt|j}t|j}|j|f|j|tddS(NR9(RRRGR:R$R=R>(RRRORP((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR+8s(t__name__t __module__RGR:R RRRR R#R%R)R,R-R.R/R3RRRRR'R*R(R+(((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR&s.         "    tRSAFastMathTestcBsYeZdZdZdZdZdZdZdZdZ dZ RS( cCs&tj|tjdt|_dS(Nt use_fast_math(RRRtRSAImplementationR@R(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR@s cCstj|dS(s9RSA (_fastmath implementation) generated key (1 argument)N(RR (R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR DscCstj|dS(s:RSA (_fastmath implementation) generated key (2 arguments)N(RR#(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR#HscCstj|dS(s8RSA (_fastmath implementation) constructed key (2-tuple)N(RR)(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR)LscCstj|dS(s8RSA (_fastmath implementation) constructed key (3-tuple)N(RR,(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR,PscCstj|dS(s8RSA (_fastmath implementation) constructed key (4-tuple)N(RR-(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR-TscCstj|dS(s8RSA (_fastmath implementation) constructed key (5-tuple)N(RR.(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR.XscCstj|dS(s8RSA (_fastmath implementation) constructed key (6-tuple)N(RR/(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR/\scCstj|dS(N(RR3(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR3`s( RSRTRR R#R)R,R-R.R/R3(((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyRU?s        tRSASlowMathTestcBsYeZdZdZdZdZdZdZdZdZ dZ RS( cCs&tj|tjdt|_dS(NRV(RRRRWRAR(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyRds cCstj|dS(s9RSA (_slowmath implementation) generated key (1 argument)N(RR (R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR hscCstj|dS(s:RSA (_slowmath implementation) generated key (2 arguments)N(RR#(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR#lscCstj|dS(s8RSA (_slowmath implementation) constructed key (2-tuple)N(RR)(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR)pscCstj|dS(s8RSA (_slowmath implementation) constructed key (3-tuple)N(RR,(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR,tscCstj|dS(s8RSA (_slowmath implementation) constructed key (4-tuple)N(RR-(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR-xscCstj|dS(s8RSA (_slowmath implementation) constructed key (5-tuple)N(RR.(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR.|scCstj|dS(s8RSA (_slowmath implementation) constructed key (6-tuple)N(RR/(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR/scCstj|dS(N(RR3(R((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR3s( RSRTRR R#R)R,R-R.R/R3(((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyRXcs        cCsg}|tt7}y$ddlm}|tt7}Wntk rddlm}ddl}t j j t j j t j j |j|jd|d}t j j|rtddd|qnX|jd d r|tt7}n|S( Ni(t _fastmath(tget_config_vars/../../PublicKey/_fastmathtSOs-While the _fastmath module exists, importing s<it failed. This may point to the gmp or mpir shared library s.not being in the path. _fastmath was found at t slow_testsi(RRR RYRUt ImportErrortdistutils.sysconfigRZtinspecttostpathtnormpathtdirnametabspathtgetfilet currentframetexiststgetRX(tconfigttestsRYRZR_t_fm_path((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyt get_testss    >t__main__cCstjtS(N(tunittestt TestSuiteRl(((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pytR9t defaultTesttsuite(t__doc__t __revision__tsysR`t version_infotCrypto.Util.py21compattCrypto.Util.py3compatRntCrypto.SelfTest.st_commonRRRtTestCaseRRURXRlRSRrtmain(((sU/opt/alt/python27/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyts   &   $$