o
    Þý°jJ  ã                   @   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rBddlZdd„ Zejdd� dS dS )z.Self-test suite for Cryptodome.Cipher.Blowfishé    N)Úbchr)ÚBlowfish)7©Ú0000000000000000Ú4ef997456198dd78r   )ÚffffffffffffffffÚ51866fd5b85ecb8ar   )Ú1000000000000001Ú7d856f9a613063f2Ú3000000000000000)Ú1111111111111111Ú2466dd878b963c9dr   )r   Ú61f9c3802281b096Ú0123456789abcdef)r   Ú7d0cc630afda1ec7r   r   )r   Ú0aceab0fc6a0a28dÚfedcba9876543210)Ú01a1d6d039776742Ú59c68245eb05282bÚ7ca110454a1a6e57)Ú5cd54ca83def57daÚb1b8cc0b250f09a0Ú0131d9619dc1376e)Ú0248d43806f67172Ú1730e5778bea1da4Ú07a1133e4a0b2686)Ú51454b582ddf440aÚa25e7856cf2651ebÚ3849674c2602319e)Ú42fd443059577fa2Ú353882b109ce8f1aÚ04b915ba43feb5b6)Ú059b5e0851cf143aÚ48f4d0884c379918Ú0113b970fd34f2ce)Ú0756d8e0774761d2Ú432193b78951fc98Ú0170f175468fb5e6)Ú762514b829bf486aÚ13f04154d69d1ae5Ú43297fad38e373fe)Ú3bdd119049372802Ú2eedda93ffd39c79Ú07a7137045da2a16)Ú26955f6835af609aÚd887e0393c2da6e3Ú04689104c2fd3b2f)Ú164d5e404f275232Ú5f99d04f5b163969Ú37d06bb516cb7546)Ú6b056e18759f5ccaÚ4a057a3b24d3977bÚ1f08260d1ac2465e)Ú004bd6ef09176062Ú452031c1e4fada8eÚ584023641aba6176)Ú480d39006ee762f2Ú7555ae39f59b87bdÚ025816164629b007)Ú437540c8698f3cfaÚ53c55f9cb49fc019Ú49793ebc79b3258f)Ú072d43a077075292Ú7a8e7bfa937e89a3Ú4fb05e1515ab73a7)Ú02fe55778117f12aÚcf9c5d7a4986adb5Ú49e95d6d4ca229bf)Ú1d9d5c5018f728c2Úd1abb290658bc778Ú018310dc409b26d6)Ú305532286d6f295aÚ55cb3774d13ef201Ú1c587f1c13924fef)r   Úfa34ec4847b268b2Ú0101010101010101)r   Úa790795108ea3caeÚ1f1f1f1f0e0e0e0e)r   Úc39e072d9fac631dÚe0fee0fef1fef1fe)r   Ú014933e0cdaff6e4r   )r   Úf21e9a77b71c49bcr   )r   Ú245946885754369ar   )r   Ú6b5c5a9c5d9e0a5ar   )r   Úbe1e639408640f05Úf0e1d2c3)r   Úb39e44481bdb1e6eÚ
f0e1d2c3b4)r   Ú9457aa83b1928c0dÚf0e1d2c3b4a5)r   Ú8bb77032f960629dÚf0e1d2c3b4a596)r   Úe87a244e2cc85e82Úf0e1d2c3b4a59687)r   Ú15750e7a4f4ec577Úf0e1d2c3b4a5968778)r   Ú122ba70b3ab64ae0Úf0e1d2c3b4a596877869)r   Ú3a833c9affc537f6Úf0e1d2c3b4a5968778695a)r   Ú9409da87a90f6bf2Úf0e1d2c3b4a5968778695a4b)r   Ú884f80625060b8b4Úf0e1d2c3b4a5968778695a4b3c)r   Ú1f85031c19e11968Úf0e1d2c3b4a5968778695a4b3c2d)r   Ú79d9373a714ca34fÚf0e1d2c3b4a5968778695a4b3c2d1e)r   Ú93142887ee3be15cÚ f0e1d2c3b4a5968778695a4b3c2d1e0f)r   Ú03429e838ce2d14bÚ"f0e1d2c3b4a5968778695a4b3c2d1e0f00)r   Úa4299e27469ff67bÚ$f0e1d2c3b4a5968778695a4b3c2d1e0f0011)r   Úafd5aed1c1bc96a8Ú&f0e1d2c3b4a5968778695a4b3c2d1e0f001122)r   Ú10851c0e3858da9fÚ(f0e1d2c3b4a5968778695a4b3c2d1e0f00112233)r   Úe6f51ed79b9db21fÚ*f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344)r   Ú64a6e14afd36b46fÚ,f0e1d2c3b4a5968778695a4b3c2d1e0f001122334455)r   Ú80c7d7d45a5479adÚ.f0e1d2c3b4a5968778695a4b3c2d1e0f00112233445566)r   Ú05044b62fa52d080Ú0f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344556677c                   @   ó   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   é   é9   )ÚassertRaisesÚ
ValueErrorr   Únewr   ÚMODE_ECB)Úself© r‰   ú›/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/Cryptodome/SelfTest/Cipher/test_Blowfish.pyÚrunTestl   s   ÿÿzKeyLength.runTestN©Ú__name__Ú
__module__Ú__qualname__r‹   r‰   r‰   r‰   rŠ   r�   j   ó    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‹   u   s(   
zTestOutput.runTestNrŒ   r‰   r‰   r‰   rŠ   r‘   s   r�   r‘   c                 C   s4   ddl m} |tdtƒ}| tƒ ¡ |tƒ g7 }|S )Né   )Úmake_block_testsr   )Úcommonr¡   r   Ú	test_dataÚappendr�   r‘   )Úconfigr¡   Útestsr‰   r‰   rŠ   Ú	get_tests•   s
   r§   Ú__main__c                   C   s   t  tƒ ¡S )N)ÚunittestÚ	TestSuiter§   r‰   r‰   r‰   rŠ   Ú<lambda>Ÿ   s    r«   Úsuite)ÚdefaultTest)Ú__doc__r©   ÚCryptodome.Util.py3compatr   ÚCryptodome.Cipherr   r£   ÚTestCaser�   r‘   r§   r�   r¬   Úmainr‰   r‰   r‰   rŠ   Ú<module>   s   H	"ý