+
    '(jM                     b   R t ^ RIt^ RIHt ^ RIHtHt ^ RIHtH	t	H
t
HtHtHtHtHtHtHtHtHt ]! ]	]
]]]]]]]]]R7      tRtR t. RR]! RR	7      R
3NRR]! RR7      R3NR)R]! RR7      R3NRR]! RRR7      R3NRR]! RR7      R3NRHR]! RR7      R3NRR]! RRR7      R3NRR]! RR7      R 3NRMR]! R!R7      R"3NRR]! R#R$R7      R%3NRR]! R&R'R7      R(3NR)R]! R*R+7      R,3NRR]! R-R+7      R.3NRHR]! R/R+7      R03NRR]! R1R+7      R23NRR]! R3R+7      R43NRR]! R5R+7      R63NRR]! R7R87      R93NRR]! R:R;7      R<3NRR]! R=R>7      R?3NR)]! R@4      ]! RARB7      RC3N]! RD4      ]! RE4      ]! RFRB7      RG3NRHR]! RIRB7      RJ3NRR]! RKRB7      RL3NRM]! RN4      ]! RORB7      RP3NR]! RQ4      ]! RRRB7      RS3NR]! RT4      ]! RURB7      RV3NRW]! RX4      ]! RYRZ7      R[3NR\]! R]4      ]! R^RZ7      R_3NR`]! Ra4      ]! RbRZ7      Rc3NRd]! RX4      ]! ReRf7      Rg3NRh]! R]4      ]! RiRf7      Rj3NRk]! Ra4      ]! RlRf7      Rm3NRn]! RX4      ]! RoRp7      Rq3NRr]! R]4      ]! RsRp7      Rt3NRu]! Ra4      ]! RvRp7      Rw3NRx]! RX4      ]! RyRz7      R{3NR|]! R]4      ]! R}Rz7      R~3NRh]! Ra4      ]! RRz7      R3Ns ! R R]P2                  4      t ! R R]P2                  4      t ! R R]P2                  4      t ! R R]P2                  4      t/ 3R lt]R8X  d   R t ]PB                  ! RR7       R# R# )z$Self-test suite for Crypto.Hash.HMACN)hexlify)tostrtobytes)HMACMD5SHA1SHA256SHA224SHA384SHA512	RIPEMD160SHA3_224SHA3_256SHA3_384SHA3_512)r   r   r   r	   r
   r   r   r   r   r   r   c                 <    \        \        \        V 4      4      4      # N)r   r   r   )texts   &S/home/ubuntu/cf-venv/lib/python3.14/site-packages/Crypto/SelfTest/Hash/test_HMAC.pyxlr   -   s    '((    4869205468657265 9294727a3638bb1c13f48ef8158bfc9d)default_hashzdefault-is-MD5)r   zRFC 2202 #1-MD5 (HMAC-MD5)(b617318655057264e28bc0b6fb378c8ef146be00)r   zRFC 2202 #1-SHA1 (HMAC-SHA1)4a65666587768617420646f2079612077616e7420666f72206e6f7468696e673f 750c783e6ab0b503eaa86e310a5db738(effcdf6ae5eb2fa2d27416d5f184df9c259a7c79)r   r   zRFC 2202 #2 (HMAC-MD5/SHA1) 56be34521d144c88dbb8c733f0e8b3f6zRFC 2202 #3-MD5 (HMAC-MD5)(125d7342b9ac11cd91a39af48aa17b4f63f175d3zRFC 2202 #3-SHA1 (HMAC-SHA1)20102030405060708090a0b0c0d0e0f10111213141516171819 697eaf0aca3a3aea3a75164746ffaa79(4c9007f4026250c6bc8414f9bf50c86c2d7235dazRFC 2202 #4 (HMAC-MD5/SHA1)(546573742057697468205472756e636174696f6e 56461ef2342edc00f9bab995690efd4czRFC 2202 #5-MD5 (HMAC-MD5)(4c1a03424b55e07fe7f27be1d58bb9324a9a5a04zRFC 2202 #5-SHA1 (HMAC-SHA1) 6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd(aa4ae5e15272d00e95705637ce8a3b55ed402112zRFC 2202 #6 (HMAC-MD5/SHA1) 6f630fad67cda0ee1fb1f562db3aa53e(e8e99d0f45237d786d6bbaa7965c7808bbff1a91zRFC 2202 #7 (HMAC-MD5/SHA1)(0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0bzc
            b0344c61d8db38535ca8afceaf0bf12b
            881dc200c9833da726e9376c2e32cff7
        )r   zRFC 4231 #1 (HMAC-SHA256)zc
            5bdcc146bf60754e6a042426089575c7
            5a003f089d2739839dec58b964ec3843
        zRFC 4231 #2 (HMAC-SHA256)zc
            773ea91e36800e46854db8ebd09181a7
            2959098b3ef8c122d9635514ced565fe
        zRFC 4231 #3 (HMAC-SHA256)zc
            82558a389a443c0ea4cc819899f2083a
            85f0faa3e578f8077a2e3ff46729665b
        zRFC 4231 #4 (HMAC-SHA256)zc
            60e431591ee0b67f0d8a26aacbf5b77f
            8e0bc6213728c5140546040f0ee37f54
        zRFC 4231 #6 (HMAC-SHA256)zc
            9b09ffa71b942fcb27635fbcd5b0e944
            bfdc63644f0713938a7f51535c3a35e2
        zRFC 4231 #7 (HMAC-SHA256)8a30e01098bc6dbbf45690f3a7e9e6d0f8bbea2a39e6148008fd05e44)r	   z!RFC 4634 8.4 SHA224 (HMAC-SHA224)`af45d2e376484031617f78d2b58a6b1b9c7ef464f5a01b47e42ec3736322445e8e2240ca5e69e2c78b3239ecfab21649)r
   z!RFC 4634 8.4 SHA384 (HMAC-SHA384)ڀ164b7a7bfcf819e2e395fbe73b56e0a387bd64222e831fd610270cd7ea2505549758bf75c05a994a6d034f65f8f0e6fdcaeab1a34d4a6b4b636e070a38bce737)r   z!RFC 4634 8.4 SHA512 (HMAC-SHA512)zHi There(24cb4bd67d20fc1a5d2ed7732dcc39377f0a5668)r   zRFC 2286 #1 (HMAC-RIPEMD)Jefezwhat do ya want for nothing?(dda6c0213a485a9e24f4742064a7f033b43c4069zRFC 2286 #2 (HMAC-RIPEMD)(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(b0b105360de759960ab4f35298e116e295d8e7c1zRFC 2286 #3 (HMAC-RIPEMD)(d5ca862f4d21d5e610e18b4cf1beb97a4365ecf4zRFC 2286 #4 (HMAC-RIPEMD)(0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0czTest With Truncation(7619693978f91d90539ae786500ff3d8e0518e39zRFC 2286 #5 (HMAC-RIPEMD)z6Test Using Larger Than Block-Size Key - Hash Key First(6466ca07ac5eac29e1bd523e5ada7605b791fd8bzRFC 2286 #6 (HMAC-RIPEMD)zITest Using Larger Than Block-Size Key and Larger Than One Block-Size Data(69ea60798d71616cce5fd0871e23754cd75d5a0azRFC 2286 #7 (HMAC-RIPEMD)8000102030405060708090a0b0c0d0e0f101112131415161718191a1bz"Sample message for keylen<blocklen8332cfd59347fdb8e576e77260be4aba2d6dc53117b3bfb52c6d18c04)r   zNIST CSRC Sample #1 (SHA3-224)   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8fz"Sample message for keylen=blocklen8d8b733bcf66c644a12323d564e24dcf3fc75f231f3b67968359100c7zNIST CSRC Sample #2 (SHA3-224)X  000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabz"Sample message for keylen>blocklen8078695eecc227c636ad31d063a15dd05a7e819a66ec6d8de1e193e59zNIST CSRC Sample #3 (SHA3-224)@000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f@4fe8e202c4f058e8dddc23d8c34e467343e23555e24fc2f025d598f558f67205)r   zNIST CSRC Sample #1 (SHA3-256)  000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081828384858687@68b94e2e538a9be4103bebb5aa016d47961d4d1aa906061313b557f8af2c3faazNIST CSRC Sample #2 (SHA3-256)P  000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7@9bcf2c238e235c3ce88404e813bd2f3a97185ac6f238c63d6229a00b07974258zNIST CSRC Sample #3 (SHA3-256)`000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f`d588a3c51f3f2d906e8298c1199aa8ff6296218127f6b38a90b6afe2c5617725bc99987f79b22a557b6520db710b7f42)r   zNIST CSRC Sample #1 (SHA3-384)000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656667`a27d24b592e8c8cbf6d4ce6fc5bf62d8fc98bf2d486640d9eb8099e24047837f5f3bffbe92dcce90b4ed5b1e7e44fa90zNIST CSRC Sample #2 (SHA3-384)0  000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f9091929394959697`e5ae4c739f455279368ebf36d4f5354c95aa184c899d3870e460ebc288ef1f9470053f73f7c6da2a71bcaec38ce7d6aczNIST CSRC Sample #3 (SHA3-384)ڀ000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3fڀ4efd629d6c71bf86162658f29943b1c308ce27cdfa6db0d9c3ce81763f9cbce5f7ebe9868031db1a8f8eb7b6b95e5c5e3f657a8996c86a2f6527e307f0213196)r   zNIST CSRC Sample #1 (SHA3-512)ڐ000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344454647ڀ544e257ea2a3e5ea19a590e6a24b724ce6327757723fe2751b75bf007d80f6b360744bf1b7a88ea585f9765b47911976d3191cf83c039f5ffab0d29cc9d9b6dazNIST CSRC Sample #2 (SHA3-512)ڀ5f464f5e5b7848e3885e49b2c385f0694985d0e38966242dc4a5fe3fea4b37d46b65ceced5dcf59438dd840bab22269f0ba7febdb9fcf74602a35666b2a32915zNIST CSRC Sample #3 (SHA3-512)c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )HMAC_Module_and_Instance_Testi  zTest the HMAC construction and verify that it does not
matter if you initialize it with a hash module or
with an hash instance.

See https://bugs.launchpad.net/pycrypto/+bug/1209399
c                ^    \         P                  P                  V 4       Wn        RV n        R# )zLInitialize the test with a dictionary of hash modules
indexed by their names N)unittestTestCase__init__hashmodsdescription)selfrW   s   &&r   rV   &HMAC_Module_and_Instance_Test.__init__  s%     	""4( r   c                    V P                   # r   )rX   )rY   s   &r   shortDescription.HMAC_Module_and_Instance_Test.shortDescription  s    r   c                N   RpRpV P                   P                  4        F  w  r4Vf   K  RV,           V n        \        P                  ! WV4      P                  4       p\        P                  ! WVP	                  4       4      P                  4       pV P                  WV4       K  	  R# )s   NzTest HMAC in combination with s   sd                                                                                                       )rW   itemsrX   r   newdigestassertEqual)rY   keypayloadhashnamehashmodonetwos   &      r   runTest%HMAC_Module_and_Instance_Test.runTest  s    %!%!4!4!6H?(JD((3188:C((37>>@CS& "7r   )rX   rW   N)
__name__
__module____qualname____firstlineno____doc__rV   r\   ri   __static_attributes____classdictcell____classdict__s   @r   rQ   rQ     s      
' 
'r   rQ   c                   &   a  ] tR tRt o R tRtV tR# )	HMAC_Nonei  c                    Rp\         P                  ! VR\        4      P                  4       p\         P                  ! VR\        4      P                  4       pV P	                  W#4       R# )   r   Ns   )r   r`   r   ra   rb   )rY   rc   rg   rh   s   &   r   ri   HMAC_None.runTest  sK    hhsC&--/hhsD$'..0"r    Nrk   rl   rm   rn   ri   rp   rq   rr   s   @r   ru   ru     s     # #r   ru   c                   &   a  ] tR tRt o R tRtV tR# )ByteArrayTestsi  c                0   RpRp\        V4      p\        V4      p\        P                  ! W4      p\        P                  ! W44      pRVR&   RVR&   V P                  VP	                  4       VP	                  4       4       \        V4      p\        V4      p\        P                  ! V4      p\        P                  ! V4      pVP                  V4       VP                  V4       RVR&   V P                  VP	                  4       VP	                  4       4       R# )   0       N   NN   0000000000000000)	bytearrayr   r`   rb   ra   update)rY   rc   datakey_badata_bah1h2s   &      r   ri   ByteArrayTests.runTest  s     3D/XXc XXf&r
biik2 3D/XXc]XXc]
		$
		'biik2r   ry   Nrz   rr   s   @r   r|   r|     s     3 3r   r|   c                   &   a  ] tR tRt o R tRtV tR# )MemoryViewTestsi  c                t   RpRpR pR pW43 EF%  pV! V4      pV! V4      p\         P                  ! W4      p\         P                  ! Wg4      p	VP                  '       g   RVR&   RVR&   V P                  VP	                  4       V	P	                  4       4       V! V4      p\         P                  ! V4      p\         P                  ! V4      p	VP                  V4       V	P                  V4       VP                  '       g   RVR&   V P                  VP	                  4       V	P	                  4       4       EK(  	  R# )r~   r   c                     \        V 4      # r   )
memoryviewr   s   &r   	get_mv_ro*MemoryViewTests.runTest.<locals>.get_mv_ro  s    d##r   c                 *    \        \        V 4      4      # r   )r   r   r   s   &r   	get_mv_rw*MemoryViewTests.runTest.<locals>.get_mv_rw  s    io..r   r   r   Nr   )r   r`   readonlyrb   ra   r   )
rY   rc   r   r   r   get_mvkey_mvdata_mvr   r   s
   &         r   ri   MemoryViewTests.runTest  s    	$	/ !,F C[FTlG#$B&*B###$r
%RYY["))+6 TlG#B#BIIdOIIg###%RYY["))+6- -r   ry   Nrz   rr   s   @r   r   r     s     !7 !7r   r   c                    ^ RI p^RIHp . p\         Fz  pV^,          P	                  4        F\  p\        V4      pV^,          V,          V^&   VP                  \        \        4       V,          R7      4       VP                  V4       K^  	  K|  	  V! \        RV4      pVP                  \        \        4      4       VP                  \        4       4       VP                  \        4       4       VP                  \        4       4       V# )    N)make_mac_tests)	digestmodr   )typescommonr   	test_datakeyslistappenddictglobalsr   rQ   hash_modulesru   r|   r   )configr   r   exp_test_datarowmodnamettestss   &       r   	get_testsr     s    & M1v{{}GS	Aq6'?AaDHHTGIg$678  #	 %  47E	LL.|<=	LL	LL!"	LL"#Lr   __main__c                  >    \         P                  ! \        4       4      # r   )rT   	TestSuiter   ry   r   r   <lambda>r   #  s    H&&y{3r   suite)defaultTest 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd 0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0cڠaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal54657374205573696e67204c6172676572205468616e20426c6f636b2d53697a65204b6579202d2048617368204b6579204669727374ڒ54657374205573696e67204c6172676572205468616e20426c6f636b2d53697a65204b657920616e64204c6172676572205468616e204f6e6520426c6f636b2d53697a652044617461  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0  5468697320697320612074657374207573696e672061206c6172676572207468616e20626c6f636b2d73697a65206b657920616e642061206c6172676572207468616e20626c6f636b2d73697a6520646174612e20546865206b6579206e6565647320746f20626520686173686564206265666f7265206265696e6720757365642062792074686520484d414320616c676f726974686d2e)"ro   rT   binasciir   Crypto.Util.py3compatr   r   Crypto.Hashr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   rU   rQ   ru   r|   r   r   rk   r   mainry   r   r   <module>r      s  2 +   0A A A A $v!&'%%	: )g <=g 34$&g <=&(g* B3;	=%	'+g8 34$&9gD <=&(EgP :3;	=%	'Qg^ 234$&_gl 2<=&(mgx 	93;	=%'ygH 	 	3;	=%'Ig\ 0  	 	$%]gp B  	 	$%qgD   	 	$%EgX :  	 	$%Ygv 	9  	 	$%wgL 	=
 	  	 	$
%Mgf 	'NO+	-ggt 	'vw+	-ugB 	'  W  	X+	-CgP 0
^	>? "Qg\ Z&'	>? "]gh 0	>? "igt :	>? "ug@ 0	>? "AgL @A	>? "MgX ST	>? "Ygf	#
/0PQ(egt	+ 	/0PQ(sgP
	# 	/0PQ(Ogt	+
/0XY(sgB	 	/0XY(Ag^
	 	/0XY(]gB		+ 	/0xy(A	gR		 	/0xy(Q	gj			 	/0xy(i	gL
	+ 	/0  Y  	Z(K
g^
	
 	/0  Y  	Z(	]
gr
	 	/0  Y  	Z(q
g	T'H$5$5 '@#!! #3X&& 3:#7h'' #7L  4 z3EMMg& r   