U
    ÈZj>  ã                7   @   sî   d Z ddlZddlmZ ddlmZ ddddd	d
ddddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:g7ZG d;d<„ d<ejƒZG d=d>„ d>ejƒZ	i fd?d@„Z
edAkrêddlZdBdC„ ZejdDdE� dS )Fz*Self-test suite for Crypto.Cipher.Blowfishé    N)Úbchr)ÚBlowfish)Ú0000000000000000Z4ef997456198dd78r   )ÚffffffffffffffffZ51866fd5b85ecb8ar   )Z1000000000000001Z7d856f9a613063f2Z3000000000000000)Ú1111111111111111Z2466dd878b963c9dr   )r   Z61f9c3802281b096Ú0123456789abcdef)r   Z7d0cc630afda1ec7r   )r   Z0aceab0fc6a0a28dÚfedcba9876543210)Z01a1d6d039776742Z59c68245eb05282bZ7ca110454a1a6e57)Z5cd54ca83def57daZb1b8cc0b250f09a0Z0131d9619dc1376e)Z0248d43806f67172Z1730e5778bea1da4Z07a1133e4a0b2686)Z51454b582ddf440aZa25e7856cf2651ebZ3849674c2602319e)Z42fd443059577fa2Z353882b109ce8f1aZ04b915ba43feb5b6)Z059b5e0851cf143aZ48f4d0884c379918Z0113b970fd34f2ce)Z0756d8e0774761d2Z432193b78951fc98Z0170f175468fb5e6)Z762514b829bf486aZ13f04154d69d1ae5Z43297fad38e373fe)Z3bdd119049372802Z2eedda93ffd39c79Z07a7137045da2a16)Z26955f6835af609aZd887e0393c2da6e3Z04689104c2fd3b2f)Z164d5e404f275232Z5f99d04f5b163969Z37d06bb516cb7546)Z6b056e18759f5ccaZ4a057a3b24d3977bZ1f08260d1ac2465e)Z004bd6ef09176062Z452031c1e4fada8eZ584023641aba6176)Z480d39006ee762f2Z7555ae39f59b87bdZ025816164629b007)Z437540c8698f3cfaZ53c55f9cb49fc019Z49793ebc79b3258f)Z072d43a077075292Z7a8e7bfa937e89a3Z4fb05e1515ab73a7)Z02fe55778117f12aZcf9c5d7a4986adb5Z49e95d6d4ca229bf)Z1d9d5c5018f728c2Zd1abb290658bc778Z018310dc409b26d6)Z305532286d6f295aZ55cb3774d13ef201Z1c587f1c13924fef)r   Zfa34ec4847b268b2Z0101010101010101)r   Za790795108ea3caeZ1f1f1f1f0e0e0e0e)r   Zc39e072d9fac631dZe0fee0fef1fef1fe)r   Z014933e0cdaff6e4r   )r   Zf21e9a77b71c49bcr   )r   Z245946885754369ar   )r   Z6b5c5a9c5d9e0a5ar   )r   Zbe1e639408640f05Zf0e1d2c3)r   Zb39e44481bdb1e6eZ
f0e1d2c3b4)r   Z9457aa83b1928c0dZf0e1d2c3b4a5)r   Z8bb77032f960629dZf0e1d2c3b4a596)r   Ze87a244e2cc85e82Zf0e1d2c3b4a59687)r   Z15750e7a4f4ec577Zf0e1d2c3b4a5968778)r   Z122ba70b3ab64ae0Zf0e1d2c3b4a596877869)r   Z3a833c9affc537f6Zf0e1d2c3b4a5968778695a)r   Z9409da87a90f6bf2Zf0e1d2c3b4a5968778695a4b)r   Z884f80625060b8b4Zf0e1d2c3b4a5968778695a4b3c)r   Z1f85031c19e11968Zf0e1d2c3b4a5968778695a4b3c2d)r   Z79d9373a714ca34fZf0e1d2c3b4a5968778695a4b3c2d1e)r   Z93142887ee3be15cZ f0e1d2c3b4a5968778695a4b3c2d1e0f)r   Z03429e838ce2d14bZ"f0e1d2c3b4a5968778695a4b3c2d1e0f00)r   Za4299e27469ff67bZ$f0e1d2c3b4a5968778695a4b3c2d1e0f0011)r   Zafd5aed1c1bc96a8Z&f0e1d2c3b4a5968778695a4b3c2d1e0f001122)r   Z10851c0e3858da9fZ(f0e1d2c3b4a5968778695a4b3c2d1e0f00112233)r   Ze6f51ed79b9db21fZ*f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344)r   Z64a6e14afd36b46fZ,f0e1d2c3b4a5968778695a4b3c2d1e0f001122334455)r   Z80c7d7d45a5479adZ.f0e1d2c3b4a5968778695a4b3c2d1e0f00112233445566)r   Z05044b62fa52d080Z0f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344556677c                   @   s   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   úg/var/www/html/TRUCKING_PROJECT/venv/lib/python3.8/site-packages/Crypto/SelfTest/Cipher/test_Blowfish.pyÚrunTestl   s    ÿÿzKeyLength.runTestN©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r	   j   s   r	   c                   @   s   e Zd Zdd„ ZdS )Ú
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   ZencryptÚ	bytearrayZassertEqualZdecryptÚ
memoryviewr   Ú	TypeErrorr   )r   ÚcipherÚptÚctr   ÚresZshorter_outputr   r   r   r   u   s(    
zTestOutput.runTestNr   r   r   r   r   r   s   s   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$   Ztestsr   r   r   Ú	get_tests•   s
    r)   Ú__main__c                   C   s   t  tƒ ¡S )N)ÚunittestZ	TestSuiter)   r   r   r   r   Ú<lambda>Ÿ   ó    r,   Úsuite)ZdefaultTest)Ú__doc__r+   ZCrypto.Util.py3compatr   ZCrypto.Cipherr   r&   ZTestCaser	   r   r)   r   r.   Úmainr   r   r   r   Ú<module>   s„   ½H	"