-í ’•-=cs¤ dZdkZdkZdkZdkTd„Zd„Z’d„Zºddgdd „ZÛd d d d ddddgdd„Z dS(s7$Id: test.py,v 1.14 2002/07/11 14:26:26 akuchling Exp $N(s*csdk}dG|GHdS(Ns ***ERROR: (ssyssstring(sstringssys((sCrypto/Util/test.pysdies csCdk} dk}yt|ƒ}Wn)tj o|GdGH tSnX!|dGH"d}#x'tddƒD#]}$||}q‚W%|i djo%d|_ n&dd|i !} 'dd|i !})|o )d Gn*|i| |iƒ} +| i |i jo,td ƒn.d d|i !}/| i|ƒ} 0| i| ƒ|jo0td |d ƒn1dd|i !}2| i|ƒ} 3| i| ƒ|jo3td |d ƒn4dd|i !}5| i|ƒ} 6| i| ƒ|jo6td |d ƒn8|iƒ}9| i|ƒ}:| i|ƒ};|iƒ} <||jo=tdƒn>|o>d| |GdGHn?~ A|o AdGnB|i| |i|ƒ}C|i| |i|ƒ}D|iƒ}E|i|dd!ƒ}F|i|ƒ}G|iƒ} H||dd!joItdƒnJ|oJd| |GdGHnK~~M|o MdGnN|i| |i |ƒ}O|i| |i |ƒ}P|iƒ}Q|i|ƒ}R|i|ƒ}S|iƒ} T||joUtdƒnV|oVd| |GdGHnW~~Y|o YdGnZ|i| |i!|ƒ}[|i| |i!|ƒ}\|iƒ}]|i|ƒ}^|i|ƒ}_|iƒ} `||joatdƒnb|obd| |GdGHnc~~e|o edGnf|i| |i"|ƒ}g|i| |i"|ƒ}h|iƒ}i|i|ƒ}j|i|ƒ}k|iƒ} l||jomtdƒnn|ond| |GdGHno~~q|i d„}t|o tdGnu|i| |i$d|ƒ}v|i| |i$d|ƒ}w|iƒ}x|i|ƒ}y|i|ƒ}z|iƒ} {||jo|td ƒn}|o}d| |GdGHn~~~|o d!GHn‚|i| |i |ƒ}ƒd"|i d#d$}„|i|ƒ}…||_ †|i|ƒ}‡||joˆtd%ƒn‹|id&| ƒ}Œ|i| d'|i ƒ}|id'|i d&| ƒ}Ž|id(|d'|i d&| ƒ}|SdS()Nsmodule not availables:s1iiis'password12345678Extra text for passwordsTest IV Test IV Test IV Tests ECB mode:s/Module and cipher object block_size don't matchs1234567812345678sError encrypting "s"sKuchlingKuchlingsNotTodayNotEver!s*Error in resulting plaintext from ECB modeisK/secs CFB mode:is*Error in resulting plaintext from CFB modei@s CBC mode:s*Error in resulting plaintext from CBC modes PGP mode:s*Error in resulting plaintext from PGP modes OFB mode:s*Error in resulting plaintext from OFB modecsqr|dSdS(Nsa(slength(slength((sCrypto/Util/test.pyscounterqss CTR mode:scounters*Error in resulting plaintext from CTR modes Testing IV handlingsTestiisError in setting IVskeysmodesIV('sstringstimesevalsciphersciphs NameErrorsNonesstrsxrangesiskey_sizespasswords block_sizesIVsverbosesnewsMODE_ECBsobjsdiestextsencryptscsdecryptsstartssss2sendsMODE_CFBsobj1sobj2s ciphertexts plaintextsMODE_CBCsMODE_PGPsMODE_OFBscountersMODE_CTRs ciphertext1s ciphertext2(sciphersverbosesobj1s ciphertext2sobj2s plaintextstimes ciphertextsIVsendspasswordsstringscsobjsiss2scounters ciphertext1sstartssstextsstrsciph((sCrypto/Util/test.pysexerciseBlockCiphersò                        $cs’“dk}dk} ”y•t|ƒ}Wn)–tj o—|GdGH˜tSnX™|dGšd} ›x'tddƒD›]}œ| | } qW|i pd}ždd|!}  |i | ƒ}¡|i | ƒ} ¢|i|ijo£tdƒn¤|i |i jo¥td ƒn§d } ¨|i| ƒ}©| i|ƒ| jo©td | d ƒnªd } «|i| ƒ}¬| i|ƒ| jo¬td | d ƒn­d} ®|i| ƒ}¯| i|ƒ| jo¯td | d ƒn±| iƒ}²|i| ƒ}³| i|ƒ} ´| iƒ}µ|oµd||GdGHn¶~~ ¸|SdS(Nsmodule not availables:s1iiis'password12345678Extra text for passwords/Module and cipher object block_size don't matchs-Module and cipher object key_size don't matchs1234567812345678PythonsError encrypting "s"s B1FF I2 A R3A11Y |<00L D00D!!!!!s$SpamSpamSpamSpamSpamSpamSpamSpamSpamisK/sec(sstringstimesevalsciphersciphs NameErrorsNonesstrsxrangesiskey_sizespasswordsnewsobj1sobj2s block_sizesdiestextsencryptscsdecryptsstartsssendsverbose(sciphersverbosesobj1skey_sizesendsiscsstartssstextsstrstimesobj2spasswordsciphsstring((sCrypto/Util/test.pysexerciseStreamCipher’sN          sarc4sXORic sýº»dk}dk} ¼t| i|ƒ}¾d|joÖÀtd|ƒ}Á|tjo°Âx¦t iDÂ]˜} Ã| \} }}Äti| ƒ} Åti|ƒ}Æti|ƒ}Ç|i| ƒ}È|i|ƒ}É||joÊtd| ƒnqlWnnÌd|joÖÎtd|ƒ}Ï|tjo°Ðx¦t iDÐ]˜} Ñ| \} }}Òti| ƒ} Óti|ƒ}Ôti|ƒ}Õ|i| ƒ}Ö|i|ƒ}×||joØtd| ƒnqRWnndS(Nsarc4sARC4sARC4 failed on entry sxorsXORsXOR failed on entry (ssyssstringsmapslowersargssexerciseStreamCiphersverbosesarc4sNonestestdatasentryskeysplainsciphersbinasciisa2b_hexsnewsobjsencrypts ciphertextsdiesXORsxor( sargssverbosesarc4sXORsobjsplains ciphertextssysscipherskeysentrysstring((sCrypto/Util/test.pysTestStreamModulesºs8 " saessarc2sdessblowfishscastsdes3sideasrc5c s­ÛÞdk}ßt|i|ƒ}àd|joØátd|ƒ} â| tjo²ã|o ãdGHnäxöti Dä]è}å|\}} }æti|ƒ}çti| ƒ} èti|ƒ}é| i|| iƒ} ê| i| ƒ} ë| |jo`ìtd| ƒíx2| Dí]'} î|oîtt| ƒƒGnq Wï|oïHnnqyWñx–tiDñ]ˆ}ò|\}}} }}óti|ƒ}ôti| ƒ} õti|ƒ}ö| i|||} ÷| i|||}ø| i| ƒ} ù| |jo`útd| ƒûx2| Dû]'} ü|oütt| ƒƒGnq:Wý|oýHnnÿ|i| ƒ}|| jo`td| ƒx2|D]'} |ott| ƒƒGnq¼W|oHnnquWnnd|jo.td|ƒ}  | tjo |o  dGHn xètiD ]Ú} |\}} } ti|ƒ}ti| ƒ} ti|ƒ}| i|| iƒ} | i| ƒ} | |joRtd | ƒx2| D]'} |ott| ƒƒGnqWHnqaWnnd |jo<td |ƒ} | tjo|o dGHnxöti D]è}|\}} }ti|ƒ}ti| ƒ}  ti|ƒ}!| i|| iƒ} "| i| ƒ} #| |jo`$td | ƒ%x2| D%]'} &|o&tt| ƒƒGnqFW'|o'HnnqŸWnn)d |jo?*td|ƒ} +| tjo,|o ,dGHn-xöti!D-]è}.|\}} }/ti|ƒ}0ti| ƒ} 1ti|ƒ}2| i|| iƒ} 3| i| ƒ} 4| |jo`5td| ƒ6x2| D6]'} 7|o7tt| ƒƒGnq’W8|o8HnnqëW:nnLd|jo Ntd|ƒ}O|tjoäQ|itidƒ|iƒ} R| idƒ}S|tidƒjoTtdƒnU|itidƒ|iƒ} V| idƒ}W|tidƒjoXtdƒnY|itidƒ|i$Ztidƒƒ} [| idƒ}\|tidƒjo]tdƒn^|itidƒ|i$_tidƒƒ} `| idƒ}a|tid ƒjobtd!ƒnc~ ~ftid"ƒ}gxht&d#d$ƒDg]T} h|i||iƒ} i| d%@oi| i|ƒ}nj| i|ƒ}q×Wk|tid&ƒjoltd'ƒnn|o ndGHnox¬ti"Do]ž}p|\}} }qti|ƒ}rti| ƒ} sti|ƒ}t|i||iƒ} u| i| ƒ} v| |jowtd(| ƒnq WxxÍti'Dx]¿}y|\}}} }zti|ƒti|ƒti|ƒf\}}}{|i||i$|ƒ}||i||i$|ƒ}}|i| ƒ} ~| |jotd)| ƒnq1 Wnnd*|jo‚td+|ƒ} ƒ| tjoé„|o „dGHn…xöti*D…]è}†|\}} }‡ti|ƒ}ˆti| ƒ} ‰ti|ƒ}Š| i|| iƒ} ‹| i| ƒ} Œ| |jo`td,| ƒŽx2| DŽ]'} |ott| ƒƒGnqû W|oHnnqT W‘xÍti+D‘]¿}’|\}}} }“ti|ƒti|ƒti|ƒf\}}}”| i|| i$|ƒ}•| i|| i$|ƒ}–|i| ƒ} —| |jo˜td-| ƒnqP Wnnšd.|joò›td/|ƒ} œ| tjoÌ|o dGHnžx¬ti,Dž]ž}Ÿ|\}} } ti|ƒ}¡ti| ƒ} ¢ti|ƒ}£| i|| iƒ} ¤| i| ƒ} ¥| |jo¦td0| ƒnqs Wnn¨d1|joyªtd2|ƒ} «| tjoS¬|o ¬dGHn­x3ti-D­]%}®|\}} }¯ti|ƒ}°ti| ƒ} ±ti|ƒ}²| i|d3| i³d4t|d#ƒ´d5t|d%ƒµd6t|d7ƒƒ} ¶| i| ƒ} ·| |jo`¸td8| ƒ¹x2| D¹]'} º|oºtt| ƒƒGnqYW»|o»HnnquWnndS(9NsaessAESs! Verifying against test suite...sAES failed on entry sAES encrypt failed on entry sAES decrypt failed on entry sarc2sARC2sARC2 failed on entry sblowfishsBlowfishsBlowfish failed on entry scastsCASTsCAST failed on entry sdessDESs0123456789abcdefsNow is ts3fa40e8a984d4815sDES fails test 1s08192a3b4c5d6e7fss25ddac3e96176467sDES fails test 2s1234567890abcdefsNow is the time for all s0e5c7cdde872bf27c43e934008c389c0f683788499a7c05f6sDES fails test 3sfedcba9876543210s 7654321 Now is the time for s@ccd173ffab2039f4acd8aefddfd8a1eb468e91157888ba681d269397f7fe62b4sDES fails test 4s9474B8E8C73BCA7Diiis1B1A2DDB4C642438sDES fails Rivest's testsDES failed on entry sDES CBC mode failed on entry sdes3sDES3sDES3 failed on entry sDES3 CBC mode failed on entry sideasIDEAsIDEA failed on entry src5sRC5isversions word_sizesroundsisRC5 failed on entry (.sstringsmapslowersargssexerciseBlockCiphersverbosesciphsNonestestdatasaessentryskeysplainsciphersbinasciisa2b_hexsnewsMODE_ECBsobjsencrypts ciphertextsdiesishexsords aes_modessmodeskwsobj2sdecryptsplain2sarc2sblowfishscastsdessssMODE_CBCsxsrangesdes_cbcsivsobj1sdes3sdes3_cbcsideasrc5(sargssverbosesobj1sobj2scipherskeysxsivsstringsciphs ciphertextsobjsisplainsdessplain2ssskwsmodesentry((sCrypto/Util/test.pysTestBlockModulesÛsÒ                            !!     6"      6"  "     ( s __revision__sbinasciisstringstestdatas Crypto.CiphersdiesexerciseBlockCiphersexerciseStreamCiphersTestStreamModulessTestBlockModules( s __revision__sstringsTestStreamModulessdiesbinasciisexerciseStreamCipherstestdatasTestBlockModulessexerciseBlockCipher((sCrypto/Util/test.pys? s       x (!