Current File : //usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyo
�
Bd\Rc@sdZdZddlZddlZejddkoGejddkrWddlTnddlTddlZddlm	Z	m
Z
mZd	ejfd
��YZ
de
fd��YZd
e
fd��YZid�Zedkrd�Zejdd�ndS(s(Self-test suite for Crypto.PublicKey.RSAs$Id$i����Niii(t*(tlist_test_casesta2b_hextb2a_hextRSATestcBs�eZdZdZdZdZdZd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(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
    cCs�ddlmaddlmaddlmam}tt|j��|_	tt|j
��|_t|j	|j�d|_
||j|jd|j
d�|_||j|j
�|_t|_dS(Ni����(tRSA(tRandom(t
bytes_to_longtinverseii(tCrypto.PublicKeyRtCryptoRtCrypto.Util.numberRRRtmodulustntprime_factortptdivmodtqtetdtutrsa(tselfR((sH/usr/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((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_generate_1argis


cCsb|jjdtj�j�}|j|�|j|�|j�}|j|�|j	|�dS(s8RSA (default implementation) generated key (2 arguments)iN(
RRRtnewtreadRRRRR(RRR((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_generate_2argrs


cCs{|jjdtj�jdd�}|j|�|j|�|j�}|j|�|j	|�|j
d|j�dS(NiRi(RRRR!R"RRRRRtassertEqualR(RRR((sH/usr/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((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_construct_2tuple�s

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((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_construct_3tuple�s
$


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((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_construct_4tuple�s
*


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((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_construct_5tuple�s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((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_construct_6tuple�s6



c	Cs�|jj|j|j|jg�}|j|j|jkpK|j|jk�|j|j|jkpv|j|jk�|j|j|j|jk�|jt	|jj|j|j|jdg�dS(Ni(
RR&R
RRt
failUnlessRRtassertRaisest
ValueError(RR((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyttest_factoring�s
$++ 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|jdk�dS(Ni(R$thas_privatetcan_signtcan_encryptt	can_blindR
tkeyRRRRR(RR((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR�s"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�|jt|j
|td��|jt|j|�|j|j�|j�kt�|j|j�|j�kt�dS(NiiRRRRt(Rt
ciphertextR$R4R5R6R7R
R8RthasattrR1t	TypeErrortsigntbtdecryptRtTruetFalse(RRR:((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR�s("c
Cs#t|j�}|j|f�}|j|td��\}|jt|�t|��tj�j	t
|�d�}|j||�}|j|f�}|j||�}|jt|�t|��|j
|td��}	|jt|�f|	�|jd|j|t|�f��dS(NR9i(RR:R?tencryptR>R$RRR!R"tlentblindtunblindR=Rtverify(
RRR:t	plaintexttnew_ciphertext2tblinding_factort
blinded_ctextt
blinded_ptexttunblinded_plaintextt
signature2((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR�scCsGt|j�}|j|td��\}|j|t|�f�dS(NR9(RRGRBR>RFR(RRRGRH((sH/usr/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((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR'sc	Cs�t|j�}t|j�}|j|f�}|jt|�t|��tj�jt	|�d�}|j
||�}|j|f�}|j||�}|jt|�t|��dS(Ni(RRGR:R?R$RRR!R"RCRDRE(	RRRGR:t
new_plaintextRIRJRKRL((sH/usr/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((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR(*s	cCsMtt|j��}t|j�}|j|f|j|td���dS(NR9(RRRGR:R$R=R>(RRRORP((sH/usr/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+(((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR&s.																	"						tRSAFastMathTestcBsYeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
RS(	cCs&tj|�tjdt�|_dS(Nt
use_fast_math(RRRtRSAImplementationR@R(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR@s
cCstj|�dS(s9RSA (_fastmath implementation) generated key (1 argument)N(RR (R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR DscCstj|�dS(s:RSA (_fastmath implementation) generated key (2 arguments)N(RR#(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR#HscCstj|�dS(s8RSA (_fastmath implementation) constructed key (2-tuple)N(RR)(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR)LscCstj|�dS(s8RSA (_fastmath implementation) constructed key (3-tuple)N(RR,(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR,PscCstj|�dS(s8RSA (_fastmath implementation) constructed key (4-tuple)N(RR-(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR-TscCstj|�dS(s8RSA (_fastmath implementation) constructed key (5-tuple)N(RR.(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR.XscCstj|�dS(s8RSA (_fastmath implementation) constructed key (6-tuple)N(RR/(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR/\scCstj|�dS(N(RR3(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR3`s(RSRTRR R#R)R,R-R.R/R3(((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyRU?s								tRSASlowMathTestcBsYeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
RS(	cCs&tj|�tjdt�|_dS(NRV(RRRRWRAR(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyRds
cCstj|�dS(s9RSA (_slowmath implementation) generated key (1 argument)N(RR (R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR hscCstj|�dS(s:RSA (_slowmath implementation) generated key (2 arguments)N(RR#(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR#lscCstj|�dS(s8RSA (_slowmath implementation) constructed key (2-tuple)N(RR)(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR)pscCstj|�dS(s8RSA (_slowmath implementation) constructed key (3-tuple)N(RR,(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR,tscCstj|�dS(s8RSA (_slowmath implementation) constructed key (4-tuple)N(RR-(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR-xscCstj|�dS(s8RSA (_slowmath implementation) constructed key (5-tuple)N(RR.(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR.|scCstj|�dS(s8RSA (_slowmath implementation) constructed key (6-tuple)N(RR/(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR/�scCstj|�dS(N(RR3(R((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyR3�s(RSRTRR R#R)R,R-R.R/R3(((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyRXcs								cCsg}|tt�7}y$ddlm}|tt�7}Wn�tk
r�ddlm}ddl}t	j
jt	j
jt	j
j
|j|j����d|d��}t	j
j|�r�tddd|��q�nX|jd	d
�r|tt�7}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	RYRUtImportErrortdistutils.sysconfigRZtinspecttostpathtnormpathtdirnametabspathtgetfiletcurrentframetexiststgetRX(tconfigttestsRYRZR_t_fm_path((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyt	get_tests�s 
	>t__main__cCstjt��S(N(tunittestt	TestSuiteRl(((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyt<lambda>�stdefaultTesttsuite(t__doc__t__revision__tsysR`tversion_infotCrypto.Util.py21compattCrypto.Util.py3compatRntCrypto.SelfTest.st_commonRRRtTestCaseRRURXRlRSRrtmain(((sH/usr/lib64/python2.7/site-packages/Crypto/SelfTest/PublicKey/test_RSA.pyt<module>s &

�$$