1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Ë
ž¬`i¡"ãó—dZdZddlZddlmZmZmZddlmZddl    m
Z
ddl m Z ddl ­Gd    „d
ej«Zifd „Zed k(rd „Zej&d¬«yy)z,Self-test suite for Crypto.PublicKey.ElGamalz$Id$éN)Úlist_test_casesÚa2b_hexÚb2a_hex)ÚRandom)ÚElGamal)Ú bytes_to_long)Ú*c
ó´—eZdZddddddddd    œd
d d d ddddd    œgZdddddddddœdddddddddœgZd„Zd „Zd!„Zd"„Zd#„Z    d$„Z
d%„Z d-d&„Z d'„Z d(„Zd)„Zd*„Zd+„Zy,).Ú ElGamalTestÚ@BA4CAEAAED8CBE952AFD2126C63EB3B345D65C2A0A73D2A3AD4138B6D09BD933Ú05Ú@60D063600ECED7C7C55146020E7A31C4476E9793BEAED420FEC9E77604CAE4EFÚ.1D391BA2EE3C37FE1BA175A69B2C73A11238AD77675932Ú.F5893C5BAB4131264066F57AB3D8AD89E391A0B68A68A1Ú48656C6C6F207468657265Ú@32BFD5F487966CEA9E9356715788C491EC515E4ED48B58F0F00971E93AAA5EC7Ú@7BE8FBFF317C93E82FCEF9BD515284BA506603FEA25D01C0CB874A31F315EE68)ÚpÚgÚyÚxÚkÚptÚct1Úct2ڀF1B18AE9F7B4E08FDA9A04832F4E919D89462FD31BF12F92791A93519F75076D6CE3942689CDFF2F344CAFF0F82D01864F69F3AECF566C774CBACF728B81A227Ú07ڀ688628C676E4F05D630E1BE39D0066178CA7AA83836B645DE5ADD359B4825A12B02EF4252E4E6FA9BEC1DB0BE90F6D7C8629CABB6E531F472B2664868156E20CÚ.14E60B1BDFD33436C0DA8A22FDC14A2CCDBBED0627CE68Ú.38DBF14E1F319BDA9BAB33EEEADCAF6B2EA5250577ACE7ڀ290F8530C2CC312EC46178724F196F308AD4C523CEABB001FACB0506BFED676083FE0F27AC688B5C749AB3CB8A80CD6F7094DBA421FB19442F5A413E06A9772Bڀ1D69AAAD1DC50493FB1B8E8721D621D683F3BF1321BE21BC4A43E11B40C9D4D9C80DE3AAC2AB60D31782B16B61112E68220889D53C4C3136EE6F6CE61F8A23A0Ú@D2F3C41EA66530838A704A48FFAC9334F4701ECE3A97CEE4C69DD01AE7129DD7Ú@C3F9417DC0DAFEA6A05C1D2333B7A95E63B3F4F28CC962254B3256984D1012E7Ú.165E4A39BE44D5A2D8B1332D416BC559616F536BC735BBÚ@C7F0C794A7EAD726E25A47FF8928013680E73C51DD3D7D99BFDA8F492585928FÚ@35CA98133779E2073EF31165AFCDEB764DD54E96ADE851715495F9C635E1E7C2Ú@0135B88B1151279FE5D8078D4FC685EE81177EE9802AB123A73925FC1CB059A7)rrrrrÚhÚsig1Úsig2ڀE24CF3A4B8A6AF749DCA6D714282FE4AABEEE44A53BB6ED15FBE32B5D3C3EF9CC4124A2ECA331F3C1C1B667ACA3766825217E7B5F9856648D95F05330C6A19CFÚ0Bڀ2AD3A1049CA5D4ED207B2431C79A8719BB4073D4A94E450EA6CEE8A760EB07ADB67C0D52C275EE85D7B52789061EE45F2F37D9B2AE522A51C28329766BFE68ACÚ.16CBB4F46D9ECCF24FF9F7E63CAA3BD8936341555062ABڀ8A3D89A4E429FD2476D7D717251FB79BF900FFE77444E6BB8299DC3F84D0DD57ABAB50732AE158EA52F5B9E7D8813E81FD9F79470AE22F8F1CF9AEC820A78C69ڀBE001AABAFFF976EC9016198FBFEA14CBEF96B000CCC0063D3324016F9E91FE80D8F9325812ED24DDB2B4D4CF4430B169880B3CE88313B53255BD4EC0378586Fڀ5E266F3F837BA204E3BBB6DBECC0611429D96F8C7CE8F4EFDF9D4CB681C2A954468A357BF4242CEC7418B51DFC081BCD21299EF5B5A0DDEF3A139A1817503DDEcó&—|jd«y)Né´)Ú_test_random_key)Úselfs õyH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\Crypto/SelfTest/PublicKey/test_ElGamal.pyÚtest_generate_180zElGamalTest.test_generate_180`s€Ø ×јcÕ"ócó
—|jD]t}|j|d«}tj|d«}|j    |d|d«}|j |d|d«|j |d|d«Œvy)    NTÚkeyrrrrér)ÚtveÚ
convert_tvrÚ    constructÚ_encryptÚ assertEqual)r6ÚtvÚdr;Úcts     r7Útest_encryptionzElGamalTest.test_encryptioncs€Ø—(‘(ò    .ˆBØ—‘  DÓ)ˆAÜ×#Ñ# A e¡HÓ-ˆCØ—‘˜a ™g q¨¡vÓ.ˆBØ × Ñ ˜R ™U A e¡HÔ -Ø × Ñ ˜R ™U A e¡HÕ -ñ     .r9có֗|jD]Z}|j|d«}tj|d«}|j    |d|df«}|j ||d«Œ\y)NTr;rrr)r=r>rr?Ú_decryptrA)r6rBrCr;rs     r7Útest_decryptionzElGamalTest.test_decryptionksh€Ø—(‘(ò    *ˆBØ—‘  DÓ)ˆAÜ×#Ñ# A e¡HÓ-ˆCØ—‘˜q ™x¨¨5©Ð2Ó3ˆBØ × Ñ ˜R  4¡Õ )ñ        *r9có—|jD]q}|j|d«}tj|d«}|j    |d|d«\}}|j ||d«|j ||d«Œsy)NTr;r)rr*r+)Útvsr>rr?Ú_signrA)r6rBrCr;r*r+s      r7Ú test_signingzElGamalTest.test_signingrs}€Ø—(‘(ò    .ˆBØ—‘  DÓ)ˆAÜ×#Ñ# A e¡HÓ-ˆCØŸ™ 1 S¡6¨1¨S©6Ó2‰JˆD$Ø × Ñ ˜T 1 V¡9Ô -Ø × Ñ ˜T 1 V¡9Õ -ñ     .r9có8—|jD]‹}|j|d«}tj|d«}|j    |d|d|df«}|j |«|j    |d|ddz|df«}|j |«Œy)NTr;r)r*r+r<)rJr>rr?Ú_verifyÚ
assertTrueÚ assertFalse)r6rBrCr;Úress     r7Útest_verificationzElGamalTest.test_verificationzs™€Ø—(‘(ò    "ˆBØ—‘  DÓ)ˆAÜ×#Ñ# A e¡HÓ-ˆCà—+‘+˜q ™v¨¨&©    °!°F±)Ð'<Ó>ˆCØ O‰O˜CÔ  à—+‘+˜q ™v¨¨&©    °!© °A°f±IÐ'>Ó@ˆCØ × Ñ ˜SÕ !ñ    "r9có„—t|j|jdd«d«ddx}}|dxxdz cc<|jtt
j |«|}d|d<|jtt
j |«|}|ddz|d<|jtt
j |«y)Nrr<r;éé©Úlistr>rJÚ assertRaisesÚ
ValueErrorrr?©r6ÚtupÚtup0s   r7Ú test_bad_key3zElGamalTest.test_bad_key3…s©€Ü˜$Ÿ/™/¨$¯(©(°1©+°qÓ9¸%Ñ@ÓAÀ"À1ÐEÐEˆˆdØ ˆA‹!‰ ‹Ø ×Ñœ*¤g×&7Ñ&7¸Ô=àˆØˆˆA‰Ø ×Ñœ*¤g×&7Ñ&7¸Ô=àˆØQ‘˜‘ˆˆA‰Ø ×Ñœ*¤g×&7Ñ&7¸Õ=r9có—t|j|jdd«d«x}}|dxxdz cc<|jtt
j |«y)Nrr<r;rTrVrZs   r7Ú test_bad_key4zElGamalTest.test_bad_key4’sN€Ü˜$Ÿ/™/¨$¯(©(°1©+°qÓ9¸%Ñ@ÓAÐAˆˆdØ ˆA‹!‰ ‹Ø ×Ñœ*¤g×&7Ñ&7¸Õ=r9cóҗd}i}|j«D]/}t||«||<|s    ||vs|dvsŒt||«||<Œ1g|d<|D]}|dxx||gz cc<||=Œ|S)zfConvert a test vector from textual form (hexadecimal ascii
        to either integers or byte strings.)rrrr)r*r+r;)Úkeysrr)r6rBÚas_longsÚ    key_compsÚtv2Úcs      r7r>zElGamalTest.convert_tv—s’€ð$ˆ    ØˆØ—‘“ò    /ˆAܘR ™U“^ˆC‰FÙ˜1     ™>¨Q°/Ò-AÜ& s¨1¡vÓ.A’ð    /ðˆˆE‰
Øò    ˆAØ ‹J˜3˜q™6˜(Ñ "‹JؐA‘ð    ðˆ
r9có—tj|tj«j«}|j |«|j |«|j«}|j|«|j|«y©N)
rÚgeneraterÚnewÚreadÚ_check_private_keyÚ_exercise_primitiveÚ    publickeyÚ_check_public_keyÚ_exercise_public_primitive)r6ÚbitsÚelgObjÚpubs    r7r5zElGamalTest._test_random_key¦sf€Ü×!Ñ! $¬¯
©
« ×(9Ñ(9Ó:ˆØ ×Ñ Ô'Ø × Ñ  Ô(Ø×ÑÓ ˆØ ×јsÔ#Ø ×'Ñ'¨Õ/r9có —|j|j««|jd|jcxkxr|jdz
knc«|j    t |j|jdz
|j«d«|jd|j cxkxr|jdz
knc«|j    t |j|j |j«|j«y©Nr<)rOÚ has_privaterrrAÚpowrr©r6rqs  r7rkzElGamalTest._check_private_key®s±€ð     ‰˜×*Ñ*Ó,Ô-ð     ‰˜˜&Ÿ(™(Ö/ F§H¡H¨Q¡JÔ/Ô0Ø ×Ñœ˜VŸX™X v§x¡x°¡z°6·8±8Ó<¸aÔ@Ø ‰˜˜&Ÿ(™(Ö/ F§H¡H¨Q¡JÔ/Ô0Ø ×Ñœ˜VŸX™X v§x¡x°·±Ó:¸F¿H¹HÕEr9có*—|j|j««|jd|jcxkxr|jdz
knc«|j t |j|jdz
|j«d«yrt)rPrurOrrrArvrws  r7rnzElGamalTest._check_public_key¹sh€ð     ×ј×+Ñ+Ó-Ô.ð     ‰˜˜&Ÿ(™(Ö/ F§H¡H¨Q¡JÔ/Ô0Ø ×Ñœ˜VŸX™X v§x¡x°¡z°6·8±8Ó<¸aÕ@r9cóº—d}|j|d«}|j|«}|j||«|j|d«}|j    ||«y)NiòðéÍ[i±hÞ:)r@rGrArKrN)r6rqÚ    plaintextÚ
ciphertextÚ
plaintextPÚ    signatures      r7rlzElGamalTest._exercise_primitiveÂsU€àˆ    Ø—_‘_ Y°    Ó:ˆ
Ø—_‘_ ZÓ0ˆ
Ø ×ј JÔ/ð—L‘L ¨IÓ6ˆ    Ø‰y )Õ,r9có,—d}|j|d«}y)NiŒßŠrz)r@)r6rqr{r|s    r7roz&ElGamalTest._exercise_public_primitiveÍs€Øˆ    Ø—_‘_ Y°    Ó:‰
r9N)r)Ú__name__Ú
__module__Ú __qualname__r=rJr8rErHrLrRr]r_r>r5rkrnrlro©r9r7r r "sè„ðQØØPØ>Ø>Ø&ØPØPñ
    
ðQØðQØ>Ø>Ø&ðQðQñ
    
ð    €Cð<QØØPØ>ØPØ&ØQØQñ
    
ðQØðQØ>ðQØ&ðRðRñ
    
ð    €Cò2#ò.ò*ò.ò    "ò >ò>ó
ò0ò    FòAò    -ó;r9r có.—g}|tt«z }|Srg)rr )ÚconfigÚtestss  r7Ú    get_testsr‡Ñs€Ø €EØ    Œ_œ[Ó )Ñ)€EØ €Lr9Ú__main__có<—tjt««Srg)ÚunittestÚ    TestSuiter‡rƒr9r7ú<lambda>rŒ×s€”H×&Ñ&¤y£{Ó3€r9Úsuite)Ú defaultTest)Ú__doc__Ú __revision__rŠÚCrypto.SelfTest.st_commonrrrÚCryptorÚCrypto.PublicKeyrÚCrypto.Util.numberrÚCrypto.Util.py3compatÚTestCaser r‡r€rÚmainrƒr9r7ú<module>r˜seðñ.3à€ ãßGÑGÝÝ$Ý,Ü#ôm;(×#Ñ#ôm;ð^óð
 ˆzÒÙ 3€EØ€H‡MM˜gÖ&ðr9