o
    CZh                      @  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   h/var/www/html/lang_env/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 )CamelliaZ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   )	TripleDESZ3DES@   )r6   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   r5   I   s    
r5   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 )Blowfishr6       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   r9   Z       
r9   zDBlowfish has been deprecated and will be removed in a future release)r   c                   @  r8   )CAST5r6   (      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 )ARC4ZRC4)r?   8   r6   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   rA      s    
rA   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 )IDEAr6   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   rE          

rE   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   rH      rF   rH   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 )NrJ   r7   z!nonce must be 128-bits (16 bytes))r   r   r   r   r   r   _nonce)r   r   rJ   r   r   r   r      s
   
zChaCha20.__init__r	   c                 C  s   | j S r   )rK   r#   r   r   r   rJ      s   zChaCha20.noncer   c                 C  r    r!   r"   r#   r   r   r   r$      r%   zChaCha20.key_sizeN)r   r   rJ   r   )r	   r   r'   )
r)   r*   r+   r   r-   r   r   r.   rJ   r$   r   r   r   r   rI      s    

	rI   c                   @  rG   )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   rL      rF   rL   N)r   r   r   r   r	   r   )
__future__r   Zcryptographyr   Z&cryptography.hazmat.primitives.ciphersr   r   r   r   r/   r2   r4   r5   r9   Z_BlowfishInternal
deprecatedr)   ZDeprecatedIn37r>   Z_CAST5InternalrA   rE   Z_IDEAInternalrH   Z_SEEDInternalrI   rL   r   r   r   r   <module>   s`   


				