o
    Þý°jZ  ã                   @   sœ   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddd	d
d dfddgZ	dd„ Z
dd„ Zdd„ Zi fdd„ZedkrLddlZdd„ Zejdd� dS dS )z*Self-test suite for Cryptodome.Hash.SHA512é    )Úhexlify)ÚSHA512é   )Úmake_hash_tests)Úload_test_vectors)Ú€ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49fÚabc)Ú€8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909ÚpabcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstuÚ€e718483d0ce769644e2e42c7bc15b4638e1f98b13b2044285632a803afa973ebde0ff244877ea60a4cb0432ce577c31beb009c5c2c49aa2e4eadb217ad8cc09bÚai@B z'a' * 10**6)Ú€cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3eÚ )Ú€af9ed2de700433b803240a552b41b5a472a6ef3fe1431a722b2063c75e9f07451f67a28e37d09cde769424c96aea6f8971389db9e1993d6c565c3c71b855723cz;Franz jagt im komplett verwahrlosten Taxi quer durch Bayernc               	   C   s–   t dddddd„ iƒpg } td d … }| D ]*}z	| d¡rW qW n	 ty)   Y nw |jdkr2d	|_| t|jƒ|j|j	f¡ qt
td
|ddd�}|S )N©ÚHashÚSHA2zSHA512ShortMsg.rspzKAT SHA-512Úlenc                 S   ó   t | ƒS ©N©Úint©Úx© r   ú—/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/Cryptodome/SelfTest/Hash/test_SHA512.pyÚ<lambda>:   ó    z"get_tests_SHA512.<locals>.<lambda>ú[r   ó    r   é@   z2.16.840.1.101.3.4.2.3)Údigest_sizeÚoid)r   Útest_data_512_otherÚ
startswithÚAttributeErrorr   ÚmsgÚappendr   ÚmdÚdescr   r   ©Útest_vectorsÚ	test_dataÚtvÚtestsr   r   r   Úget_tests_SHA5125   s0   
ýý
ÿÿ
þr/   c               	   C   ó”   t dddddd„ iƒpg } g }| D ]*}z	| d¡rW qW n	 ty%   Y nw |jdkr.d	|_| t|jƒ|j|jf¡ qt	t
d
|ddddid�}|S )Nr   zSHA512_224ShortMsg.rspzKAT SHA-512/224r   c                 S   r   r   r   r   r   r   r   r   R   r   z&get_tests_SHA512_224.<locals>.<lambda>r   r   r   z
SHA512/224é   z2.16.840.1.101.3.4.2.5ÚtruncateÚ224©r!   r"   Úextra_params©r   r$   r%   r   r&   r'   r   r(   r)   r   r   r*   r   r   r   Úget_tests_SHA512_224M   ó2   
ýý
ÿÿ
ýr7   c               	   C   r0   )Nr   zSHA512_256ShortMsg.rspzKAT SHA-512/256r   c                 S   r   r   r   r   r   r   r   r   k   r   z&get_tests_SHA512_256.<locals>.<lambda>r   r   r   z
SHA512/256é    z2.16.840.1.101.3.4.2.6r2   Ú256r4   r6   r*   r   r   r   Úget_tests_SHA512_256f   r8   r;   c                 C   s&   g }|t ƒ 7 }|tƒ 7 }|tƒ 7 }|S r   )r/   r7   r;   )Úconfigr.   r   r   r   Ú	get_tests   s
   


r=   Ú__main__Nc                   C   s   t  tƒ ¡S r   )ÚunittestÚ	TestSuiter=   r   r   r   r   r   ‰   s    r   Úsuite)ÚdefaultTest)Ú__doc__Úbinasciir   ÚCryptodome.Hashr   Úcommonr   ÚCryptodome.SelfTest.loaderr   r#   r/   r7   r;   r=   Ú__name__r?   rA   Úmainr   r   r   r   Ú<module>   s(   òý