+
    '(j!                         ^ RI t ^ RIHt ^ RIHt ^ RIHt ^ RIHtH	t	H
t
 ^ RIHt R t^ RIHt  ! R	 R
]4      t ! R R] P"                  4      t/ 3R lt]R8X  d   R t] P,                  ! RR7       R# R# )    N)	unhexlify)list_test_cases)tobytes)AESDES3DES)SHAKE128c                 `    \         P                  ! \        V 4      R 7      P                  V4      # ))data)r	   newr   read)taglengths   &&X/home/ubuntu/cf-venv/lib/python3.14/site-packages/Crypto/SelfTest/Cipher/test_OpenPGP.pyget_tag_randomr   '   s     <<WS\*//77    )BlockChainingTestsc                      a  ] tR t^-t o ]P
                  t]P
                  t]	! R^4      t
]	! R^4      t]	! R^4      t]	! R^4      t]	! R^4      tR tR tR tR	 tR
 tR tR tR tR tR tR tRtV tR# )OpenPGPTestskey_128key_192iv_128iv_64data_128c                z   \         P                  ! V P                  \         P                  V P                  4      p\        R R4      pVP                  V4      pVR,          VR,          r4\         P                  ! V P                  \         P                  V4      pVP                  V4      pV P                  W%4       R# )	plaintextN   Nr   NNNi@  )	r   r   r   MODE_OPENPGPr   r   encryptdecryptassertEqualselfcipherptcteivpt2s   &     r   test_loopback_128OpenPGPTests.test_loopback_128:   s    s'7'7EK2^^BS'2c7Rs'7'7=nnR !r   c                z   \         P                  ! V P                  \         P                  V P                  4      p\        R R4      pVP                  V4      pVR,          VR,          r4\         P                  ! V P                  \         P                  V4      pVP                  V4      pV P                  W%4       R# )r   N
   Nr/   NNNi   )	r   r   r   r    r   r   r!   r"   r#   r$   s   &     r   test_loopback_64OpenPGPTests.test_loopback_64E   s    $,,(9(94::FK1^^BS'2c7R$,,(9(93?nnR !r   c                   \         P                  ! V P                  \         P                  V P                  4      pVP                  R 4      pV P                  VP                  V P                  4       \         P                  ! V P                  \         P                  V4      pV P                  VP                  V P                  4       R# r   N)r   r   r   r    r   r!   r#   ivr%   r&   r)   s   &  r   test_IV_iv_attributes"OpenPGPTests.test_IV_iv_attributesP   s|    s'7'7EnnS!DKK0s'7'7=DKK0r   c                >   \         P                  ! V P                  \         P                  V P                  4      pVP                  R 4      p\         P                  ! V P                  \         P                  V4      pV P                  VP                  R 4      R 4       R# r4   )r   r   r   r    r   r!   r#   r"   r6   s   &  r   test_null_encryption_decryption,OpenPGPTests.test_null_encryption_decryptionX   se    s'7'7EnnS!s'7'7=,c2r   c                   \         P                  ! V P                  \         P                  V P                  4      pVP                  R 4      pV P                  \        VP                  R 4       \         P                  ! V P                  \         P                  V4      pVP                  R 4       V P                  \        VP
                  R 4       R# r4   )	r   r   r   r    r   r!   assertRaises	TypeErrorr"   r6   s   &  r   test_either_encrypt_or_decrypt+OpenPGPTests.test_either_encrypt_or_decrypt_   s    s'7'7EnnS!)V^^S9s'7'7=s)V^^S9r   c                   R .^d,          p\         P                  ! V P                  \         P                  V P                  4      pV Uu. uF  q2P                  V4      NK  	  pp\         P                  ! V P                  \         P                  V P                  4      pV P                  RP                  V4      VP                  RP                  V4      4      4       R# u upi s   7777777r   N)r   r   r   r    r   r!   r#   joinr%   
plaintextsr&   xciphertextss   &    r   test_unaligned_data_128$OpenPGPTests.test_unaligned_data_128h   s    !^c)
s'7'7E3=?:aq):?s'7'7E+.sxx
?S0TU @   	Cc                   R .^d,          p\         P                  ! V P                  \         P                  V P                  4      pV Uu. uF  q2P                  V4      NK  	  pp\         P                  ! V P                  \         P                  V P                  4      pV P                  RP                  V4      VP                  RP                  V4      4      4       R# u upi rB   )r   r   r   r    r   r!   r#   rC   rD   s   &    r   test_unaligned_data_64#OpenPGPTests.test_unaligned_data_64p   s    !^c)
$,,(9(94::F3=?:aq):?$,,(9(94::F+.sxx
?S0TU @rJ   c                    R # N r%   s   &r   test_output_paramOpenPGPTests.test_output_paramx       r   c                    R # rO   rP   rQ   s   &r   test_output_param_same_buffer*OpenPGPTests.test_output_param_same_buffer{   rT   r   c                    R # rO   rP   rQ   s   &r   test_output_param_memoryview)OpenPGPTests.test_output_param_memoryview~   rT   r   c                    R # rO   rP   rQ   s   &r   test_output_param_neg"OpenPGPTests.test_output_param_neg   rT   r   rP   N)__name__
__module____qualname____firstlineno__r   r    aes_moder   	des3_moder   r   r   r   r   r   r+   r1   r7   r:   r?   rH   rL   rR   rV   rY   r\   __static_attributes____classdictcell____classdict__s   @r   r   r   -   s     H!!I Y+GY+GHb)F7A&Ej"-H	"	"13:VV r   r   c                   ,   a  ] tR t^t o R tR tRtV tR# )TestVectorsc                   R pRpRpRpRp\        V4      p\        V4      p\        V4      p\        V4      p\        V4      p\        P                  ! V\        P                  V4      pVP	                  V4      pV P                  VR,          V4       V P                  VR,          V4       \        P                  ! V\        P                  V4      pVP                  V4      pV P                  W4       R# )4ac18620270744fb4f647426c61636b43617457686974654361744dc6b9e1f095de609765c59983db5956ae4f63aea7405389d2ebb 5baa61e4c9b93f3f0682250b6cf8331b 3d7d3e62282add7eb203eeba5c800733$fd934601ef49cb58b6d9aebca6056bdb96efr   r   N)r   r   r   r    r!   r#   r"   	r%   r   
ciphertextkeyr5   encrypted_ivr&   r(   r'   s	   &        r   test_aesTestVectors.test_aes   s    0 K	K
0/;i(	z*
nr] .c..3^^I&C,/C*-c..=^^J''r   c                   R pRpRpRpRp\        V4      p\        V4      p\        V4      p\        V4      p\        V4      p\        P                  ! V\        P                  V4      pVP	                  V4      pV P                  VR,          V4       V P                  VR,          V4       \        P                  ! V\        P                  V4      pVP                  V4      pV P                  W4       R# )2ac1762037074324fb53ba3596f73656d69746556616c6c657929979238528357b90e2e0be549cb0b2d5999b9a4a447e5c5c7d07ade65b460f5ea9be35f9e14aa883a2048e3824aa616c0b2cd47e2afb8b7e4b06a7eef0b58050e8b904ar.   r0   N)r   r   r   r    r!   r#   r"   rp   s	   &        r   	test_des3TestVectors.test_des3   s     I	I
@+i(	z*
nr] .#t00"5^^I&C,/C*-#t00,?^^J''r   rP   N)r^   r_   r`   ra   rt   r|   rd   re   rf   s   @r   ri   ri      s     +(Z( (r   ri   c                 b    . pV\        \        4      ,          pV\        \        4      ,          pV# rO   )r   r   ri   )configtestss   & r   	get_testsr      s*    E	_\**E	_[))ELr   __main__c                  >    \         P                  ! \        4       4      # rO   )unittest	TestSuiter   rP   r   r   <lambda>r      s    H&&y{3r   suite)defaultTest)r   binasciir   Crypto.SelfTest.st_commonr   Crypto.Util.py3compatr   Crypto.Cipherr   r   r   Crypto.Hashr	   r   Crypto.SelfTest.Cipher.test_CBCr   r   TestCaseri   r   r^   r   mainrP   r   r   <module>r      su   >   5 ) ( (  8 ?U% UpI((## I(X   z3EMMg& r   