o
    pkj                     @  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   m/home/djax/ivt_ai_plugin/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    zSingle-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   zTwo-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   #