+
    '(j                     $   ^ RI t ^ RIHt ^ RIHt ^ RIHt  ! R R] P                  4      t ! R R] P                  4      t	 ! R	 R
] P                  4      t
 ! R R] P                  4      t/ 3R lt]R8X  d   R t] P                  ! RR7       R# R# )    N)list_test_cases)load_test_vectors_wycheproof)AESc                   :   a  ] tR t^	t o . ROtR tR tR tRtV t	R# )KW_Testsc                   V P                    F  pV Uu. uF  p\        P                  V4      NK  	  upw  r4p\        P                  ! V\        P
                  4      pVP                  V4      pV P                  WW4       \        P                  ! V\        P
                  4      pVP                  V4      pV P                  WH4       K  	  R # u upi N)	tvsbytesfromhexr   newMODE_KWsealassertEqualunseal	selftvxkekptctcipherct2pt2s	   &        S/home/ubuntu/cf-venv/lib/python3.14/site-packages/Crypto/SelfTest/Cipher/test_KW.pytest_rfc3394KW_Tests.test_rfc3394!   s    ((B578R5==+R8KCRWWS#++.F++b/CR%WWS#++.F--#CR% 8   Cc                z   \         P                  ! R\         P                  4      pV P                  \        4      ;_uu_ 4        VP                  R4       RRR4       V P                  \        4      ;_uu_ 4        VP                  R4       RRR4       R#   + '       g   i     LI; i  + '       g   i     R# ; i)   -    N   ----------------s   88888888888888888)r   r   r   assertRaises
ValueErrorr   )r   r   s   & r   	test_neg1KW_Tests.test_neg1.   st    CKK0z**KK + z**KK	" +* +* +**s   B:B)B&	)B:	c                   \         P                  ! R\         P                  4      p\        VP	                  R4      4      p\         P                  ! R\         P                  4      pVP                  V4       \         P                  ! R\         P                  4      pV^ ;;,          ^,          uu&   V P                  \        4      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)r!   Nr#   s   7777777777777777)r   r   r   	bytearrayr   r   r$   r%   )r   r   r   s   &  r   	test_neg2KW_Tests.test_neg28   s    CKK0v{{9-.CKK0bCKK0
1z**MM" +***s   C))C:	 N)) 000102030405060708090A0B0C0D0E0F 00112233445566778899AABBCCDDEEFF01FA68B0A8112B447AEF34BD8FB5A7B829D3E862371D2CFE5)0000102030405060708090A0B0C0D0E0F1011121314151617r.   096778B25AE6CA435F92B5B97C050AED2468AB8A17AD84E5D)@000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1Fr.   064E8C3F9CE0F5BA263E9777905818A2A93C8191E7D6E8AE7)r0   000112233445566778899AABBCCDDEEFF0001020304050607@031D33264E15D33268F24EC260743EDCE1C6C7DDEE725A936BA814915C6762D2)r2   r4   @A8F9BC1612C68B3FF6E6F4FBE30E71E4769C8B80A32CB8958CD5D17D6B254DA1)r2   @00112233445566778899AABBCCDDEEFF000102030405060708090A0B0C0D0E0FP28C9F404C4B810F4CBCCB35CFB87F8263F5786E2D80ED326CBC7F0E71A99F43BFB988B9B7A02DD21)
__name__
__module____qualname____firstlineno__r
   r   r&   r*   __static_attributes____classdictcell____classdict__s   @r   r   r   	   s      C*&# r"   r   c                   ,   a  ] tR t^Ft o R tR tRtV tR# )KW_Wycheproofc                *    \        RRR4      V n        R# )Cipherzkw_test.jsonzWycheproof tests for KWNrD   
wycheproofr   vectorsr   s   &r   setUpKW_Wycheproof.setUpH   s    34L4B4MOr"   c                   V P                   '       g   V P                  R 4       V P                    F  pV P                  VP                  R7      ;_uu_ 4        \        P
                  ! VP                  \        P                  4      p VP                  VP                  4       \        P
                  ! TP                  \        P                  4      p TP                  TP                  4      pT P                  Y1P                  4       RRR4       K  	  R#   \         d!    TP                  '       d   h  RRR4       EK  i ; i  \         d!    TP                  '       d   h  RRR4       EK?  i ; i  + '       g   i     EKU  ; izNo test vectors available)testIdN)rH   skipTestsubTestidr   r   keyr   r   msgr%   validr   r   r   r   vectorr   r   s   &   r   test_wycheproofKW_Wycheproof.test_wycheproofM   s   |||MM56llFVYY//S[[9KK

+ S[[9vyy1B   ZZ0% 0/ # " ||| 0/
 " |||! 0/ 0//s`   0E3D#/E3E.E3E	4E	5E3E	E3E0	"E0	#E3/E0	0E33FrH   Nr9   r:   r;   r<   rJ   rW   r=   r>   r?   s   @r   rB   rB   F   s     O
1 1r"   rB   c                   .   a  ] tR t^ht o RR.tR tRtV tR# )	KWP_Testsc                   V P                    F  pV Uu. uF  p\        P                  V4      NK  	  upw  r4p\        P                  ! V\        P
                  4      pVP                  V4      pV P                  WW4       \        P                  ! V\        P
                  4      pVP                  V4      pV P                  WH4       K  	  R # u upi r	   )	r
   r   r   r   r   MODE_KWPr   r   r   r   s	   &        r   test_rfc5649KWP_Tests.test_rfc5649s   s    ((B578R5==+R8KCRWWS#,,/F++b/CR%WWS#,,/F--#CR% 8r   r,   N)05840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8(c37b7e6492584340bed12207808941155068f738@138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a)ra   466f7250617369 afbeb0f07dfbf5419200f2ccb50bb24f)r9   r:   r;   r<   r
   r_   r=   r>   r?   s   @r   r\   r\   h   s!     	M	-	C& &r"   r\   c                   ,   a  ] tR t^t o R tR tRtV tR# )KWP_Wycheproofc                *    \        RRR4      V n        R# )rD   zkwp_test.jsonzWycheproof tests for KWPNrE   rG   rI   s   &r   rJ   KWP_Wycheproof.setUp   s    34L4C4NPr"   c                X   V P                   '       g   V P                  R 4       V P                    F  pV P                  VP                  R7      ;_uu_ 4        \        P
                  ! VP                  \        P                  4      p VP                  VP                  4       \        P
                  ! TP                  \        P                  4      p TP                  TP                  4      pT P                  Y1P                  4       RRR4       K  	  R#   \         d3    TP                  '       d   TP                  '       g   h  RRR4       EK#  i ; i  \         d3    TP                  '       d   TP                  '       g   h  RRR4       EKc  i ; i  + '       g   i     EKy  ; irM   )rH   rO   rP   rQ   r   r   rR   r^   r   rS   r%   rT   warningr   r   r   rU   s   &   r   rW   KWP_Wycheproof.test_wycheproof   s    |||MM56llFVYY//S\\:KK

+ S\\:vyy1B   ZZ0% 0/ # " |||FNNN 0/
 " |||FNNN! 0/ 0//sl   0FD#/FE.FE	4E	E	FE	FF	4F	F	FF	FF)rY   NrZ   r?   s   @r   rg   rg      s     P
1 1r"   rg   c                     . pV\        \        4      ,          pV\        \        4      ,          pV\        \        4      ,          pV\        \        4      ,          pV# r	   )r   r   r\   rB   rg   )configtestss   & r   	get_testsrp      sH    E	_X&&E	_Y''E	_]++E	_^,,ELr"   __main__c                  >    \         P                  ! \        4       4      # r	   )unittest	TestSuiterp   r,   r"   r   suiteru      s    !!)+..r"   ru   )defaultTest)rs   Crypto.SelfTest.st_commonr   Crypto.SelfTest.loaderr   Crypto.Cipherr   TestCaser   rB   r\   rg   rp   r9   ru   mainr,   r"   r   <module>r|      s     5 ? :x   :z1H%% 1D&!! &21X&& 1D   z/MMg& r"   