o
    5h                     @   s   d Z ddlZddlmZ ddlmZ g dZG dd dejZG dd	 d	ejZ	i fd
dZ
edkr>dd Zejdd dS dS )z&Self-test suite for Crypto.Cipher.CAST    N)bchr)CAST))0123456789abcdef238b4fe5847e44b2 0123456712345678234567893456789az128-bit key)r   eb6a711a2c02271b01234567123456782345z
80-bit key)r   7ac816d16e9b302e
0123456712z
40-bit keyc                   @      e Zd Zdd ZdS )	KeyLengthc                 C   s<   |  ttjtdd tj |  ttjtdd tj d S )Nr         )assertRaises
ValueErrorr   newr   MODE_ECB)self r   t/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/Crypto/SelfTest/Cipher/test_CAST.pyrunTest4   s    zKeyLength.runTestN__name__
__module____qualname__r   r   r   r   r   r   2       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   5555555555555555   )outputs   0000000000000000   )r   r   r   encrypt	bytearrayassertEqualdecrypt
memoryviewr   	TypeErrorr   )r   cipherptctr   resshorter_outputr   r   r   r   ;   s(   
zTestOutput.runTestNr   r   r   r   r   r   9   r   r   c                 C   s4   ddl m} |tdt}|t  |t  |S )N   )make_block_testsr   )commonr,   r   	test_dataappendr   r   )configr,   testsr   r   r   	get_tests[   s
   r2   __main__c                   C   s   t t S )N)unittest	TestSuiter2   r   r   r   r   <lambda>d   s    r6   suite)defaultTest)__doc__r4   Crypto.Util.py3compatr   Crypto.Cipherr   r.   TestCaser   r   r2   r   r7   mainr   r   r   r   <module>   s   "