HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberPanel/lib64/python3.10/site-packages/rsa/__pycache__/pkcs1_v2.cpython-310.pyc
o

��hy
�	@s�dZddlmZmZmZddedededefdd	�Zd	gZ	e
d
krNed�ddlZe
d
�D]Ze��\ZZer9neddkrGerGede�q-ed�dSdS)z�Functions for PKCS#1 version 2 encryption and signing

This module implements certain functionality from PKCS#1 version 2. Main
documentation is RFC 2437: https://tools.ietf.org/html/rfc2437
�)�common�pkcs1�	transform�SHA-1�seed�length�hasher�returnc
s�z	tj��j}Wnty&}ztdjd�ttj����d��|�d}~ww|d|kr6t	dj|�d���d���fd	d
�t
t�||�d�D��}|d|�S)a�
    MGF1 is a Mask Generation Function based on a hash function.

    A mask generation function takes an octet string of variable length and a
    desired output length as input, and outputs an octet string of the desired
    length. The plaintext-awareness of RSAES-OAEP relies on the random nature of
    the output of the mask generation function, which in turn relies on the
    random nature of the underlying hash.

    :param bytes seed: seed from which mask is generated, an octet string
    :param int length: intended length in octets of the mask, at most 2^32(hLen)
    :param str hasher: hash function (hLen denotes the length in octets of the hash
        function output)

    :return: mask, an octet string of length `length`
    :rtype: bytes

    :raise OverflowError: when `length` is too large for the specified `hasher`
    :raise ValueError: when specified `hasher` is invalid
    z=Invalid `hasher` specified. Please select one of: {hash_list}z, )�	hash_listNlzmDesired length should be at most 2**32 times the hasher's output length ({hash_length} for {hasher} function))�hash_lengthr�c3s,�|]}tj�tj|dd��d�VqdS)�)�	fill_size)�method_nameN)r�compute_hashr�	int2bytes)�.0�counter�rr��B/usr/local/CyberPanel/lib/python3.10/site-packages/rsa/pkcs1_v2.py�	<genexpr>Hs���
�zmgf1.<locals>.<genexpr>�)
r�HASH_METHODS�digest_size�KeyError�
ValueError�format�join�sorted�keys�
OverflowError�ranger�ceil_div)rrrr�ex�outputrrr�mgf1s0��������	r&�__main__z'Running doctests 1000x or until failureNi��dz%i timesz
Doctests done)r)�__doc__�rsarrr�bytes�int�strr&�__all__�__name__�print�doctestr"�count�testmod�failures�testsrrrr�<module>s"9���