
    i                         S r SSKrSSKJr  SSKJr  / SQr " S S\R                  5      r " S S	\R                  5      r	0 4S
 jr
\S:X  a  S r\R                  " SS9  gg)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                       \ rS rSrS rSrg)	KeyLength2   c                    U R                  [        [        R                  [	        S5      S-  [        R
                  5        U R                  [        [        R                  [	        S5      S-  [        R
                  5        g )Nr         )assertRaises
ValueErrorr   newr   MODE_ECB)selfs    [/var/www/html/trading/venv/lib/python3.13/site-packages/Crypto/SelfTest/Cipher/test_CAST.pyrunTestKeyLength.runTest4   sJ    *dhhQ!T]]K*dhhQ"dmmL     N__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r   r   2   s    Mr   r   c                       \ rS rSrS rSrg)
TestOutput9   c                    [         R                  " S[         R                  5      nSnUR                  U5      n[	        S5      nUR                  X$S9nU R                  X45        U R                  US 5        UR                  X4S9nU R                  X$5        U R                  US 5        [        [	        S5      5      nUR                  X$S9  U R                  X45        UR                  X4S9  U R                  X$5        U R                  [        UR                  USS9  U R                  [        UR                  USS9  [	        S5      nU R                  [        UR                  X&S9  U R                  [        UR                  X6S9  g )Ns   4444444444444444s   5555555555555555   )outputs   0000000000000000   )r   r   r   encrypt	bytearrayassertEqualdecrypt
memoryviewr   	TypeErrorr   )r   cipherptctr'   resshorter_outputs          r   r   TestOutput.runTest;   sG    '4==1^^B2nnRn/$d#nnRn/$d#IbM*r)$r)$)V^^RH)V^^RH"1*fnnbP*fnnbPr   r   Nr   r   r   r   r#   r#   9   s    Qr   r#   c                     SSK Jn  U" [        S[        5      nUR	                  [        5       5        UR	                  [        5       5        U$ )N   )make_block_testsr   )commonr7   r   	test_dataappendr   r#   )configr7   testss      r   	get_testsr=   [   s4    (T695E	LL	LLLr   __main__c                  >    [         R                  " [        5       5      $ )N)unittest	TestSuiter=   r   r   r   <lambda>rB   d   s    H&&y{3r   suite)defaultTest)__doc__r@   Crypto.Util.py3compatr   Crypto.Cipherr   r9   TestCaser   r#   r=   r   rC   mainr   r   r   <module>rJ      sm   2 -  & 	 M!! MQ"" QD   z3EMMg& r   