o
    ™¨Êh‰  ã                   @   sx  d dl mZmZmZ d dlmZ d dlmZmZ d dl	m
Z
 dd„ Ze e¡e e¡G dd„ deƒƒƒZe e¡e e¡G d	d
„ d
eƒƒƒZe e¡e e¡G dd„ deƒƒƒZe e¡e e¡G dd„ deƒƒƒZe e¡e e¡G dd„ deƒƒƒZe e¡G dd„ deƒƒZe e¡G dd„ deƒƒZe e¡e e¡G dd„ deƒƒƒZe e¡e e
¡G dd„ deƒƒƒZdS )é    )Úabsolute_importÚdivisionÚprint_function)Úutils)ÚBlockCipherAlgorithmÚCipherAlgorithm)ÚModeWithNoncec                 C   s<   t  d|¡ t|ƒd | jvrtd t|ƒd | j¡ƒ‚|S )NÚkeyé   zInvalid key size ({0}) for {1}.)r   Ú_check_bytesÚlenÚ	key_sizesÚ
ValueErrorÚformatÚname)Ú	algorithmr	   © r   úc/var/www/html/env/lib/python3.10/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.pyÚ_verify_key_size   s   ÿr   c                   @   s4   e Zd Zd ZdZeg d¢ƒZdd„ Zedd„ ƒZ	dS )ÚAESé€   )r   éÀ   é   i   c                 C   ó   t | |ƒ| _d S ©N©r   r	   ©Úselfr	   r   r   r   Ú__init__"   ó   zAES.__init__c                 C   ó   t | jƒd S ©Nr
   ©r   r	   ©r   r   r   r   Úkey_size%   ó   zAES.key_sizeN©
Ú__name__Ú
__module__Ú__qualname__r   Ú
block_sizeÚ	frozensetr   r   Úpropertyr$   r   r   r   r   r      s    r   c                   @   ó4   e Zd ZdZdZeg d¢ƒZdd„ Zedd„ ƒZ	dS )	ÚCamelliaÚcamelliar   )r   r   r   c                 C   r   r   r   r   r   r   r   r   1   r   zCamellia.__init__c                 C   r    r!   r"   r#   r   r   r   r$   4   r%   zCamellia.key_sizeNr&   r   r   r   r   r.   *   s    r.   c                   @   r-   )	Ú	TripleDESÚ3DESé@   )r2   r   r   c                 C   sF   t |ƒdkr||| 7 }nt |ƒdkr||d d… 7 }t| |ƒ| _d S )Nr
   é   )r   r   r	   r   r   r   r   r   @   s
   zTripleDES.__init__c                 C   r    r!   r"   r#   r   r   r   r$   G   r%   zTripleDES.key_sizeNr&   r   r   r   r   r0   9   s    r0   c                   @   ó8   e Zd Zd ZdZeedddƒƒZdd„ Ze	dd„ ƒZ
d	S )
ÚBlowfishr2   é    iÁ  r
   c                 C   r   r   r   r   r   r   r   r   S   r   zBlowfish.__init__c                 C   r    r!   r"   r#   r   r   r   r$   V   r%   zBlowfish.key_sizeN©r'   r(   r)   r   r*   r+   Úranger   r   r,   r$   r   r   r   r   r5   L   ó    r5   c                   @   r4   )
ÚCAST5r2   é(   é�   r
   c                 C   r   r   r   r   r   r   r   r   b   r   zCAST5.__init__c                 C   r    r!   r"   r#   r   r   r   r$   e   r%   zCAST5.key_sizeNr7   r   r   r   r   r:   [   r9   r:   c                   @   s0   e Zd ZdZeg d¢ƒZdd„ Zedd„ ƒZdS )ÚARC4ÚRC4)r;   é8   r2   éP   r   é    r   r   c                 C   r   r   r   r   r   r   r   r   o   r   zARC4.__init__c                 C   r    r!   r"   r#   r   r   r   r$   r   r%   zARC4.key_sizeN)	r'   r(   r)   r   r+   r   r   r,   r$   r   r   r   r   r=   j   s    r=   c                   @   s2   e Zd Zd ZdZedgƒZdd„ Zedd„ ƒZ	dS )ÚIDEAr2   r   c                 C   r   r   r   r   r   r   r   r   }   r   zIDEA.__init__c                 C   r    r!   r"   r#   r   r   r   r$   €   r%   zIDEA.key_sizeNr&   r   r   r   r   rB   w   s    
rB   c                   @   s2   e Zd Zd ZdZedgƒZdd„ Zedd„ ƒZ	dS )ÚSEEDr   c                 C   r   r   r   r   r   r   r   r   Œ   r   zSEED.__init__c                 C   r    r!   r"   r#   r   r   r   r$   �   r%   zSEED.key_sizeNr&   r   r   r   r   rC   …   s    
rC   c                   @   s8   e Zd Zd ZedgƒZdd„ Ze d¡Z	e
dd„ ƒZdS )ÚChaCha20r   c                 C   s<   t | |ƒ| _t|tƒstdƒ‚t|ƒdkrtdƒ‚|| _d S )Nznonce must be bytesr3   z!nonce must be 128-bits (16 bytes))r   r	   Ú
isinstanceÚbytesÚ	TypeErrorr   r   Ú_nonce)r   r	   Únoncer   r   r   r   š   s   

zChaCha20.__init__rH   c                 C   r    r!   r"   r#   r   r   r   r$   ¦   r%   zChaCha20.key_sizeN)r'   r(   r)   r   r+   r   r   r   Úread_only_propertyrI   r,   r$   r   r   r   r   rD   ”   s    


rD   N)Ú
__future__r   r   r   Úcryptographyr   Ú&cryptography.hazmat.primitives.ciphersr   r   Ú,cryptography.hazmat.primitives.ciphers.modesr   r   Úregister_interfaceÚobjectr   r.   r0   r5   r:   r=   rB   rC   rD   r   r   r   r   Ú<module>   s<   