ghU0dZdZddlZddlZddlmZddlTddlZddlmZm Z m Z Gddej Z ifd Z ed krd Zejd dSdS)z(Self-test suite for Crypto.PublicKey.RSAz$Id$N) PicklingError)*)list_test_casesa2b_hexb2a_hexceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdS)RSATesta 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 a 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 a 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 z 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 cddlmaddlmaddlmam}t t|j|_ t t|j |_ |j |j z|_ ||j |j dz |j dz z|_||j |j |_t|_dS)Nr)RSA)Random) bytes_to_longinverse)Crypto.PublicKeyr Cryptor Crypto.Util.numberrrrmodulusn prime_factorpqedursa)selfrs /builddir/build/BUILD/imunify360-venv-2.6.0/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pysetUpz RSATest.setUpYs((((((!!!!!!========wt|4455wt'899::46!$&(TVAX!677((c |jd}|||||}||||dS)z7RSA (default implementation) generated key (1 argument)N)rgenerate_check_private_key_exercise_primitive public_key_check_public_key_exercise_public_primitiverrsaObjpubs rtest_generate_1argzRSATest.test_generate_1arghs~""4(( '''   (((!! s### ''/////r cD|jdtj}|||||}||| |dS)z8RSA (default implementation) generated key (2 arguments)r"N) rr#r newreadr$r%r&r'r(r)s rtest_generate_2argzRSATest.test_generate_2argqs""4):;; '''   (((!! s### ''/////r c~|jdtjd}|||||}||| || d|j dS)Nr"i)r) rr#r r.r/r$r%r&r'r( assertEqualrr)s rtest_generate_3argszRSATest.test_generate_3argszs""4):U"CC '''   (((!! s### ''/// vx(((((r c|j|j|jf}||||dS)z6RSA (default implementation) constructed key (2-tuple)N)r constructrrr'_check_encryptionrr+s rtest_construct_2tuplezRSATest.test_construct_2tuplesNh  $&$&!122 s### s#####r c|j|j|j|jf}||||dS)z6RSA (default implementation) constructed key (3-tuple)N)rr5rrrr6_check_decryptionrr*s rtest_construct_3tuplezRSATest.test_construct_3tuplesR##TVTVTV$<== v&&& v&&&&&r c|j|j|j|j|jf}||||dS)z6RSA (default implementation) constructed key (4-tuple)N)rr5rrrrr6r:r;s rtest_construct_4tuplezRSATest.test_construct_4tuplesV##TVTVTVTV$DEE v&&& v&&&&&r c|j|j|j|j|j|jf}||||| |dS)z6RSA (default implementation) constructed key (5-tuple)N) rr5rrrrrr$r6r:r;s rtest_construct_5tuplezRSATest.test_construct_5tuplesn##TVTVTVTVTV$LMM ''' v&&& v&&&&&r c|j|j|j|j|j|j|jf}||| || |dS)z6RSA (default implementation) constructed key (6-tuple)N) rr5rrrrrrr$r6r:r;s rtest_construct_6tuplezRSATest.test_construct_6tuplesr##TVTVTVTVTVTV$TUU ''' v&&& v&&&&&r c|jdf}|t|jj||jdz|jf}|t|jj|dSNr)r assertRaises ValueErrorrr5rrtups rtest_construct_bad_key2zRSATest.test_construct_bad_key2savqk *dh&8#>>>vax  *dh&8#>>>>>r c|j|j|jdzf}|t|jj|dSrD)rrrrErFrr5rGs rtest_construct_bad_key3zRSATest.test_construct_bad_key3s;vtvtvax( *dh&8#>>>>>r c|j|j|j|j|jf}|t |jj||j|jz|j|j|jf}|t |jj||j|jzd|j|jf}|t |jj|dS)N) rrrrrErFrr5rrGs rtest_construct_bad_key5zRSATest.test_construct_bad_key5svtvtvtvtv6 *dh&8#>>>vdf}dfdfdf5 *dh&8#>>>vdf}a0 *dh&8#>>>>>r c V|j|j|j|j|jdf}|t |jj|ddl m }|j|j|j|j|j||j|jf}|t |jj|dS)N r)r) rrrrrrErFrr5rr)rrHrs rtest_construct_bad_key6zRSATest.test_construct_bad_key6svtvtvtvtvr: *dh&8#>>>......vtvtvtvtvwwtvtv7N7NO *dh&8#>>>>>r c|j|j|j|jg}||j|jkp|j|jk||j|jkp|j|jk||j|jz|jk|t|jj|j|j|jdz gdSrD) rr5rrr assertTruerrrErFr;s rtest_factoringzRSATest.test_factorings##TVTVTV$<== $&(>>>>r c$t|j}|d|||j|j||j|j|dt |d|dt |d|dt |d|dt |d|d|jdk|t|j t||| | kd|| | kd|| | dS) NrrrrrrTF) r ciphertextr2rlrrhasattrrE TypeErrorr`rr& publickey)rr*rrs rr'zRSATest._check_public_keysT_--  F..00111 68,,, 68,,, GFC00111 GFC00111 GFC00111 GFC00111 FHqL))) )V_j)) + + + **,,0A0A0C0CCDIII **,,0A0A0C0CCEJJJ ))++V->->-@-@AAAAAr ctt|j}||}||}|||dSrV)rrrrr`rar2)rr*rr plaintextnew_ciphertext2s rr%zRSATest._exercise_primitives]#74?#;#;<< OOJ// !//)44 _55555r crt|j}|t|}dSrV)rrwrar)rr*rwrxs rr(z"RSATest._exercise_public_primitive s0DN++ !//- *B*BCCr ct|j}t|j}|t |}|t ||dSrV)rrwrrrarr2)rr*rwrrrxs rr6zRSATest._check_encryption&s_DN++ T_-- !//- *B*BCC z22ODDDDDr ctt|j}tt|j}||}|||dSrV)rrrwrrr`r2)rr*rwrr new_plaintexts rr:zRSATest._check_decryption.s_!'$."9"9:: "74?#;#;<<  33  M22222r N) __name__ __module__ __qualname__rwrrrrrrr,r0r3r8r<r>r@rBrIrKrNrQrTrXr]rcrhr$r'r%r(r6r:r rr r %s I J G AL   000000)))$$$ ''' ''' ''''''????????????VVV@@@ < < <333 ???&BBB: 6 6 6DDD EEE33333r r c8g}|ttz }|SrV)rr )configtestss r get_testsr7s E _W % %%E Lr __main__cBtjtSrV)unittest TestSuiterrr rr=sH&y{{33r suite) defaultTest)__doc__ __revision__osrZrCrypto.Util.py3compatrCrypto.SelfTest.st_commonrrrTestCaser rr}rmainrr rrs2/. ####GGGGGGGGGGO3O3O3O3O3hO3O3O3d  z 3 3EHMg&&&&&&r