£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
3
y_s	                 @   sH   d dl mZmZmZ d dlmZ d dlmZ dZdZ	G dd de
ZdS )	    )absolute_importdivisionprint_function)InvalidSignature)constant_time       c               @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
_Poly1305Contextc             C   s   || _ | j jj|}| j jj| j jj| j jj|t|}| j j|| j jjk | j jj	|| j jj
| _| j jj }| j j|| j jjk | j jj	|| j jj| _| j jj| j| j jj| j jj| j jj| j}| j j|dk d S )N   )_backend_ffifrom_buffer_libZEVP_PKEY_new_raw_private_keyZNID_poly1305ZNULLlenopenssl_assertgcZEVP_PKEY_freeZ	_evp_pkeyZCryptography_EVP_MD_CTX_newZCryptography_EVP_MD_CTX_free_ctxZEVP_DigestSignInit)selfZbackendkeyZkey_ptrZevp_pkeyZctxres r    /usr/lib64/python3.6/poly1305.py__init__   s*    
z_Poly1305Context.__init__c             C   s:   | j jj|}| j jj| j|t|}| j j|dk d S )Nr   )r   r   r   r   ZEVP_DigestSignUpdater   r   r   )r   dataZdata_ptrr   r   r   r   update/   s    z_Poly1305Context.updatec             C   sp   | j jjdt}| j jjd}| j jj| j||}| j j|dk | j j|d tk | j jj|d |d  S )Nzunsigned char[]zsize_t *r   )	r   r   new_POLY1305_TAG_SIZEr   ZEVP_DigestSignFinalr   r   buffer)r   ZbufZoutlenr   r   r   r   finalize6   s    z_Poly1305Context.finalizec             C   s    | j  }tj||stdd S )Nz!Value did not match computed tag.)r   r   Zbytes_eqr   )r   tagZmacr   r   r   verify>   s    z_Poly1305Context.verifyN)__name__
__module____qualname__r   r   r   r    r   r   r   r   r	      s   r	   N)Z
__future__r   r   r   Zcryptography.exceptionsr   Zcryptography.hazmat.primitivesr   r   Z_POLY1305_KEY_SIZEobjectr	   r   r   r   r   <module>   s
   