
    9i6                        S r SSKrSSKJrJr  SSKJr  SSSS\" SS	94S
SS
S\" SS	94SSSS\" SS	94SSSS\" SS	94SSSS\" SS	94SSSS\" SS	94SSSS\" SS	94SS S!S"S#S$S%S&S'S(S)S*S+S,S-S./r " S/ S0\R                  5      r
 " S1 S2\R                  5      r " S3 S4\R                  5      r0 4S5 jr\S6:X  a  SSKrS7 r\R                   " S8S99  gg):z&Self-test suite for Crypto.Cipher.ARC2    N)bbchrARC20000000000000000ebb773f993278effz	RFC2268-1?   effective_keylenffffffffffffffff278b27e42e2f0d49z	RFC2268-2@   100000000000000130649edf9be7d2c23000000000000000z	RFC2268-36ccf4308974c267f88bca90e90875az	RFC2268-51a807d272bbe5db1 88bca90e90875a7f0f79c384627bafb2z	RFC2268-62269552ab0f85ca6z	RFC2268-7   5b78d3a43dfff1f1B88bca90e90875a7f0f79c384627bafb216f80a6f85920584c42fceb0be255daf1ez	RFC2268-8   )r   624fb3e887419e485068696c6970476c617373z	PCTv201-0)r   79cadef44c4a5a85r   z	PCTv201-1)000102030405060790411525b34e4c2cr   z	PCTv201-2)0011223344556677078656aaba61cbfbr   z	PCTv201-3)r   d7bcc5dbb4d6e56ar   z	PCTv201-4)r   7259018ec557b357r   z	PCTv201-5)r   93d20a497f2ccb62r   z	PCTv201-6)r    cb15a7f819c0014dr   z	PCTv201-7)r   63ac98cdf3843a7a6ffffffffffffffff5065746572477265656e6177617953e5ffe553z	PCTv201-8)r   3fb49e2fa12371ddr'   z	PCTv201-9)r   46414781ab387d5fr'   z
PCTv201-10)r    be09dc81feaca271r'   z
PCTv201-11)r   e64221e608be30ab
53e5ffe553z
PCTv201-12)r   862bc60fdcd4d9a9r,   z
PCTv201-13)r   6a34da50fa5e47der,   z
PCTv201-14)r    584644c34503122cr,   z
PCTv201-15c                       \ rS rSrS rSrg)BufferOverflowTest`   c                     [        S5      S-  nU R                  [        [        R                  U[        R
                  5        g)zARC2 with keylength > 128xi @  N)r   assertRaises
ValueErrorr   newMODE_ECB)selfkeys     `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/Crypto/SelfTest/Cipher/test_ARC2.pyrunTestBufferOverflowTest.runTestc   s+    fun*dhhT]]C     N__name__
__module____qualname____firstlineno__r<   __static_attributes__r?   r>   r;   r1   r1   `   s    Dr>   r1   c                       \ rS rSrS rSrg)	KeyLengthh   c                 H   [         R                  " S[         R                  SS9  U R                  [        [         R                  [        S5      S-  [         R                  5        U R                  [        [         R                  [        S5      S-  [         R                  5        U R                  [        [         R                  [        S5      S-  [         R                  SS9  U R                  [        [         R                  [        S5      S-  [         R                  S	S9  g )
Ns                   (   r
   r      r      '   i  )r   r7   r8   r5   r6   r   )r9   s    r;   r<   KeyLength.runTestj   s    t}}rB*dhhQ!T]]K*dhhQ#t}}M*dhhQ"dmm+- 	 	/*dhhQ"dmm+/ 	 	1r>   r?   Nr@   r?   r>   r;   rG   rG   h   s    1r>   rG   c                       \ rS rSrS rSrg)
TestOutputu   c                    [         R                  " S[         R                  5      nSnUR                  U5      n[	        S5      nUR                  X$S9nU R                  X45        U R                  US 5        UR                  X4S9nU R                  X$5        U R                  US 5        [        [	        S5      5      nUR                  X$S9  U R                  X45        UR                  X4S9  U R                  X$5        U R                  [        UR                  USS9  U R                  [        UR                  USS9  [	        S5      nU R                  [        UR                  X&S9  U R                  [        UR                  X6S9  g )Ns   4444444444444444s   5555555555555555rL   )outputs   0000000000000000   )r   r7   r8   encrypt	bytearrayassertEqualdecrypt
memoryviewr5   	TypeErrorr6   )r9   cipherptctrS   resshorter_outputs          r;   r<   TestOutput.runTestw   sG    '4==1^^B2nnRn/$d#nnRn/$d#IbM*r)$r)$)V^^RH)V^^RH"1*fnnbP*fnnbPr>   r?   Nr@   r?   r>   r;   rP   rP   u   s    Qr>   rP   c                     SSK Jn  SSKJn  U" US[        5      nUR                  [        5       5        UR                  [        5       5        U[        5       /-  nU$ )Nr   r      )make_block_testsr   )	Crypto.Cipherr   commonrc   	test_dataappendr1   rG   rP   )configr   rc   testss       r;   	get_testsrj      sG    "(T695E	LL#%&	LL	jl^ELr>   __main__c                  >    [         R                  " [        5       5      $ )N)unittest	TestSuiterj   r?   r>   r;   <lambda>ro      s    H&&y{3r>   suite)defaultTest)__doc__rm   Crypto.Util.py3compatr   r   rd   r   dictrf   TestCaser1   rG   rP   rj   rA   rp   mainr?   r>   r;   <module>rw      s  2 -  )  +-?T2.0 +-?T2.0+-?T2.0 +-=T2.0+-OT2.0 +-OT3/1+LT3/1u<	|D** D
1!! 
1Q"" QD  	 z3EMMg& r>   