
    ¿ig                         d Z ddlZddlmZ ddlmZ g dZ G d dej                  Z G d d	ej                  Z	i fd
Z
edk    rd Z ej        d           dS dS )z*Self-test suite for Cryptodome.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 ZdS )	KeyLengthc                 
   |                      t          t          j        t	          d          dz  t          j                   |                      t          t          j        t	          d          dz  t          j                   d S )Nr         )assertRaises
ValueErrorr   newr   MODE_ECB)selfs    `/var/www/html/afkarena/venv/lib/python3.11/site-packages/Cryptodome/SelfTest/Cipher/test_CAST.pyrunTestzKeyLength.runTest4   sX    *dhQ!T]KKK*dhQ"dmLLLLL    N__name__
__module____qualname__r    r   r   r   r   2   s(        M M M M Mr   r   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   5555555555555555   )outputs   0000000000000000   )r   r   r   encrypt	bytearrayassertEqualdecrypt
memoryviewr   	TypeErrorr   )r   cipherptctr"   resshorter_outputs          r   r   zTestOutput.runTest;   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   r   r   r   r   r   9   s(        Q Q Q Q Qr   r   c                     ddl m}  |t          dt                    }|                    t                                 |                    t                                 |S )N   )make_block_testsr   )commonr1   r   	test_dataappendr   r   )configr1   testss      r   	get_testsr7   [   sY    ((((((T6955E	LL	LLLr   __main__c                  B    t          j        t                                S )N)unittest	TestSuiter7   r   r   r   <lambda>r<   d   s    H&y{{33 r   suite)defaultTest)__doc__r:   Cryptodome.Util.py3compatr   Cryptodome.Cipherr   r3   TestCaser   r   r7   r   r=   mainr   r   r   <module>rD      s  2 1 0  * * * * * * " " " " " "  	 M M M M M! M M MQ Q Q Q Q" Q Q QD      z33EHMg&&&&&& r   