HEX
Server: LiteSpeed
System: Linux srv146.niagahoster.com 4.18.0-553.30.1.lve.el8.x86_64 #1 SMP Tue Dec 3 01:21:19 UTC 2024 x86_64
User: kodi1989 (1633)
PHP: 8.1.34
Disabled: symlink,shell_exec,exec,popen,system,dl,passthru,escapeshellarg,escapeshellcmd,show_source,pcntl_exec
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/rsa/__pycache__/pkcs1_v2.cpython-37.pyc
B

��f�
�@s�dZddlmZmZmZdeeeed�dd�ZdgZ	e
dkr�ed�dd	lZx>e
d
�D]2Ze��\ZZerlPeddkrVerVede�qVWed
�d	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�ytj��j}WnDtk
rV}z&tdjd�ttj����d��|�Wdd}~XYnX|d|krvt	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, )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)�)Z	fill_size)�method_nameN)rZcompute_hashrZ	int2bytes)�.0�counter)rr��=/opt/alt/python37/lib/python3.7/site-packages/rsa/pkcs1_v2.py�	<genexpr>Iszmgf1.<locals>.<genexpr>�)
rZHASH_METHODS�digest_size�KeyError�
ValueError�format�join�sorted�keys�
OverflowError�rangerZceil_div)rrrr
�ex�outputr)rrr�mgf1s 
r�__main__z'Running doctests 1000x or until failureNi��dz%i timesz
Doctests done)r)�__doc__Zrsarrr�bytes�int�strr�__all__�__name__�print�doctestr�count�testmodZfailures�testsrrrr�<module>s9