o
    j                     @   s&   d dl Z d dlmZ G dd dZdS )    N)algosc                   @   sH   e Zd Zdd Zedd Zedd Zedd Zd	d
 Zdd Z	dS )DirtyDHc                 C   sF   d | _ d | _d | _d | _td| _t| j d| _	td| _
d S )N       )pg
shared_keyshared_key_intosurandomprivate_keyinthexprivate_key_intdh_nonceself r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/minikerberos/protocol/dirtydh.py__init__   s   zDirtyDH.__init__c                 C   s   t  }| |_||_|S Nr   r   r   )r   r   ddr   r   r   from_params   s   zDirtyDH.from_paramsc                 C   s   t  }| d |_| d |_|S )Nr   r   r   )dhpr   r   r   r   	from_dict   s   

zDirtyDH.from_dictc                 C   s   t j| j}t|S r   )r   DHParametersloadnativer   r   )
asn1_bytesr   r   r   r   	from_asn1   s   
zDirtyDH.from_asn1c                 C   s   t | j| j| jS r   )powr   r   r   r   r   r   r   get_public_key"   s   zDirtyDH.get_public_keyc                 C   sN   t || j| j| _t| jdd  }t|d dkrd| }t|| _| jS )N   r   0)	r!   r   r   r	   r   lenbytesfromhexr   )r   bob_intxr   r   r   exchange&   s   zDirtyDH.exchangeN)
__name__
__module____qualname__r   staticmethodr   r   r    r"   r*   r   r   r   r   r      s    	


r   )r
   
asn1cryptor   r   r   r   r   r   <module>   s    