
    HAi                     J   S SK r S SKJr  S SKJr  S SKJr   S SKJr  S SK
Jr  S SKJrJr  S SKJr  S	\4r " S
 S\5      r " S S\5      rS\S\S\4S jrS\S\S\4S jrS\S\S\4S jrS\S\S\4S jrS\S\S\S\4S jrS\S\S\S\4S jrg! \	 a	    S SKJr   Nf = f)    N)__version__)padding)AES)ARC4)Cipher)CBCECB)	CryptBasecryptographyc                   J    \ rS rSrS\SS4S jrS\S\4S jrS\S\4S jrS	rg)
CryptRC4/   keyreturnNc                 4    [        [        U5      S S9U l        g N)mode)r   r   cipherselfr   s     `/var/www/html/land-ocr/venv/lib/python3.13/site-packages/pypdf/_crypt_providers/_cryptography.py__init__CryptRC4.__init__0   s    T#YT2    datac                 z    U R                   R                  5       nUR                  U5      UR                  5       -   $ N)r   	encryptorupdatefinalize)r   r   r   s      r   encryptCryptRC4.encrypt3   3    KK))+	%	(:(:(<<<r   c                 z    U R                   R                  5       nUR                  U5      UR                  5       -   $ r   )r   	decryptorr   r    )r   r   r%   s      r   decryptCryptRC4.decrypt7   r#   r   )r   	__name__
__module____qualname____firstlineno__bytesr   r!   r&   __static_attributes__ r   r   r   r   /   s;    3E 3d 3=E =e ==E =e =r   r   c                   J    \ rS rSrS\SS4S jrS\S\4S jrS\S\4S jrS	rg)
CryptAES<   r   r   Nc                 $    [        U5      U l        g r   )r   algr   s     r   r   CryptAES.__init__=   s    s8r   r   c                 `   [         R                  " S5      n[        R                  " S5      R	                  5       nUR                  U5      UR                  5       -   n[        U R                  [        U5      5      nUR                  5       nX%R                  U5      -   UR                  5       -   $ )N      )secretstoken_bytesr   PKCS7padderr   r    r   r4   r   r   )r   r   ivpadr   r   s         r   r!   CryptAES.encrypt@   s      $mmC '')zz$#,,.0#b'*$$&	$$T**Y-?-?-AAAr   c                    US S nUSS  nU(       d  U$ [        U5      S-  S:w  aF  [        R                  " S5      R                  5       nUR	                  U5      UR                  5       -   n[        U R                  [        U5      5      nUR                  5       nUR	                  U5      UR                  5       -   nUS US   *  $ )Nr7   r   r8   )
lenr   r;   r<   r   r    r   r4   r   r%   )r   r   r=   r>   r   r%   ds          r   r&   CryptAES.decryptI   s    #2YBCyK t9r>Q--$++-C::d#clln4D#b'*$$&	T"Y%7%7%99AbE6{r   )r4   r(   r/   r   r   r1   r1   <   s>    E d BE Be BE e r   r1   r   r   r   c                     [        [        U 5      S S9R                  5       nUR                  U5      UR	                  5       -   $ r   )r   r   r   r   r    r   r   r   s      r   rc4_encryptrG   [   :    tCyt,668ID!I$6$6$888r   c                     [        [        U 5      S S9R                  5       nUR                  U5      UR	                  5       -   $ r   )r   r   r%   r   r    r   r   r%   s      r   rc4_decryptrK   `   rH   r   c                     [        [        U 5      [        5       S9R                  5       nUR	                  U5      UR                  5       -   $ r   )r   r   r	   r   r   r    rF   s      r   aes_ecb_encryptrM   e   <    s3xce,668ID!I$6$6$888r   c                     [        [        U 5      [        5       S9R                  5       nUR	                  U5      UR                  5       -   $ r   )r   r   r	   r%   r   r    rJ   s      r   aes_ecb_decryptrP   j   rN   r   r=   c                     [        [        U 5      [        U5      S9R                  5       nUR	                  U5      UR                  5       -   $ r   )r   r   r   r   r   r    )r   r=   r   r   s       r   aes_cbc_encryptrR   o   >    s3xc"g.88:ID!I$6$6$888r   c                     [        [        U 5      [        U5      S9R                  5       nUR	                  U5      UR                  5       -   $ r   )r   r   r   r%   r   r    )r   r=   r   r%   s       r   aes_cbc_decryptrU   t   rS   r   )r9   r   r   cryptography.hazmat.primitivesr   1cryptography.hazmat.primitives.ciphers.algorithmsr   /cryptography.hazmat.decrepit.ciphers.algorithmsr   ImportError+cryptography.hazmat.primitives.ciphers.baser   ,cryptography.hazmat.primitives.ciphers.modesr   r	   pypdf._crypt_providers._baser
   crypt_providerr   r1   r-   rG   rK   rM   rP   rR   rU   r/   r   r   <module>r^      s
  8  $ 2 AGD ? A 2 +.
=y 
=y >9U 9% 9E 9
9U 9% 9E 9
9 9e 9 9
9 9e 9 9
9 9E 9 95 9
9 9E 9 95 9_  GFGs   B B"!B"