o
    5h6                     @   s8  d Z ddlZddlmZmZ ddlmZ ddddedd	fd
dd
dedd	fddddedd	fddddedd	fddddedd	fddddedd	fddddedd	fdd d!d"d#d$d%d&d'd(d)d*d+d,d-d.gZG d/d0 d0ej	Z
G d1d2 d2ej	ZG d3d4 d4ej	Zi fd5d6Zed7krddlZd8d9 Zejd:d; dS dS )<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d ZdS )BufferOverflowTestc                 C   s$   t dd }| ttj|tj dS )zARC2 with keylength > 128xi @  N)r   assertRaises
ValueErrorr   newMODE_ECB)selfkey r8   t/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/Crypto/SelfTest/Cipher/test_ARC2.pyrunTestc   s   zBufferOverflowTest.runTestN__name__
__module____qualname__r:   r8   r8   r8   r9   r0   `   s    r0   c                   @   r/   )	KeyLengthc                 C   s   t jdt jdd | tt jtdd t j | tt jtdd t j | jtt jtdd t jdd | jtt jtdd t jd	d d S )
Ns                   (   r	   r      r      '   i  )r   r4   r5   r2   r3   r   )r6   r8   r8   r9   r:   j   s   
zKeyLength.runTestNr;   r8   r8   r8   r9   r?   h       r?   c                   @   r/   )
TestOutputc                 C   s  t dt j}d}||}td}|j||d}| || | |d  |j||d}| || | |d  ttd}|j||d | || |j||d | || | jt	|j|dd | jt	|j|dd td}| jt
|j||d | jt
|j||d d S )Ns   4444444444444444s   5555555555555555rB   )outputs   0000000000000000   )r   r4   r5   encrypt	bytearrayassertEqualdecrypt
memoryviewr2   	TypeErrorr3   )r6   cipherptctrF   resshorter_outputr8   r8   r9   r:   w   s(   
zTestOutput.runTestNr;   r8   r8   r8   r9   rE   u   rD   rE   c                 C   sL   ddl m} ddlm} ||dt}|t  |t  |t g7 }|S )Nr   r      )make_block_testsr   )	Crypto.Cipherr   commonrT   	test_dataappendr0   r?   rE   )configr   rT   testsr8   r8   r9   	get_tests   s   r[   __main__c                   C   s   t t S )N)unittest	TestSuiter[   r8   r8   r8   r9   <lambda>   s    r_   suite)defaultTest)__doc__r]   Crypto.Util.py3compatr   r   rU   r   dictrW   TestCaser0   r?   rE   r[   r<   r`   mainr8   r8   r8   r9   <module>   sh   






>"