U
    *Wjî  ã                   @  sÆ   d dl mZ d dlZd dlmZ d dlmZmZmZ G dd„ deƒZ	G dd„ deƒZ
G 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dS )é    )ÚannotationsN)Úutils)ÚBlockCipherAlgorithmÚCipherAlgorithmÚ_verify_key_sizec                	   @  sH   e Zd ZdZedddddddd	gƒZd
dœdd„Zeddœdd„ƒZdS )ÚARC4ZRC4é(   é8   é@   éP   é€   é    éÀ   é   Úbytes©Úkeyc                 C  s   t | |ƒ| _d S ©N©r   r   ©Úselfr   © r   úzc:\users\psant\downloads\hotstarbackend\school\venv38\Lib\site-packages\cryptography/hazmat/decrepit/ciphers/algorithms.pyÚ__init__   s    zARC4.__init__Úint©Úreturnc                 C  s   t | jƒd S ©Né   ©Úlenr   ©r   r   r   r   Úkey_size   s    zARC4.key_sizeN)	Ú__name__Ú
__module__Ú__qualname__ÚnameÚ	frozensetÚ	key_sizesr   Úpropertyr"   r   r   r   r   r      s
   r   c                   @  sB   e Zd ZdZdZedddgƒZddœdd„Zed	d
œdd„ƒZ	dS )Ú	TripleDESZ3DESr
   r   r   r   r   c                 C  sj   t |ƒdkr,tjdtjdd� || | }n.t |ƒdkrZtjdtjdd� ||d d…  }t| |ƒ| _d S )Nr   z“Single-key TripleDES (8-byte keys) is deprecated and support will be removed in a future release. Use 24-byte keys instead (e.g., key + key + key).é   )Ú
stacklevelé   z�Two-key TripleDES (16-byte keys) is deprecated and support will be removed in a future release. Use 24-byte keys instead (e.g., key + key[:8]).)r    ÚwarningsÚwarnr   ZDeprecatedIn47r   r   r   r   r   r   r   "   s    ûûzTripleDES.__init__r   r   c                 C  s   t | jƒd S r   r   r!   r   r   r   r"   7   s    zTripleDES.key_sizeN©
r#   r$   r%   r&   Ú
block_sizer'   r(   r   r)   r"   r   r   r   r   r*      s   r*   c                   @  s   e Zd ZdZdS )Ú_DESr
   N)r#   r$   r%   r"   r   r   r   r   r2   =   s   r2   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 )ÚBlowfishr
   é    iÁ  r   r   r   c                 C  s   t | |ƒ| _d S r   r   r   r   r   r   r   F   s    zBlowfish.__init__r   r   c                 C  s   t | jƒd S r   r   r!   r   r   r   r"   I   s    zBlowfish.key_sizeN©r#   r$   r%   r&   r1   r'   Úranger(   r   r)   r"   r   r   r   r   r3   A   s   r3   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 )ÚCAST5r
   r   é�   r   r   r   c                 C  s   t | |ƒ| _d S r   r   r   r   r   r   r   S   s    zCAST5.__init__r   r   c                 C  s   t | jƒd S r   r   r!   r   r   r   r"   V   s    zCAST5.key_sizeNr5   r   r   r   r   r7   N   s   r7   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 )Ú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"   c   s    zSEED.key_sizeNr0   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 )ÚIDEAr
   r   r   r   c                 C  s   t | |ƒ| _d S r   r   r   r   r   r   r   m   s    zIDEA.__init__r   r   c                 C  s   t | jƒd S r   r   r!   r   r   r   r"   p   s    zIDEA.key_sizeNr0   r   r   r   r   r:   h   s   
r:   c                   @  sB   e Zd ZdZdZedddgƒZddœdd„Zed	d
œdd„ƒZ	dS )ÚCamelliaZcamelliar   r   r   r   r   c                 C  s   t | |ƒ| _d S r   r   r   r   r   r   r   z   s    zCamellia.__init__r   r   c                 C  s   t | jƒd S r   r   r!   r   r   r   r"   }   s    zCamellia.key_sizeNr0   r   r   r   r   r;   u   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 )ÚRC2r
   r   r   r   c                 C  s   t | |ƒ| _d S r   r   r   r   r   r   r   ‰   s    zRC2.__init__r   r   c                 C  s   t | jƒd S r   r   r!   r   r   r   r"   Œ   s    zRC2.key_sizeNr0   r   r   r   r   r<   „   s   
r<   )Ú
__future__r   r.   Zcryptographyr   Z/cryptography.hazmat.primitives._cipheralgorithmr   r   r   r   r*   r2   r3   r7   r9   r:   r;   r<   r   r   r   r   Ú<module>   s    