PK APOCALYPSE V1

APOCALYPSE V1

Current Path : /opt/hc_python/lib/python3.12/site-packages/dns/dnssecalgs/__pycache__/
Upload File :
Current File : //opt/hc_python/lib/python3.12/site-packages/dns/dnssecalgs/__pycache__/ecdsa.cpython-312.pyc

�

���gd����ddlmZddlmZddlmZmZddlmZm	Z	ddl
mZddlm
Z
Gd�de	�ZGd	�d
e�ZGd�de�ZGd
�de�ZGd�de�ZGd�de�Zy)�)�default_backend)�hashes)�ec�utils)�CryptographyPrivateKey�CryptographyPublicKey)�	Algorithm)�DNSKEYc���eZdZUejed<ejZeed<ejed<ejed<eed<dededd	fd
�Z
defd�Zededdfd��Zy	)
�PublicECDSA�key�	algorithm�chosen_hash�curve�octets�	signature�data�returnNc�0�|d|j}||jd}tjtj	|d�tj	|d��}|j
j
||tj|j��y)Nr�big)
rr�encode_dss_signature�int�
from_bytesr
�verifyr�ECDSAr)�selfrr�sig_r�sig_s�sigs      �C/opt/hc_python/lib/python3.12/site-packages/dns/dnssecalgs/ecdsa.pyrzPublicECDSA.verifysr���!�d�k�k�*���$�+�+�-�(���(�(��N�N�5�%�(�#�.�.���*F�
��	
������T�2�8�8�D�,<�,<�#=�>�c���|jj�}|jj|jd�|j
j|jd�zS)z,Encode a public key per RFC 6605, section 4.r)r
�public_numbers�x�to_bytesr�y)r�pns  r �encode_key_byteszPublicECDSA.encode_key_bytessE��
�X�X�
$�
$�
&���t�t�}�}�T�[�[�%�0�2�4�4�=�=����e�3T�T�Tr!c
�r�|j|�|jd|j}|j|j|jdz}|tj|j
tj|d�tj|d���jt����S)Nr�r)rr$r&�r
)
�!_ensure_algorithm_key_combinationr
rr�EllipticCurvePublicNumbersrrr�
public_keyr)�clsr
�ecdsa_x�ecdsa_ys    r �from_dnskeyzPublicECDSA.from_dnskeys����-�-�c�2��'�'�!�c�j�j�)���'�'�#�*�*�s�z�z�A�~�6����-�-��i�i��.�.��%�0��.�.��%�0���j��*�+�
�	
r!)�__name__�
__module__�__qualname__r�EllipticCurvePublicKey�__annotations__�key_clsr	r�
HashAlgorithm�
EllipticCurver�bytesrr(�classmethodr
r2�r!r rr
s���	�	"�	"�"��'�'�G����%�%�%�
�����K�?��?�U�?�t�?�U�%�U�
�

�f�

��

��

r!rc	�x�eZdZUejed<ejZeZ		d	de	de
de
de	fd�Zed
d��Z
y)�PrivateECDSAr
rr�
deterministicrc��tj|jj|��}|jj||�}t
j|�\}}tj||jjd��tj||jjd��z}|r |j�j||�|S)z1Sign using a private key per RFC 6605, section 4.)�deterministic_signingr)�length�	byteorder)
rr�
public_clsrr
�signr�decode_dss_signaturerr%rr.r)	rrrr@r�
der_signature�dsa_r�dsa_srs	         r rFzPrivateECDSA.sign2s����H�H��O�O�'�'�}�
�	����
�
�d�I�6�
��1�1�-�@���u��L�L��$�/�/�0�0�E�!�
��L�L��t���'=�'=��L�O�P�	���O�O��$�$�Y��5��r!c�v�|tj|jjt	�����S)N)r�backendr+)r�generate_private_keyrErr)r/s r �generatezPrivateECDSA.generateEs/����'�'��n�n�*�*�O�4E��
�	
r!N)FT)rr?)r3r4r5r�EllipticCurvePrivateKeyr7r8rrEr;�boolrFr<rNr=r!r r?r?-se��	�	#�	#�#��(�(�G��J�
�"�	������	�

��&�
��
r!r?c�l�eZdZejZej�Ze	j�ZdZy)�PublicECDSAP256SHA256� N)
r3r4r5r	�ECDSAP256SHA256rr�SHA256rr�	SECP256R1rrr=r!r rRrRN�,���)�)�I��&�-�-�/�K��B�L�L�N�E�
�Fr!rRc��eZdZeZy)�PrivateECDSAP256SHA256N)r3r4r5rRrEr=r!r rYrYU���&�Jr!rYc�l�eZdZejZej�Ze	j�ZdZy)�PublicECDSAP384SHA384�0N)
r3r4r5r	�ECDSAP384SHA384rr�SHA384rr�	SECP384R1rrr=r!r r\r\YrWr!r\c��eZdZeZy)�PrivateECDSAP384SHA384N)r3r4r5r\rEr=r!r rbrb`rZr!rbN)�cryptography.hazmat.backendsr�cryptography.hazmat.primitivesr�)cryptography.hazmat.primitives.asymmetricrr�dns.dnssecalgs.cryptographyrr�dns.dnssectypesr	�dns.rdtypes.ANY.DNSKEYr
rr?rRrYr\rbr=r!r �<module>risc��8�1�?�U�%�)� 
�'� 
�F
�)�
�B�K��'�\�'��K��'�\�'r!

if you don't want to be vaporized in a nuclear explosion, i simply have to become nuclear myself… i am atomic