
    +h                    T   d dl mZ d dlmZ d dlmZmZ d#dZ G d de      Z G d de      Z	 G d	 d
e      Z
 G d de      Z G d de      Z G d de      ZeZ ej                  eedej"                  d        G d de      ZeZ ej                  eedej"                  d        G d de      Z G d de      ZeZ ej                  eedej"                  d        G d de      ZeZ ej                  eedej"                  d        G d de      Z G d  d!e      Zy")$    )annotations)utils)BlockCipherAlgorithmCipherAlgorithmc                    t        j                  d|       t        |      dz  | j                  vr1t	        dj                  t        |      dz  | j                              |S )Nkey   zInvalid key size ({}) for {}.)r   _check_byteslikelen	key_sizes
ValueErrorformatname)	algorithmr   s     d/var/www/html/venv/lib/python3.12/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py_verify_key_sizer      s]    	5#& 3x!|9...+22C1inn
 	

 J    c                  B    e Zd Zd ZdZ eg d      ZddZedd       Z	y)AES   )r         i   c                &    t        | |      | _        y Nr   r   selfr   s     r   __init__zAES.__init__"       #D#.r   c                2    t        | j                        dz  S Nr	   r   r   r   s    r   key_sizezAES.key_size%       488}q  r   Nr   bytesreturnint
__name__
__module____qualname__r   
block_size	frozensetr   r   propertyr$    r   r   r   r      s0    DJ./I/ ! !r   r   c                  2    e Zd ZdZdZ edg      ZdZddZy)AES128r   r   c                &    t        | |      | _        y r   r   r   s     r   r   zAES128.__init__0   r   r   Nr&   	r,   r-   r.   r   r/   r0   r   r$   r   r2   r   r   r4   r4   *   "    DJ3% IH/r   r4   c                  2    e Zd ZdZdZ edg      ZdZddZy)AES256r   r   r   c                &    t        | |      | _        y r   r   r   s     r   r   zAES256.__init__:   r   r   Nr&   r6   r2   r   r   r9   r9   4   r7   r   r9   c                  B    e Zd ZdZdZ eg d      ZddZedd       Z	y)	Camelliacamelliar   )r   r   r   c                &    t        | |      | _        y r   r   r   s     r   r   zCamellia.__init__C   r   r   c                2    t        | j                        dz  S r!   r"   r#   s    r   r$   zCamellia.key_sizeF   r%   r   Nr&   r(   r+   r2   r   r   r<   r<   >   s/    DJ/*I/ ! !r   r<   c                  B    e Zd ZdZdZ eg d      ZddZedd       Z	y)		TripleDES3DES@   )rC   r   r   c                    t        |      dk(  r	|||z   z  }nt        |      dk(  r||d d z  }t        | |      | _        y )Nr	      )r   r   r   r   s     r   r   zTripleDES.__init__P   sC    s8q=39CX^3r7NC#D#.r   c                2    t        | j                        dz  S r!   r"   r#   s    r   r$   zTripleDES.key_sizeW   r%   r   Nr&   r(   r+   r2   r   r   rA   rA   K   s/    DJ.)I/ ! !r   rA   c                  N    e Zd Zd ZdZ e eddd            ZddZe	d	d       Z
y)
BlowfishrC       i  r	   c                &    t        | |      | _        y r   r   r   s     r   r   zBlowfish.__init__a   r   r   c                2    t        | j                        dz  S r!   r"   r#   s    r   r$   zBlowfish.key_sized   r%   r   Nr&   r(   r,   r-   r.   r   r/   r0   ranger   r   r1   r$   r2   r   r   rH   rH   \   s8    DJ%C+,I/ ! !r   rH   zBlowfish has been deprecated)r   c                  N    e Zd Zd ZdZ e eddd            ZddZe	d	d       Z
y)
CAST5rC   (      r	   c                &    t        | |      | _        y r   r   r   s     r   r   zCAST5.__init__x   r   r   c                2    t        | j                        dz  S r!   r"   r#   s    r   r$   zCAST5.key_size{   r%   r   Nr&   r(   rL   r2   r   r   rO   rO   s   s8    DJ%C+,I/ ! !r   rO   zCAST5 has been deprecatedc                  >    e Zd ZdZ eg d      ZddZedd       Zy)ARC4RC4)rP   8   rC   P   r      r   r   c                &    t        | |      | _        y r   r   r   s     r   r   zARC4.__init__   r   r   c                2    t        | j                        dz  S r!   r"   r#   s    r   r$   zARC4.key_size   r%   r   Nr&   r(   )	r,   r-   r.   r   r0   r   r   r1   r$   r2   r   r   rU   rU      s+    D>?I/ ! !r   rU   c                  @    e Zd Zd ZdZ edg      ZddZedd       Z	y)IDEArC   r   c                &    t        | |      | _        y r   r   r   s     r   r   zIDEA.__init__   r   r   c                2    t        | j                        dz  S r!   r"   r#   s    r   r$   zIDEA.key_size   r%   r   Nr&   r(   r+   r2   r   r   r]   r]      s1    DJ3% I/ ! !r   r]   zIDEA has been deprecatedc                  @    e Zd Zd ZdZ edg      ZddZedd       Z	y)SEEDr   c                &    t        | |      | _        y r   r   r   s     r   r   zSEED.__init__   r   r   c                2    t        | j                        dz  S r!   r"   r#   s    r   r$   zSEED.key_size   r%   r   Nr&   r(   r+   r2   r   r   ra   ra      s1    DJ3% I/ ! !r   ra   zSEED has been deprecatedc                  N    e Zd Zd Z edg      ZddZedd       Zedd       Z	y)	ChaCha20r   c                    t        | |      | _        t        j                  d|       t	        |      dk7  rt        d      || _        y )NnoncerE   z!nonce must be 128-bits (16 bytes))r   r   r   r
   r   r   _nonce)r   r   rg   s      r   r   zChaCha20.__init__   s?    #D#.w.u:@AAr   c                    | j                   S r   )rh   r#   s    r   rg   zChaCha20.nonce   s    {{r   c                2    t        | j                        dz  S r!   r"   r#   s    r   r$   zChaCha20.key_size   r%   r   N)r   r'   rg   r'   )r)   r'   r(   )
r,   r-   r.   r   r0   r   r   r1   rg   r$   r2   r   r   re   re      s@    D3% I   ! !r   re   c                  @    e Zd Zd ZdZ edg      ZddZedd       Z	y)SM4r   c                &    t        | |      | _        y r   r   r   s     r   r   zSM4.__init__   r   r   c                2    t        | j                        dz  S r!   r"   r#   s    r   r$   zSM4.key_size   r%   r   Nr&   r(   r+   r2   r   r   rl   rl      s1    DJ3% I/ ! !r   rl   N)r   r   r   r'   r)   r'   )
__future__r   cryptographyr   &cryptography.hazmat.primitives.ciphersr   r   r   r   r4   r9   r<   rA   rH   _BlowfishInternal
deprecatedr,   DeprecatedIn37rO   _CAST5InternalrU   r]   _IDEAInternalra   _SEEDInternalre   rl   r2   r   r   <module>rx      sb  
 # !
 !/! //! /
!# 
!!$ !"
!# 
!     "		
!  
!    				!? 	!
! 
!    		
! 
!    		! !,
!
 
!r   