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 )ÚARC4ÚRC4)é(   é8   é@   éP   é€   é    éÀ   é   ÚkeyÚbytesc                 C  ó   t | |ƒ| _d S ©N©r   r   ©Úselfr   © r   ú¢/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/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 )Ú	TripleDESÚ3DESr   )r   r   r   r   r   c                 C  sv   t  d|¡ t|ƒdkrtjdt jdd� || | }nt|ƒdkr3tjdt jdd� ||d d…  }t| |ƒ| _d S )Nr   r    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   Ú_check_bytesliker"   ÚwarningsÚwarnÚDeprecatedIn47r   r   r   r   r   r   r   "   s    ûûzTripleDES.__init__r   r   c                 C  r   r   r!   r#   r   r   r   r$   :   r%   zTripleDES.key_sizeNr&   r'   ©
r(   r)   r*   r+   Ú
block_sizer,   r-   r   r.   r$   r   r   r   r   r0      s    
r0   c                   @  s   e Zd ZdZdS )Ú_DESr   N)r(   r)   r*   r$   r   r   r   r   r;   @   s    r;   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   I   r   zBlowfish.__init__r   r   c                 C  r   r   r!   r#   r   r   r   r$   L   r%   zBlowfish.key_sizeNr&   r'   ©r(   r)   r*   r+   r:   r,   Úranger-   r   r.   r$   r   r   r   r   r=   D   ó    
r=   c                   @  r<   )ÚCAST5r   r	   é�   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   rB   Q   rA   rB   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   c   r   zSEED.__init__r   r   c                 C  r   r   r!   r#   r   r   r   r$   f   r%   zSEED.key_sizeNr&   r'   r9   r   r   r   r   rD   ^   ó    

rD   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   p   r   zIDEA.__init__r   r   c                 C  r   r   r!   r#   r   r   r   r$   s   r%   zIDEA.key_sizeNr&   r'   r9   r   r   r   r   rG   k   rE   rG   c                   @  r/   )ÚCamelliaÚcamelliar   )r   r   r   r   r   c                 C  r   r   r   r   r   r   r   r   }   r   zCamellia.__init__r   r   c                 C  r   r   r!   r#   r   r   r   r$   €   r%   zCamellia.key_sizeNr&   r'   r9   r   r   r   r   rH   x   s    
rH   c                   @  rF   )Ú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'   r9   r   r   r   r   rJ   ‡   rE   rJ   )Ú
__future__r   r6   Úcryptographyr   Ú/cryptography.hazmat.primitives._cipheralgorithmr   r   r   r   r0   r;   r=   rB   rD   rG   rH   rJ   r   r   r   r   Ú<module>   s   #