Your IP : 216.73.216.213


Current Path : /opt/alt/python36/lib/python3.6/site-packages/wheel/signatures/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib/python3.6/site-packages/wheel/signatures/__pycache__/djbec.cpython-36.pyc

3

Dt�Z��@s�ddlZddlZy$edZdd�Zdd�Zdd�ZWn(ek
r\d	ZeZeZd
d�ZYnXdZ	dd
dZ
dddZdd�Zdd�Z
dd�ZdJed�Ze
de
dde
�Zdd�Zded�Zee�Zee
ee
gZdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Z d6d7�Z!d8d9�Z"d:d;�Z#e
Z$d<Z%d=d>�Z&d?d@�Z'dKdBdC�Z(dLdDdE�Z)dFdG�Z*dHdI�Z+dS)M�NFcCsdjdd�|D��S)z(Convert array of integers to byte string�css|]}t|�VqdS)N)�chr)�.0�x�r�G/opt/alt/python36/lib/python3.6/site-packages/wheel/signatures/djbec.py�	<genexpr>szasbytes.<locals>.<genexpr>)�join)�brrr�asbytessrcCs
dj|�S)z%Convert array of bytes to byte stringr)r	)r
rrr�	joinbytessrcCst||d�|d?d@S)zReturn i'th bit of bytestring h��)�ord)�h�irrr�bitsrTcCs||d|d?d@S)Nr
rr)rrrrrr s�����l	�S�9i�@eM�^�w|ocCstj|�j�S)N)�hashlib�sha512�digest)�mrrr�H(srcCs<|dkrdSt||d|�d|}|d@r8|||}|S)Nrrr)�expmod)r
�er�trrrr,srcCst|tdt�S)Nr)r�q)rrrr�inv9sr!iA�iB�r�cCsl||dtt||d�}t|tddt�}|||tdkrT|tt}|ddkrht|}|S)Nr�r
rr)r!�drr �I)�yZxxrrrr�xrecoverAs r'�cCs�|\}}}}|\}}}}	||||t}
||||t}|d|	t}|d|t}
|
|t}||
t}||
t}|
|t}||t}||t}||t}||t}||||fS)Nr)r )Zpt1Zpt2�X1�Y1�Z1ZT1ZX2ZY2ZZ2ZT2�A�B�C�D�E�F�Gr�X3�Y3�Z3�T3rrr�xpt_addesr7cCs�|\}}}}||}||}d||}|t}||t}	|	|	||t}
||t}||t}||t}
|
|t}||
t}||t}|
|
t}||||fS)Nr)r )�ptr)r*r+�_r,r-r.r/�Jr0r2r1rr3r4r5r6rrr�
xpt_doublews
r;cCs|\}}||d||tfS)Nr)r )r8rr&rrr�pt_xform�sr<cCs,|\}}}}|t|�t|t|�tfS)N)r!r )r8rr&�zr9rrr�
pt_unxform�sr>cCs8|dkrtd�Stt||d?��}|d@r4t||�S|S)Nrr)rr)r<r;�xpt_multr7)r8�nr9rrrr?�sr?cCsttt|�|��S)N)r>r?r<)r8rrrr�
scalarmult�srAcs8�fdd�tt�D���fdd�ttd�D�}t|�S)Ncsg|]}�|?d@�qS)rr)rr)r&rr�
<listcomp>�szencodeint.<locals>.<listcomp>cs(g|] �t��fdd�td�D���qS)cs g|]}��d||>�qS)r
r)r�j)�bitsrrrrB�sz(encodeint.<locals>.<listcomp>.<listcomp>r
)�sum�range)r)rD)rrrB�sr
)rFr
r)r&rr)rDr&r�	encodeint�s
rGcsV|d}|d��fdd�ttd�D�|d@g��fdd�ttd�D�}t|�S)Nrrcsg|]}�|?d@�qS)rr)rr)r&rrrB�szencodepoint.<locals>.<listcomp>cs(g|] �t��fdd�td�D���qS)cs g|]}��d||>�qS)r
r)rrC)rDrrrrB�sz*encodepoint.<locals>.<listcomp>.<listcomp>r
)rErF)r)rD)rrrB�sr
)rFr
r)�Prrr)rDr&r�encodepoint�s$
rIcsFt|��dtdt�fdd�tdtd�D��}tt|�}t|�S)Nrc3s |]}d|t�|�VqdS)rN)r)rr)rrrr�szpublickey.<locals>.<genexpr>r#)rr
rErFrAr-rI)�sk�ar,r)rr�	publickey�s,
rLcs&t|��t�fdd�tdt�D��S)Nc3s |]}d|t�|�VqdS)rN)r)rr)rrrr�szHint.<locals>.<genexpr>r)rrErFr
)rr)rr�Hint�srMcs�t|��dtdt�fdd�tdtd�D��}t�fdd�ttdtd�D��}t||�}tt|�}|tt|�||�|t	}t|�t
|�S)	Nrc3s |]}d|t�|�VqdS)rN)r)rr)rrrr�szsignature.<locals>.<genexpr>r#csg|]}�|�qSrr)rr)rrrrB�szsignature.<locals>.<listcomp>r
r")rr
rErFrrMrAr-rI�lrG)rrJ�pkrKZinter�r�R�Sr)rr�	signature�s,$
 rScCsB|d}|d}||||dt||||tdkS)Nrr)r$r )rHrr&rrr�	isoncurve�srTcst�fdd�tdt�D��S)Nc3s |]}d|t�|�VqdS)rN)r)rr)�srrr�szdecodeint.<locals>.<genexpr>r)rErFr
)rUr)rUr�	decodeint�srVcsbt�fdd�tdtd�D��}t|�}|d@t�td�krFt|}||g}t|�s^td��|S)Nc3s |]}d|t�|�VqdS)rN)r)rr)rUrrr�szdecodepoint.<locals>.<genexpr>rrz#decoding point that is not on curve)rErFr
r'rr rT�	Exception)rUr&rrHr)rUr�decodepoint�s rXc	Cs�t|�tdkrtd��t|�tdkr0td��t|dtd��}t|�}t|tdtd��}tt|�||�}tt|�}t	t
t|�tt||����}||kS)Nr"zsignature length is wrongr
zpublic-key length is wrongr)�lenr
rWrXrVrMrIrAr-r>r7r<)	rUrrOrQr,rRrZv1Zv2rrr�
checkvalid�s
rZimcCs`|\}}|\}}|\}}d||||d|}	d||||d|}
|	t|
tfS)Nr"r)rH)r@rr$�xn�znZxmZzmZxd�zdrr=rrr�add�sr^cCsT|\}}|d|dd}d|||dt|||d}|t|tfS)Nrr")r,rH)r@r[r\rr=rrr�doubles(r_�	cs@|df�t������fdd���|�\\}}}|t|�tS)NrcsP|dkr��fS�|d�\}}|d@r<t||��t|�fSt|�t||��fS)Nrr)r^r_)rZpmZpm1)�f�one�tworrraszcurve25519.<locals>.f)r_r!rH)r@�baserr=r9r)rarbrcr�
curve25519s

recCs6|ptjdt�}|dM}|dd>M}|dd	>O}|S)
Nr��r
��@i�����rj)�random�randintrH)r@rrr�genkey$s
rmcCsLddl}ttjttt��jd�}|jd�}t|�}t|||�}t	|||�S)Nrzutf-8� )
�os�strrkrlr �encode�urandomrLrSrZ)ro�msgrJrO�sigrrr�dsa_test7s
rucCs(t�}t�}t|t|��t|t|��kS)N)rmre)Zsk1Zsk2rrr�dh_test@srvi�$��)r`)r),rrk�unicode�PY3rrr�	NameError�bytesr
r rNrrr!r$r%r'ZByZBxr-r7r;r<r>r?rArGrIrLrMrSrTrVrXrZrHr,r^r_rermrurvrrrr�<module>	s^