
    ҙi                     `    d Z ddlZddlZddlmZ dZej                  ed      Z G d d      Z	y)zThis module contains needed classes, functions and constants
to implement dh-ietf1024-sha256-aes128-cbc-pkcs7 secret encryption
algorithm.    N)sha256)   r   r   r   r   r   r   r               !   h      4         b                  )      N         g      t   r            ;         "   Q   J   r   y      r                        :   C      0   +   
   m      _      7   O      5   r5   r5   r$   r   E            v   r   ^   ~   r      L   B      r   r9      k   r   r   \      rD         rH      8   rI      Z               rS   $      |   K         I   (   f   r$      r[   S      r   r   r   r   r   r   r   r   bigc                   $    e Zd ZddZdeddfdZy)SessionreturnNc                     d | _         d | _        d| _        t        j	                  t        j                  d      d      | _        t        d| j                  t              | _
        y )NTr   rb   r   )object_pathaes_key	encryptedint
from_bytesosurandommy_private_keypowDH_PRIME_1024my_public_key)selfs    R/mnt/e/genesis-system/.venv/lib/python3.12/site-packages/secretstorage/dhcrypto.py__init__zSession.__init__!   sK    '+%)!nnRZZ-=uE D$7$7G    server_public_keyc                    t        || j                  t              }|j                  dd      }d}t	        j
                  ||t              j                         }t	        j
                  |dt              j                         }|d d | _        y )Nr   rb   s                                          )	ro   rn   rp   to_byteshmacnewr   digestrh   )rr   rv   common_secret_intcommon_secretsaltpseudo_random_keyoutput_blocks          rs   set_server_public_keyzSession.set_server_public_key)   sx     143F3F -/)223> HHT=&AHHJxx 17FCJJL#ET*ru   )re   N)__name__
__module____qualname__rt   rj   r    ru   rs   rd   rd       s    H	+s 	+t 	+ru   rd   )
__doc__r{   rl   hashlibr   DH_PRIME_1024_BYTESrj   rk   rp   rd   r   ru   rs   <module>r      s:     	   2E:+ +ru   