o
    =jî  ã                   @  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                   @  s4   e Zd ZdZeg d¢ƒZddd„Zedd	d
„ƒZdS )ÚARC4ZRC4)é(   é8   é@   éP   é€   é    éÀ   é   ÚkeyÚbytesc                 C  ó   t | |ƒ| _d S ©N©r   r   ©Úselfr   © r   úyC:\Users\psant\Downloads\Anu Raj Backend\school\venv\Lib\site-packages\cryptography/hazmat/decrepit/ciphers/algorithms.pyÚ__init__   ó   zARC4.__init__ÚreturnÚintc                 C  ó   t | jƒd S ©Né   ©Úlenr   ©r   r   r   r   Úkey_size   ó   zARC4.key_sizeN©r   r   ©r   r   )	Ú__name__Ú
__module__Ú__qualname__ÚnameÚ	frozensetÚ	key_sizesr   Úpropertyr#   r   r   r   r   r      s    
r   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 )Ú	TripleDESZ3DESr
   )r
   r   r   r   r   c                 C  sj   t |ƒdkrtjdtjdd� || | }nt |ƒdkr-t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  r   r   r    r"   r   r   r   r#   7   r$   zTripleDES.key_sizeNr%   r&   ©
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   r7   =   s    r7   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 )ÚBlowfishr
   é    iÁ  r   r   r   c                 C  r   r   r   r   r   r   r   r   F   r   zBlowfish.__init__r   r   c                 C  r   r   r    r"   r   r   r   r#   I   r$   zBlowfish.key_sizeNr%   r&   ©r'   r(   r)   r*   r6   r+   Úranger,   r   r-   r#   r   r   r   r   r9   A   ó    
r9   c                   @  r8   )ÚCAST5r
   r   é�   r   r   r   c                 C  r   r   r   r   r   r   r   r   S   r   zCAST5.__init__r   r   c                 C  r   r   r    r"   r   r   r   r#   V   r$   zCAST5.key_sizeNr%   r&   r;   r   r   r   r   r>   N   r=   r>   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 )Ú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#   c   r$   zSEED.key_sizeNr%   r&   r5   r   r   r   r   r@   [   ó    

r@   c                   @  ó6   e Zd Zd ZdZedgƒZddd„Zedd	d
„ƒZ	dS )ÚIDEAr
   r   r   r   c                 C  r   r   r   r   r   r   r   r   m   r   zIDEA.__init__r   r   c                 C  r   r   r    r"   r   r   r   r#   p   r$   zIDEA.key_sizeNr%   r&   r5   r   r   r   r   rC   h   rA   rC   c                   @  r.   )ÚCamelliaZcamelliar   )r   r   r   r   r   c                 C  r   r   r   r   r   r   r   r   z   r   zCamellia.__init__r   r   c                 C  r   r   r    r"   r   r   r   r#   }   r$   zCamellia.key_sizeNr%   r&   r5   r   r   r   r   rD   u   s    
rD   c                   @  rB   )ÚRC2r
   r   r   r   c                 C  r   r   r   r   r   r   r   r   ‰   r   zRC2.__init__r   r   c                 C  r   r   r    r"   r   r   r   r#   Œ   r$   zRC2.key_sizeNr%   r&   r5   r   r   r   r   rE   „   rA   rE   )Ú
__future__r   r3   Zcryptographyr   Z/cryptography.hazmat.primitives._cipheralgorithmr   r   r   r   r/   r7   r9   r>   r@   rC   rD   rE   r   r   r   r   Ú<module>   s    