o
    ]¨Êhó  ã                   @   s˜   d Z ddlZddlmZ ddlmZ ddlmZm	Z	 ddl
T dd„ ZG d	d
„ d
ejƒZG dd„ dejƒZi fdd„ZedkrJdd„ Zejdd� dS dS )z$Id$é    N)Ú	unhexlify)Úlist_test_cases)ÚSHAÚHMAC)Ú*c                 C   s   t t| ƒƒS ©N)r   Úb)Út© r
   úS/var/www/html/env/lib/python3.10/site-packages/Crypto/SelfTest/Protocol/test_KDF.pyÚt2b!   ó    r   c                   @   ó   e Zd ZdZdd„ ZdS )ÚPBKDF1_Tests))ÚpasswordÚ78578E5A5D63CB06é   iè  Ú DC19847E05C64D2FAF10EBFB4A3D2A20c                 C   sF   | j d }t|d t|d ƒ|d |d tƒ}|  |t|d ƒ¡ d S )Nr   é   é   é   é   )Ú	_testDataÚPBKDF1r   ÚSHA1ÚassertEqual)ÚselfÚvÚresr
   r
   r   Útest11   s   
$zPBKDF1_Tests.test1N©Ú__name__Ú
__module__Ú__qualname__r   r   r
   r
   r
   r   r   #   s    	r   c                   @   r   )ÚPBKDF2_Tests))r   r   é   i   Ú0BFDE6BE94DF7E11DD409BCE20A0255EC327CB936FFE93643)r   Ú73616c74é   r   Ú(0c60c80f961f0e71f3a9b524af6012062fe037a6)r   r'   r(   r   Ú(ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957)r   r'   r(   é   Ú(4b007901b765489abead49d926f721d065a429c1)ÚpasswordPASSWORDpasswordÚH73616c7453414c5473616c7453414c5473616c7453414c5473616c7453414c5473616c74é   r+   Ú23d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038)z	pass wordÚ
7361006c74r   r+   Ú 56fa6aa75548099dcc37d7f03425e0c3c                 C   s�   dd„ }t t| jƒƒD ]:}| j| }t|d t|d ƒ|d |d ƒ}t|d t|d ƒ|d |d |ƒ}|  |t|d ƒ¡ |  ||¡ qd S )Nc                 S   s   t  | |t¡ ¡ S r   )r   Únewr   Údigest)ÚpÚsr
   r
   r   ÚprfN   s   zPBKDF2_Tests.test1.<locals>.prfr   r   r   r   r   )ÚrangeÚlenr   ÚPBKDF2r   r   )r   r7   Úir   r   Úres2r
   r
   r   r   K   s   
"$ûzPBKDF2_Tests.test1Nr    r
   r
   r
   r   r$   6   s    	r$   c                 C   s    g }|t tƒ7 }|t tƒ7 }|S r   )r   r   r$   )ÚconfigÚtestsr
   r
   r   Ú	get_testsX   s   r?   Ú__main__c                   C   s   t  tƒ ¡S r   )ÚunittestÚ	TestSuiter?   r
   r
   r
   r   Ú<lambda>_   r   rC   Úsuite)ÚdefaultTest)Ú__revision__rA   Úbinasciir   ÚCrypto.SelfTest.st_commonr   ÚCrypto.Hashr   r   r   ÚCrypto.Protocol.KDFr   ÚTestCaser   r$   r?   r!   rD   Úmainr
   r
   r
   r   Ú<module>   s   "þ