
    ,h6                        d Z ddlZddlmZmZ ddlmZ dddd ed	      fd
dd
d ed	      fdddd ed	      fdddd ed	      fdddd ed	      fdddd ed	      fdddd ed	      fdd d!d"d#d$d%d&d'd(d)d*d+d,d-d.gZ G d/ d0ej                        Z
 G d1 d2ej                        Z G d3 d4ej                        Zi fd5Zed6k(  rddlZd7 Z ej                   d89       yy):z&Self-test suite for Crypto.Cipher.ARC2    N)bbchrARC20000000000000000ebb773f993278effz	RFC2268-1?   effective_keylenffffffffffffffff278b27e42e2f0d49z	RFC2268-2@   100000000000000130649edf9be7d2c23000000000000000z	RFC2268-36ccf4308974c267f88bca90e90875az	RFC2268-51a807d272bbe5db1 88bca90e90875a7f0f79c384627bafb2z	RFC2268-62269552ab0f85ca6z	RFC2268-7   5b78d3a43dfff1f1B88bca90e90875a7f0f79c384627bafb216f80a6f85920584c42fceb0be255daf1ez	RFC2268-8   )r   624fb3e887419e485068696c6970476c617373z	PCTv201-0)r   79cadef44c4a5a85r   z	PCTv201-1)000102030405060790411525b34e4c2cr   z	PCTv201-2)0011223344556677078656aaba61cbfbr   z	PCTv201-3)r   d7bcc5dbb4d6e56ar   z	PCTv201-4)r   7259018ec557b357r   z	PCTv201-5)r   93d20a497f2ccb62r   z	PCTv201-6)r    cb15a7f819c0014dr   z	PCTv201-7)r   63ac98cdf3843a7a6ffffffffffffffff5065746572477265656e6177617953e5ffe553z	PCTv201-8)r   3fb49e2fa12371ddr'   z	PCTv201-9)r   46414781ab387d5fr'   z
PCTv201-10)r    be09dc81feaca271r'   z
PCTv201-11)r   e64221e608be30ab
53e5ffe553z
PCTv201-12)r   862bc60fdcd4d9a9r,   z
PCTv201-13)r   6a34da50fa5e47der,   z
PCTv201-14)r    584644c34503122cr,   z
PCTv201-15c                       e Zd Zd Zy)BufferOverflowTestc                     t        d      dz  }| j                  t        t        j                  |t        j
                         y)zARC2 with keylength > 128xi @  N)r   assertRaises
ValueErrorr   newMODE_ECB)selfkeys     b/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/Crypto/SelfTest/Cipher/test_ARC2.pyrunTestzBufferOverflowTest.runTestc   s+    fun*dhhT]]C    N__name__
__module____qualname__r;    r<   r:   r1   r1   `   s    Dr<   r1   c                       e Zd Zd Zy)	KeyLengthc                 X   t        j                  dt         j                  d       | j                  t        t         j                  t        d      dz  t         j                         | j                  t        t         j                  t        d      dz  t         j                         | j                  t        t         j                  t        d      dz  t         j                  d       | j                  t        t         j                  t        d      dz  t         j                  d	       y )
Ns                   (   r
   r      r      '   i  )r   r6   r7   r4   r5   r   )r8   s    r:   r;   zKeyLength.runTestj   s    t}}rB*dhhQ!T]]K*dhhQ#t}}M*dhhQ"dmm+- 	 	/*dhhQ"dmm+/ 	 	1r<   Nr=   rA   r<   r:   rC   rC   h   s    1r<   rC   c                       e Zd Zd Zy)
TestOutputc                 N   t        j                  dt         j                        }d}|j                  |      }t	        d      }|j                  ||      }| j                  ||       | j                  |d        |j                  ||      }| j                  ||       | j                  |d        t        t	        d            }|j                  ||       | j                  ||       |j                  ||       | j                  ||       | j                  t        |j                  |d       | j                  t        |j                  |d       t	        d      }| j                  t        |j                  ||       | j                  t        |j                  ||       y )Ns   4444444444444444s   5555555555555555rG   )outputs   0000000000000000   )r   r6   r7   encrypt	bytearrayassertEqualdecrypt
memoryviewr4   	TypeErrorr5   )r8   cipherptctrL   resshorter_outputs          r:   r;   zTestOutput.runTestw   s[    '4==1^^B2nnRn/V$d#nnRn/V$d#IbM*r&)V$r&)V$)V^^RH)V^^RH"1*fnnbP*fnnbPr<   Nr=   rA   r<   r:   rJ   rJ   u   s    Qr<   rJ   c                     ddl m} ddlm}  ||dt              }|j                  t                      |j                  t                      |t               gz  }|S )Nr   r      )make_block_testsr   )	Crypto.Cipherr   commonr[   	test_dataappendr1   rC   rJ   )configr   r[   testss       r:   	get_testsrb      sG    "(T695E	LL#%&	LL	jl^ELr<   __main__c                  <    t        j                  t                     S )N)unittest	TestSuiterb   rA   r<   r:   <lambda>rg      s    H&&y{3 r<   suite)defaultTest)__doc__re   Crypto.Util.py3compatr   r   r\   r   dictr^   TestCaser1   rC   rJ   rb   r>   rh   mainrA   r<   r:   <module>ro      s  2 -  )  +-?T2.0 +-?T2.0+-?T2.0 +-=T2.0+-OT2.0 +-OT3/1+LT3/1u<	|D** D
1!! 
1Q"" QD  	 z3EHMMg& r<   