ó
j4Vdc           @   sÞ   d  Z  d d l Z d d l m Z d d l m Z m Z m Z d d l Td d l	 m
 Z
 d d l m Z d d l Td „  Z d	 „  Z d
 „  Z d e j f d „  ƒ  YZ i  d „ Z e d k rÚ d „  Z e j d d ƒ n  d S(   s   $Id$iÿÿÿÿN(   t   RSA(   t   list_test_casest   a2b_hext   b2a_hex(   t   *(   t   Random(   t
   PKCS1_v1_5c         C   s-   d } y | |  7} Wn t  k
 r( d SXd S(   Nt    i    i   (   t	   TypeError(   t   st   t(    (    su   /var/www/html/phendo-backend/phendo_python/env/lib/python2.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyt   isStr"   s    c         C   s0   x) d d d g D] } |  j  | d ƒ }  q W|  S(   s6   Remove white spaces, tabs, and new lines from a strings   
s   	t    R   (   t   replace(   R
   t   c(    (    su   /var/www/html/phendo-backend/phendo_python/env/lib/python2.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyt   rws*   s    c         C   sA   t  t |  ƒ ƒ } t | ƒ d d k r7 t d ƒ ‚ n  t | ƒ S(   s=   Convert a text string with bytes in hex form to a byte stringi   i   s"   Even number of characters expected(   t   bR   t   lent
   ValueErrorR   (   R
   t   clean(    (    su   /var/www/html/phendo-backend/phendo_python/env/lib/python2.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyt   t2b0   s    t   PKCS1_15_Testsc           B   s€   e  Z i d  d 6d d 6d d 6d d e f d d	 d
 e f i d d 6d d 6d d 6d d e f f Z d „  Z d „  Z d „  Z RS(   sû   0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0 c0 01 c6
                    27 10 27 00 75 14 29 42 e1 9a 8d 8c 51 d0 53 b3 e3 78 2a 1d
                    e5 dc 5a f4 eb e9 94 68 17 01 14 a1 df e6 7c dc 9a 9a f5 5d
                    65 56 20 bb abt   ns   01 00
                    01t   esû   01 23 c5 b6 1b a3 6e db 1d 36 79 90 41 99 a8 9e a8 0c 09
                    b9 12 2e 14 00 c0 9a dc f7 78 46 76 d0 1d 23 35 6a 7d 44 d6
                    bd 8b d5 0e 94 bf c7 23 fa 87 d8 86 2b 75 17 76 91 c1 1d 75
                    76 92 df 88 81t   ds”  30 81 a4 02 01 00 30 42 31 0b 30 09 06
                03 55 04 06 13 02 55 53 31 1d 30 1b 06 03 55 04 0a 13 14
                45 78 61 6d 70 6c 65 20 4f 72 67 61 6e 69 7a 61 74 69 6f
                6e 31 14 30 12 06 03 55 04 03 13 0b 54 65 73 74 20 55 73
                65 72 20 31 30 5b 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01
                05 00 03 4a 00 30 47 02 40
                0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0
                c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51
                d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17
                01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab
                02 03 01 00 01sï   06 db 36 cb 18 d3 47 5b 9c 01 db 3c 78 95 28 08
                02 79 bb ae ff 2b 7d 55 8e d6 61 59 87 c8 51 86
                3f 8a 6c 2c ff bc 89 c3 f7 5a 18 d9 6b 12 7c 71
                7d 54 d0 d8 04 8d a8 a0 54 46 26 d1 7a 2a 8f besp  -----BEGIN RSA PRIVATE KEY-----
                MIIBOwIBAAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+TLr7UkvEtFrRhDDKMtuII
                q19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQJACUSDEp8RTe32ftq8IwG8
                Wojl5mAd1wFiIOrZ/Uv8b963WJOJiuQcVN29vxU5+My9GPZ7RA3hrDBEAoHUDPrI
                OQIhAPIPLz4dphiD9imAkivY31Rc5AfHJiQRA7XixTcjEkojAiEAyh/pJHks/Mlr
                +rdPNEpotBjfV4M4BkgGAA/ipcmaAjcCIQCHvhwwKVBLzzTscT2HeUdEeBMoiXXK
                JACAr3sJQJGxIQIgarRp+m1WSKV1MciwMaTOnbU7wxFs9DP1pva76lYBzgUCIQC9
                n0CnZCJ6IZYqSt0H5N7+Q+2Ro64nuwV/OSQfM6sBwQ==
                -----END RSA PRIVATE KEY-----s   This is a test
s¢   4a700a16432a291a3194646952687d5316458b8b86fb0a25aa30e0dcecdb
                442676759ac63d56ec1499c3ae4c0013c2053cabd5b5804848994541ac16
                fa243a4ds?  E08973398DD8F5F5E88776397F4EB005BB5383DE0FB7ABDC7DC775290D052E6D
                    12DFA68626D4D26FAA5829FC97ECFA82510F3080BEB1509E4644F12CBBD832CF
                    C6686F07D9B060ACBEEE34096A13F5F7050593DF5EBA3556D961FF197FC981E6
                    F86CEA874070EFAC6D2C749F2DFA553AB9997702A648528C4EF357385774575Ft   010001s?  00A403C327477634346CA686B57949014B2E8AD2C862B2C7D748096A8B91F736
                    F275D6E8CD15906027314735644D95CD6763CEB49F56AC2F376E1CEE0EBF282D
                    F439906F34D86E085BD5656AD841F313D72D395EFE33CBFF29E4030B3D05A28F
                    B7F18EA27637B07957D32F2BDE8706227D04665EC91BAF8B1AC3EC9144AB7F21t   abcs3  60AD5A78FB4A4030EC542C8974CD15F55384E836554CEDD9A322D5F4135C6267
                A9D20970C54E6651070B0144D43844C899320DD8FA7819F7EBC6A7715287332E
                C8675C136183B3F8A1F81EF969418267130A756FDBB2C71D9A667446E34E0EAD
                9CF31BFB66F816F319D0B7E430A5F2891553986E003720261C7E9022C0D9F11Fc   	      C   s-  x&t  t |  j ƒ ƒ D]} |  j | } t | d ƒ rO t j | d ƒ } n? g  d	 D]# } t t | d | ƒ d ƒ ^ qV } t j | ƒ } | d j	 ƒ  } y | j
 t | d ƒ ƒ Wn | j
 t | d ƒ ƒ n Xt j	 | ƒ } |  j | j ƒ  ƒ | j | ƒ } |  j | t | d ƒ ƒ q Wd  S(
   Ni    R   R   R   i   i   i   i   (   R   R   R   (   t   rangeR   t	   _testDataR   R    t	   importKeyt   longR   t	   constructt   newt   updateR   R   t   PKCSt
   failUnlesst   can_signt   signt   assertEqual(	   t   selft   it   rowt   keyt   xt   compst   ht   signerR	   (    (    su   /var/www/html/phendo-backend/phendo_python/env/lib/python2.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyt	   testSign1š   s    0c   	      C   s3  x,t  t |  j ƒ ƒ D]} |  j | } t | d ƒ rU t j | d ƒ j ƒ  } n? g  d D]# } t t | d | ƒ d ƒ ^ q\ } t j	 | ƒ } | d j
 ƒ  } y | j t | d ƒ ƒ Wn | j t | d ƒ ƒ n Xt j
 | ƒ } |  j | j ƒ  ƒ | j | t | d ƒ ƒ } |  j | ƒ q Wd  S(	   Ni    R   R   i   i   i   i   (   R   R   (   R   R   R   R   R    R   t	   publickeyR   R   R   R    R!   R   R   R"   t   failIfR$   t   verifyR#   (	   R'   R(   R)   R*   R+   R,   R-   t   verifiert   result(    (    su   /var/www/html/phendo-backend/phendo_python/env/lib/python2.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyt   testVerify1¯   s    0c         C   sª   t  j ƒ  j } t j d | ƒ } x‚ t t t t t	 t
 t t f D]b } | j ƒ  } | j t d ƒ ƒ t j | ƒ } | j | ƒ } | j | | ƒ } |  j | ƒ q@ Wd  S(   Ni   s   blah blah blah(   R   R    t   readR    t   generatet   MD2t   MD5t   SHAt   SHA224t   SHA256t   SHA384t   SHA512t   RIPEMDR!   R   R"   R%   R2   R#   (   R'   t   rngR*   t   hashmodR-   R.   R	   R4   (    (    su   /var/www/html/phendo-backend/phendo_python/env/lib/python2.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyt   testSignVerifyÄ   s    %(   t   __name__t
   __module__R8   R:   R   R/   R5   RB   (    (    (    su   /var/www/html/phendo-backend/phendo_python/env/lib/python2.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyR   7   s*   		c         C   s   g  } | t  t ƒ 7} | S(   N(   R   R   (   t   configt   tests(    (    su   /var/www/html/phendo-backend/phendo_python/env/lib/python2.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyt	   get_testsÒ   s    t   __main__c           C   s   t  j t ƒ  ƒ S(   N(   t   unittestt	   TestSuiteRG   (    (    (    su   /var/www/html/phendo-backend/phendo_python/env/lib/python2.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyt   <lambda>Ø   R   t   defaultTestt   suite(   t   __revision__RI   t   Crypto.PublicKeyR    t   Crypto.SelfTest.st_commonR   R   R   t   Crypto.Hasht   CryptoR   t   Crypto.SignatureR   R"   t   Crypto.Util.py3compatR   R   R   t   TestCaseR   RG   RC   RM   t   main(    (    (    su   /var/www/html/phendo-backend/phendo_python/env/lib/python2.7/site-packages/Crypto/SelfTest/Signature/test_pkcs1_15.pyt   <module>   s   

			›	