o
    ÖèFh   ã                   @  s^  d dl mZ d dlmZ d dlmZmZ d)d	d
„ZG dd„ deƒZG dd„ deƒZ	G dd„ deƒZ
G dd„ deƒZG dd„ deƒZG dd„ deƒZeZejeedejdd� G dd„ deƒZeZejeedejdd� G dd„ deƒZG dd„ deƒZeZejeed ejdd� G d!d"„ d"eƒZeZejeed#ejd"d� G d$d%„ d%eƒZG d&d'„ d'eƒZd(S )*é    )Úannotations)Úutils)ÚBlockCipherAlgorithmÚCipherAlgorithmÚ	algorithmr   ÚkeyÚbytesÚreturnc                 C  sB   t  d|¡ t|ƒd | jvrtdt|ƒd › d| j› d�ƒ‚|S )Nr   é   zInvalid key size (z) for Ú.)r   Ú_check_byteslikeÚlenÚ	key_sizesÚ
ValueErrorÚname)r   r   © r   új/var/www/html/loop/nvenv/lib/python3.10/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.pyÚ_verify_key_size   s   ÿr   c                   @  s8   e Zd Zd ZdZeg d¢ƒZddd„Zedd	d
„ƒZ	dS )ÚAESé€   )r   éÀ   é   i   r   r   c                 C  ó   t | |ƒ| _d S ©N©r   r   ©Úselfr   r   r   r   Ú__init__    ó   zAES.__init__r	   Úintc                 C  ó   t | jƒd S ©Nr
   ©r   r   ©r   r   r   r   Úkey_size#   ó   zAES.key_sizeN©r   r   ©r	   r   ©
Ú__name__Ú
__module__Ú__qualname__r   Ú
block_sizeÚ	frozensetr   r   Úpropertyr$   r   r   r   r   r      s    
r   c                   @  s,   e Zd ZdZdZedgƒZdZddd„ZdS )	ÚAES128r   r   r   r   c                 C  r   r   r   r   r   r   r   r   .   r   zAES128.__init__Nr&   ©	r)   r*   r+   r   r,   r-   r   r$   r   r   r   r   r   r/   (   ó    
r/   c                   @  s,   e Zd ZdZdZedgƒZdZd	dd„ZdS )
ÚAES256r   r   r   r   r   c                 C  r   r   r   r   r   r   r   r   8   r   zAES256.__init__Nr&   r0   r   r   r   r   r2   2   r1   r2   c                   @  ó8   e Zd ZdZdZeg d¢ƒZddd„Zedd
d„ƒZ	dS )ÚCamelliaÚcamelliar   )r   r   r   r   r   c                 C  r   r   r   r   r   r   r   r   A   r   zCamellia.__init__r	   r   c                 C  r    r!   r"   r#   r   r   r   r$   D   r%   zCamellia.key_sizeNr&   r'   r(   r   r   r   r   r4   <   s    
r4   c                   @  r3   )Ú	TripleDESÚ3DESé@   )r8   r   r   r   r   c                 C  sF   t |ƒdkr||| 7 }nt |ƒdkr||d d… 7 }t| |ƒ| _d S )Nr
   é   )r   r   r   r   r   r   r   r   N   s
   zTripleDES.__init__r	   r   c                 C  r    r!   r"   r#   r   r   r   r$   U   r%   zTripleDES.key_sizeNr&   r'   r(   r   r   r   r   r6   I   s    
r6   c                   @  ó<   e Zd Zd ZdZeedddƒƒZddd„Ze	ddd„ƒZ
dS )ÚBlowfishr8   é    iÁ  r
   r   r   c                 C  r   r   r   r   r   r   r   r   _   r   zBlowfish.__init__r	   r   c                 C  r    r!   r"   r#   r   r   r   r$   b   r%   zBlowfish.key_sizeNr&   r'   ©r)   r*   r+   r   r,   r-   Úranger   r   r.   r$   r   r   r   r   r;   Z   ó    
r;   zDBlowfish has been deprecated and will be removed in a future release)r   c                   @  r:   )ÚCAST5r8   é(   é�   r
   r   r   c                 C  r   r   r   r   r   r   r   r   v   r   zCAST5.__init__r	   r   c                 C  r    r!   r"   r#   r   r   r   r$   y   r%   zCAST5.key_sizeNr&   r'   r=   r   r   r   r   r@   q   r?   r@   zACAST5 has been deprecated and will be removed in a future releasec                   @  s4   e Zd ZdZeg d¢ƒZddd„Zedd	d
„ƒZdS )ÚARC4ÚRC4)rA   é8   r8   éP   r   é    r   r   r   r   c                 C  r   r   r   r   r   r   r   r   Œ   r   zARC4.__init__r	   r   c                 C  r    r!   r"   r#   r   r   r   r$   �   r%   zARC4.key_sizeNr&   r'   )	r)   r*   r+   r   r-   r   r   r.   r$   r   r   r   r   rC   ˆ   s    
rC   c                   @  s6   e Zd Zd ZdZedgƒZddd„Zedd	d
„ƒZ	dS )ÚIDEAr8   r   r   r   c                 C  r   r   r   r   r   r   r   r   ™   r   zIDEA.__init__r	   r   c                 C  r    r!   r"   r#   r   r   r   r$   œ   r%   zIDEA.key_sizeNr&   r'   r(   r   r   r   r   rH   ”   ó    

rH   z@IDEA has been deprecated and will be removed in a future releasec                   @  ó6   e Zd Zd ZdZedgƒZddd„Zeddd	„ƒZ	d
S )ÚSEEDr   r   r   c                 C  r   r   r   r   r   r   r   r   °   r   zSEED.__init__r	   r   c                 C  r    r!   r"   r#   r   r   r   r$   ³   r%   zSEED.key_sizeNr&   r'   r(   r   r   r   r   rK   «   rI   rK   z@SEED has been deprecated and will be removed in a future releasec                   @  s@   e Zd Zd ZedgƒZddd„Zeddd	„ƒZeddd„ƒZ	dS )ÚChaCha20r   r   r   Únoncec                 C  s6   t | |ƒ| _t d|¡ t|ƒdkrtdƒ‚|| _d S )NrM   r9   z!nonce must be 128-bits (16 bytes))r   r   r   r   r   r   Ú_nonce)r   r   rM   r   r   r   r   Æ   s
   
zChaCha20.__init__r	   c                 C  s   | j S r   )rN   r#   r   r   r   rM   Ï   s   zChaCha20.noncer   c                 C  r    r!   r"   r#   r   r   r   r$   Ó   r%   zChaCha20.key_sizeN)r   r   rM   r   )r	   r   r'   )
r)   r*   r+   r   r-   r   r   r.   rM   r$   r   r   r   r   rL   Â   s    

	rL   c                   @  rJ   )ÚSM4r   r   r   c                 C  r   r   r   r   r   r   r   r   Ý   r   zSM4.__init__r	   r   c                 C  r    r!   r"   r#   r   r   r   r$   à   r%   zSM4.key_sizeNr&   r'   r(   r   r   r   r   rO   Ø   rI   rO   N)r   r   r   r   r	   r   )Ú
__future__r   Úcryptographyr   Ú&cryptography.hazmat.primitives.ciphersr   r   r   r   r/   r2   r4   r6   r;   Ú_BlowfishInternalÚ
deprecatedr)   ÚDeprecatedIn37r@   Ú_CAST5InternalrC   rH   Ú_IDEAInternalrK   Ú_SEEDInternalrL   rO   r   r   r   r   Ú<module>   s`   


û	û	û	û	