
    ¿igJ                        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           dS dS ):z*Self-test suite for Cryptodome.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dS )BufferOverflowTestc                     t          d          dz  }|                     t          t          j        |t          j                   dS )zARC2 with keylength > 128xi @  N)r   assertRaises
ValueErrorr   newMODE_ECB)selfkeys     `/var/www/html/afkarena/venv/lib/python3.11/site-packages/Cryptodome/SelfTest/Cipher/test_ARC2.pyrunTestzBufferOverflowTest.runTestc   s5    ffun*dhT]CCCCC    N__name__
__module____qualname__r;    r<   r:   r1   r1   `   s(        D D D D Dr<   r1   c                       e Zd Zd ZdS )	KeyLengthc                 X   t          j        dt           j        d           |                     t          t           j        t          d          dz  t           j                   |                     t          t           j        t          d          dz  t           j                   |                     t          t           j        t          d          dz  t           j        d           |                     t          t           j        t          d          dz  t           j        d	           d S )
Ns                   (   r
   r      r      '   i  )r   r6   r7   r4   r5   r   )r8   s    r:   r;   zKeyLength.runTestj   s    t}rBBBB*dhQ!T]KKK*dhQ#t}MMM*dhQ"dm+- 	 	/ 	/ 	/*dhQ"dm+/ 	 	1 	1 	1 	1 	1r<   Nr=   rA   r<   r:   rC   rC   h   s#        1 1 1 1 1r<   rC   c                       e Zd Zd ZdS )
TestOutputc                    t          j        dt           j                  }d}|                    |          }t	          d          }|                    ||          }|                     ||           |                     |d            |                    ||          }|                     ||           |                     |d            t          t	          d                    }|                    ||           |                     ||           |                    ||           |                     ||           |                     t          |j        |d           |                     t          |j        |d           t	          d          }|                     t          |j        ||           |                     t          |j        ||           d S )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1^^B2nnRn//V$$$d###nnRn//V$$$d###IbMM**r&)))V$$$r&)))V$$$)V^RHHH)V^RHHH"1*fnbPPP*fnbPPPPPr<   Nr=   rA   r<   r:   rJ   rJ   u   s(        Q Q Q Q Qr<   rJ   c                     ddl m} ddlm}  ||dt                    }|                    t                                 |                    t                                 |t                      gz  }|S )Nr   r      )make_block_testsr   )	Cryptodome.Cipherr   commonr[   	test_dataappendr1   rC   rJ   )configr   r[   testss       r:   	get_testsrb      s~    &&&&&&((((((T6955E	LL#%%&&&	LL	jll^ELr<   __main__c                  B    t          j        t                                S )N)unittest	TestSuiterb   rA   r<   r:   <lambda>rg      s    H&y{{33 r<   suite)defaultTest)__doc__re   Cryptodome.Util.py3compatr   r   r\   r   dictr^   TestCaser1   rC   rJ   rb   r>   rh   mainrA   r<   r:   <module>ro      ss  2 1 0  - - - - - - - - " " " " " " +-?TT2...0 +-?TT2...0+-?TT2...0 +-=TT2...0+-OTT2...0 +-OTT3///1+LTT3///1u<	|D D D D D* D D D
1 
1 
1 
1 
1! 
1 
1 
1Q Q Q Q Q" Q Q QD  	 	 	 	 zOOO33EHMg&&&&&& r<   