a
    ϏPf                      @  sf  d dl mZ d dlmZ d dlmZmZ ddd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CipherAlgorithmr   bytes)	algorithmkey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   r/var/www/html/python-backend/venv/lib/python3.9/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py_verify_key_size   s    r   c                   @  s@   e Zd Zd ZdZeg dZddddZeddd	d
Z	dS )AES   )r         i   r   r   c                 C  s   t | || _d S Nr   r   selfr   r   r   r   __init__    s    zAES.__init__intr	   c                 C  s   t | jd S Nr
   r   r   r   r   r   r   key_size#   s    zAES.key_sizeN
__name__
__module____qualname__r   
block_size	frozensetr   r   propertyr#   r   r   r   r   r      s   r   c                   @  s0   e Zd ZdZdZedgZdZddddZdS )AES128r   r   r   r   c                 C  s   t | || _d S r   r   r   r   r   r   r   .   s    zAES128.__init__N	r%   r&   r'   r   r(   r)   r   r#   r   r   r   r   r   r+   (   s
   
r+   c                   @  s0   e Zd ZdZdZedgZdZddddZdS )	AES256r   r   r   r   r   c                 C  s   t | || _d S r   r   r   r   r   r   r   8   s    zAES256.__init__Nr,   r   r   r   r   r-   2   s
   
r-   c                   @  s@   e Zd ZdZdZeg dZddddZedd	d
dZ	dS )CamelliaZcamelliar   )r   r   r   r   r   c                 C  s   t | || _d S r   r   r   r   r   r   r   A   s    zCamellia.__init__r   r   c                 C  s   t | jd S r    r!   r"   r   r   r   r#   D   s    zCamellia.key_sizeNr$   r   r   r   r   r.   <   s   r.   c                   @  s@   e Zd ZdZdZeg dZddddZedd	d
dZ	dS )	TripleDESZ3DES@   )r0   r   r   r   r   c                 C  sF   t |dkr||| 7 }nt |dkr6||d d 7 }t| || _d S )Nr
      )r   r   r   r   r   r   r   r   N   s
    zTripleDES.__init__r   r   c                 C  s   t | jd S r    r!   r"   r   r   r   r#   U   s    zTripleDES.key_sizeNr$   r   r   r   r   r/   I   s   r/   c                   @  sD   e Zd Zd ZdZeedddZddddZe	d	d
ddZ
dS )Blowfishr0       i  r
   r   r   c                 C  s   t | || _d S r   r   r   r   r   r   r   _   s    zBlowfish.__init__r   r   c                 C  s   t | jd S r    r!   r"   r   r   r   r#   b   s    zBlowfish.key_sizeNr%   r&   r'   r   r(   r)   ranger   r   r*   r#   r   r   r   r   r2   Z   s   r2   zDBlowfish has been deprecated and will be removed in a future release)r   c                   @  sD   e Zd Zd ZdZeedddZddddZe	d	d
ddZ
dS )CAST5r0   (      r
   r   r   c                 C  s   t | || _d S r   r   r   r   r   r   r   v   s    zCAST5.__init__r   r   c                 C  s   t | jd S r    r!   r"   r   r   r   r#   y   s    zCAST5.key_sizeNr4   r   r   r   r   r6   q   s   r6   zACAST5 has been deprecated and will be removed in a future releasec                   @  s<   e Zd ZdZeg dZddddZeddd	d
ZdS )ARC4ZRC4)r7   8   r0   P   r      r   r   r   r   c                 C  s   t | || _d S r   r   r   r   r   r   r      s    zARC4.__init__r   r   c                 C  s   t | jd S r    r!   r"   r   r   r   r#      s    zARC4.key_sizeN)	r%   r&   r'   r   r)   r   r   r*   r#   r   r   r   r   r9      s
   r9   c                   @  s>   e Zd Zd ZdZedgZddddZeddd	d
Z	dS )IDEAr0   r   r   r   c                 C  s   t | || _d S r   r   r   r   r   r   r      s    zIDEA.__init__r   r   c                 C  s   t | jd S r    r!   r"   r   r   r   r#      s    zIDEA.key_sizeNr$   r   r   r   r   r=      s   
r=   z@IDEA has been deprecated and will be removed in a future releasec                   @  s>   e Zd Zd ZdZedgZddddZedddd	Z	d
S )SEEDr   r   r   c                 C  s   t | || _d S r   r   r   r   r   r   r      s    zSEED.__init__r   r   c                 C  s   t | jd S r    r!   r"   r   r   r   r#      s    zSEED.key_sizeNr$   r   r   r   r   r>      s   
r>   z@SEED has been deprecated and will be removed in a future releasec                   @  sN   e Zd Zd ZedgZdddddZeddddZed	dd
dZ	dS )ChaCha20r   r   )r   noncec                 C  s6   t | || _td| t|dkr,td|| _d S )Nr@   r1   z!nonce must be 128-bits (16 bytes))r   r   r   r   r   r   _nonce)r   r   r@   r   r   r   r      s
    zChaCha20.__init__r   c                 C  s   | j S r   )rA   r"   r   r   r   r@      s    zChaCha20.noncer   c                 C  s   t | jd S r    r!   r"   r   r   r   r#      s    zChaCha20.key_sizeN)
r%   r&   r'   r   r)   r   r   r*   r@   r#   r   r   r   r   r?      s   
	r?   c                   @  s>   e Zd Zd ZdZedgZddddZedddd	Z	d
S )SM4r   r   r   c                 C  s   t | || _d S r   r   r   r   r   r   r      s    zSM4.__init__r   r   c                 C  s   t | jd S r    r!   r"   r   r   r   r#      s    zSM4.key_sizeNr$   r   r   r   r   rB      s   
rB   N)
__future__r   Zcryptographyr   Z&cryptography.hazmat.primitives.ciphersr   r   r   r   r+   r-   r.   r/   r2   Z_BlowfishInternal
deprecatedr%   ZDeprecatedIn37r6   Z_CAST5Internalr9   r=   Z_IDEAInternalr>   Z_SEEDInternalr?   rB   r   r   r   r   <module>   s^   

				