Ë
    (üàg!  ã                   óä   — d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZ d„ Zd dlmZ  G d	„ d
e«      Z G d„ de j"                  «      Zi fd„Zedk(  rd„ Z e j,                  d¬«       yy)é    N)Ú	unhexlify)Úlist_test_cases)Útobytes)ÚAESÚDES3ÚDES)ÚSHAKE128c                 ó^   — t        j                  t        | «      ¬«      j                  |«      S )N)Údata)r	   Únewr   Úread)ÚtagÚlengths     úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/Crypto/SelfTest/Cipher/test_OpenPGP.pyÚget_tag_randomr   '   s    € Ü�<‰<œW S›\Ô*×/Ñ/°Ó7Ð7ó    )ÚBlockChainingTestsc                   óØ   — e Zd Zej                  Zej                  Z edd«      Z	 edd«      Z
 edd«      Z edd«      Z edd«      Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚOpenPGPTestsÚkey_128é   Úkey_192é   Úiv_128Úiv_64é   Údata_128c                 óh  — t        j                  | j                  t         j                  | j                  «      }t        dd«      }|j                  |«      }|d d |dd  }}t        j                  | j                  t         j                  |«      }|j                  |«      }| j                  ||«       y )NÚ	plaintexti@  é   )	r   r   r   ÚMODE_OPENPGPr   r   ÚencryptÚdecryptÚassertEqual©ÚselfÚcipherÚptÚctÚeivÚpt2s         r   Útest_loopback_128zOpenPGPTests.test_loopback_128:   s‹   € Ü—‘˜Ÿ™¤s×'7Ñ'7¸¿¹ÓEˆÜ˜K¨Ó2ˆØ�^‰^˜BÓˆà�S�b�'˜2˜b˜c˜7ˆRˆä—‘˜Ÿ™¤s×'7Ñ'7¸Ó=ˆØ�n‰n˜RÓ ˆØ×Ñ˜˜SÕ!r   c                 óh  — t        j                  | j                  t         j                  | j                  «      }t        dd«      }|j                  |«      }|d d |dd  }}t        j                  | j                  t         j                  |«      }|j                  |«      }| j                  ||«       y )Nr   i   é
   )	r   r   r   r!   r   r   r"   r#   r$   r%   s         r   Útest_loopback_64zOpenPGPTests.test_loopback_64E   s‹   € Ü—‘˜$Ÿ,™,¬×(9Ñ(9¸4¿:¹:ÓFˆÜ˜K¨Ó1ˆØ�^‰^˜BÓˆà�S�b�'˜2˜b˜c˜7ˆRˆä—‘˜$Ÿ,™,¬×(9Ñ(9¸3Ó?ˆØ�n‰n˜RÓ ˆØ×Ñ˜˜SÕ!r   c                 óŽ  — t        j                  | j                  t         j                  | j                  «      }|j                  d«      }| j                  |j                  | j                  «       t        j                  | j                  t         j                  |«      }| j                  |j                  | j                  «       y ©Nr   )r   r   r   r!   r   r"   r$   Úiv©r&   r'   r*   s      r   Útest_IV_iv_attributesz"OpenPGPTests.test_IV_iv_attributesP   s|   € Ü—‘˜Ÿ™¤s×'7Ñ'7¸¿¹ÓEˆØ�n‰n˜SÓ!ˆØ×Ñ˜Ÿ™ D§K¡KÔ0ä—‘˜Ÿ™¤s×'7Ñ'7¸Ó=ˆØ×Ñ˜Ÿ™ D§K¡KÕ0r   c                 ó8  — t        j                  | j                  t         j                  | j                  «      }|j                  d«      }t        j                  | j                  t         j                  |«      }| j                  |j                  d«      d«       y r1   )r   r   r   r!   r   r"   r$   r#   r3   s      r   Útest_null_encryption_decryptionz,OpenPGPTests.test_null_encryption_decryptionX   se   € Ü—‘˜Ÿ™¤s×'7Ñ'7¸¿¹ÓEˆØ�n‰n˜SÓ!ˆä—‘˜Ÿ™¤s×'7Ñ'7¸Ó=ˆØ×Ñ˜Ÿ™¨Ó,¨cÕ2r   c                 óœ  — t        j                  | j                  t         j                  | j                  «      }|j                  d«      }| j                  t        |j                  d«       t        j                  | j                  t         j                  |«      }|j                  d«       | j                  t        |j
                  d«       y r1   )	r   r   r   r!   r   r"   ÚassertRaisesÚ	TypeErrorr#   r3   s      r   Útest_either_encrypt_or_decryptz+OpenPGPTests.test_either_encrypt_or_decrypt_   s„   € Ü—‘˜Ÿ™¤s×'7Ñ'7¸¿¹ÓEˆØ�n‰n˜SÓ!ˆØ×Ñœ) V§^¡^°SÔ9ä—‘˜Ÿ™¤s×'7Ñ'7¸Ó=ˆØ�‰�sÔØ×Ñœ) V§^¡^°SÕ9r   c                 ó¸  — dgdz  }t        j                  | j                  t         j                  | j                  «      }|D �cg c]  }|j                  |«      ‘Œ }}t        j                  | j                  t         j                  | j                  «      }| j                  dj                  |«      |j                  dj                  |«      «      «       y c c}w ©Ns   7777777éd   r   )r   r   r   r!   r   r"   r$   Újoin©r&   Ú
plaintextsr'   ÚxÚciphertextss        r   Útest_unaligned_data_128z$OpenPGPTests.test_unaligned_data_128h   s›   € Ø!�^ cÑ)ˆ
ä—‘˜Ÿ™¤s×'7Ñ'7¸¿¹ÓEˆØ3=Ö?¨a˜Ÿ™ qÕ)Ð?ˆÐ?Ü—‘˜Ÿ™¤s×'7Ñ'7¸¿¹ÓEˆØ×Ñ˜Ÿ™ +Ó.°·±¸s¿x¹xÈ
Ó?SÓ0TÕUùò @ó   ÁCc                 ó¸  — dgdz  }t        j                  | j                  t         j                  | j                  «      }|D �cg c]  }|j                  |«      ‘Œ }}t        j                  | j                  t         j                  | j                  «      }| j                  dj                  |«      |j                  dj                  |«      «      «       y c c}w r<   )r   r   r   r!   r   r"   r$   r>   r?   s        r   Útest_unaligned_data_64z#OpenPGPTests.test_unaligned_data_64p   s›   € Ø!�^ cÑ)ˆ
ä—‘˜$Ÿ,™,¬×(9Ñ(9¸4¿:¹:ÓFˆØ3=Ö?¨a˜Ÿ™ qÕ)Ð?ˆÐ?Ü—‘˜$Ÿ,™,¬×(9Ñ(9¸4¿:¹:ÓFˆØ×Ñ˜Ÿ™ +Ó.°·±¸s¿x¹xÈ
Ó?SÓ0TÕUùò @rD   c                  ó   — y ©N© ©r&   s    r   Útest_output_paramzOpenPGPTests.test_output_paramx   ó   € Ør   c                  ó   — y rH   rI   rJ   s    r   Útest_output_param_same_bufferz*OpenPGPTests.test_output_param_same_buffer{   rL   r   c                  ó   — y rH   rI   rJ   s    r   Útest_output_param_memoryviewz)OpenPGPTests.test_output_param_memoryview~   rL   r   c                  ó   — y rH   rI   rJ   s    r   Útest_output_param_negz"OpenPGPTests.test_output_param_neg�   rL   r   N)Ú__name__Ú
__module__Ú__qualname__r   r!   Úaes_moder   Ú	des3_moder   r   r   r   r   r   r,   r/   r4   r6   r:   rC   rF   rK   rN   rP   rR   rI   r   r   r   r   -   s�   „ à×Ñ€HØ×!Ñ!€Iñ ˜Y¨Ó+€GÙ˜Y¨Ó+€GÙ˜H bÓ)€FÙ˜7 AÓ&€EÙ˜j¨"Ó-€Hò	"ò	"ò1ò3ò:òVòVòòòór   r   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestVectorsc                 óÖ  — d}d}d}d}d}t        |«      }t        |«      }t        |«      }t        |«      }t        |«      }t        j                  |t        j                  |«      }|j	                  |«      }| j                  |d d |«       | j                  |dd  |«       t        j                  |t        j                  |«      }|j                  |«      }| j                  ||«       y )NÚ4ac18620270744fb4f647426c61636b4361745768697465436174Ú4dc6b9e1f095de609765c59983db5956ae4f63aea7405389d2ebbÚ 5baa61e4c9b93f3f0682250b6cf8331bÚ 3d7d3e62282add7eb203eeba5c800733Ú$fd934601ef49cb58b6d9aebca6056bdb96efr    )r   r   r   r!   r"   r$   r#   ©	r&   r   Ú
ciphertextÚkeyr2   Úencrypted_ivr'   r)   r(   s	            r   Útest_aeszTestVectors.test_aes‡   sÖ   € ð0 Kˆ	ØKˆ
Ø0ˆØ/ˆØ;ˆä˜iÓ(ˆ	Ü˜zÓ*ˆ
Ü˜‹nˆÜ�r‹]ˆÜ  Ó.ˆä—‘˜œc×.Ñ.°Ó3ˆØ�^‰^˜IÓ&ˆØ×Ñ˜˜C˜R˜ ,Ô/Ø×Ñ˜˜B˜C˜ *Ô-ä—‘˜œc×.Ñ.°Ó=ˆØ�^‰^˜JÓ'ˆØ×Ñ˜˜YÕ'r   c                 óÖ  — d}d}d}d}d}t        |«      }t        |«      }t        |«      }t        |«      }t        |«      }t        j                  |t        j                  |«      }|j	                  |«      }| j                  |d d |«       | j                  |dd  |«       t        j                  |t        j                  |«      }|j                  |«      }| j                  ||«       y )NÚ2ac1762037074324fb53ba3596f73656d69746556616c6c6579Ú29979238528357b90e2e0be549cb0b2d5999b9a4a447e5c5c7dÚ07ade65b460f5ea9be35f9e14aa883a2048e3824aa616c0b2Úcd47e2afb8b7e4b0Ú6a7eef0b58050e8b904ar.   )r   r   r   r!   r"   r$   r#   r`   s	            r   Ú	test_des3zTestVectors.test_des3´   sÖ   € ð Iˆ	ØIˆ
Ø@ˆØˆØ+ˆä˜iÓ(ˆ	Ü˜zÓ*ˆ
Ü˜‹nˆÜ�r‹]ˆÜ  Ó.ˆä—‘˜#œt×0Ñ0°"Ó5ˆØ�^‰^˜IÓ&ˆØ×Ñ˜˜C˜R˜ ,Ô/Ø×Ñ˜˜B˜C˜ *Ô-ä—‘˜#œt×0Ñ0°,Ó?ˆØ�^‰^˜JÓ'ˆØ×Ñ˜˜YÕ'r   N)rS   rT   rU   rd   rk   rI   r   r   rY   rY   …   s   „ ò+(óZ(r   rY   c                 óR   — g }|t        t        «      z  }|t        t        «      z  }|S rH   )r   r   rY   )ÚconfigÚtestss     r   Ú	get_testsro   Ñ   s*   € Ø€EØ	Œ_œ\Ó*Ñ*€EØ	Œ_œ[Ó)Ñ)€EØ€Lr   Ú__main__c                  ó<   — t        j                  t        «       «      S rH   )ÚunittestÚ	TestSuitero   rI   r   r   ú<lambda>rt   Ù   s   € ”H×&Ñ&¤y£{Ó3€ r   Úsuite)ÚdefaultTest)rr   Úbinasciir   ÚCrypto.SelfTest.st_commonr   ÚCrypto.Util.py3compatr   ÚCrypto.Cipherr   r   r   ÚCrypto.Hashr	   r   ÚCrypto.SelfTest.Cipher.test_CBCr   r   ÚTestCaserY   ro   rS   ru   ÚmainrI   r   r   ú<module>r      sw   ðó> Ý å 5Ý )ß (Ñ (Ý  ò8õ ?ôUÐ%ô UôpI(�(×#Ñ#ô I(ðX ó ð ˆzÒÙ3€EØ€H‡M�M˜gÖ&ð r   