
    h	                     z    S r SSKrSSKrSSKrSSKJr  SrS\S\4S jr	\R                  \S5      r " S	 S
5      rg)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   numberreturnc                 p    U R                  [        R                  " U R                  5       S-  5      S5      $ )Nr   big)to_bytesmathceil
bit_length)rb   s    6lib/python3.13/site-packages/secretstorage/dhcrypto.pyint_to_bytesrk      s*    ??499V%6%6%81%<=uEE    re   c                   0    \ rS rSrSS jrS\SS4S jrSrg)	Session%   rc   Nc                     S U l         S U l        SU l        [        R	                  [
        R                  " S5      S5      U l        [        SU R                  [        5      U l
        g )NTr   re   r   )object_pathaes_key	encryptedint
from_bytesosurandommy_private_keypowDH_PRIME_1024my_public_key)selfs    rj   __init__Session.__init__&   sK    '+%)!nnRZZ-=uE D$7$7Grl   server_public_keyc                 4   [        XR                  [        5      n[        U5      nSS[	        U5      -
  -  U-   nSn[
        R                  " XC[        5      R                  5       n[
        R                  " US[        5      R                  5       nUS S U l	        g )N    r   s                                          )
ry   rx   rz   rk   lenhmacnewr   digestrr   )r|   r   common_secret_intcommon_secretsaltpseudo_random_keyoutput_blocks          rj   set_server_public_keySession.set_server_public_key.   s     13F3F -/$%674#m*<#<=M HHT&AHHJxx 17FCJJL#ET*rl   )rr   rs   rx   r{   rq   )rc   N)__name__
__module____qualname____firstlineno__r}   rt   r   __static_attributes__ rl   rj   rn   rn   %   s    H+s +t +rl   rn   )__doc__r   rg   rv   hashlibr   DH_PRIME_1024_BYTESrt   bytesrk   ru   rz   rn   r   rl   rj   <module>r      sS      	  F F F 2E:+ +rl   