+
     h	  c                   s    R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt R	tR R lt	]
P                  ]R4      t ! R R4      tR# )
zThis module contains needed classes, functions and constants
to implement dh-ietf1024-sha256-aes128-cbc-pkcs7 secret encryption
algorithm.N)sha256)Optionalc                s0    V ^8  d   QhR\         R\        /# )   numberreturn)intZbytes)formats   ";/usr/lib/python3.14/site-packages/secretstorage/dhcrypto.py__annotate__r       s     F F F F    c                 sx    V P                  \        P                  ! V P                  4       ^,          4      R4      # )   big)Zto_bytesmathZceilZ
bit_length)r      &r   int_to_bytesr       s*    ??499V%6%6%81%<=uEEr	   r   c                   sD   a  ] tR t^'t o V 3R lR ltV 3R lR ltRtV tR# )Sessionc                s   < V ^8  d   QhRR/# )r   r   N r   __classdict__   "r   r   Session.__annotate__(   s     H H$ Hr	   c                s    R V n         R V n        RV n        \        P	                  \
        P                  ! ^4      R4      V n        \        ^V P                  \        4      V n
        R # )NTr   )object_pathaes_key	encryptedr   
from_bytesosZurandommy_private_keypowDH_PRIME_1024my_public_key)selfr   r   __init__ZSession.__init__(   sK    *.(,!nnRZZ-=uE D$7$7Gr	   c                s$   < V ^8  d   QhRS[ RR/# )r   server_public_keyr   N)r   r   r   r   r   r   0   s     + +s +t +r	   c                sV   \        WP                  \        4      p\        V4      pR ^\	        V4      ,
          ,          V,           pRp\
        P                  ! WC\        4      P                  4       p\
        P                  ! VR\        4      P                  4       pVR,          V n	        R# )s    s   :Ni   NNs                                    )
r   r   r   r   ZlenhmacZnewr    Zdigestr   )r   r    Zcommon_secret_intZcommon_secretZsaltZpseudo_random_keyZoutput_blocks   &&     r   set_server_public_keyZSession.set_server_public_key0   s     13F3F -/$%674#m*<#<=M HHT&AHHJxx 17FCJJL#E*r	   )r   r   r   r   r   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r"   Z__static_attributes__Z__classdictcell__)r   s   @r   r   r   '   s     H H+ +r	   r   )   r#   r#   r#   r#   r#   r#   r#   i   i   i   i   i!   ih      4   i      b   i   i   i   i   i   i)   r   iN   r
   i   ig   i   it   r      i      i;   i   i   i"   Q   iJ   r
   iy   i   r%   i   i   i   i   i   i   i   i:   iC   i   i0   i+   i
   m   i   i_   i   7   iO   i   i5   r+   r+   r*   r$   iE   i   i   i   iv   r'   i^   i~   r&      iL   iB   i   r)   r,      k   r(   r#   i\   i   r-   i   i   r.   i   i8   r/   i   iZ   i      i   i   r0   i$   i   i|   iK   i      iI   i(   if   r*   i   r1   iS   i   r#   r#   r#   r#   r#   r#   r#   r#   )Z__doc__r!   r   r   Zhashlibr    Ztypingr   ZDH_PRIME_1024_BYTESr   r   r   r   r   r   r	   r   <module>r2      sF      	   F 2E:+ +r	   