當前位置: 首頁>>代碼示例>>Python>>正文


Python gmpy2.next_prime方法代碼示例

本文整理匯總了Python中gmpy2.next_prime方法的典型用法代碼示例。如果您正苦於以下問題:Python gmpy2.next_prime方法的具體用法?Python gmpy2.next_prime怎麽用?Python gmpy2.next_prime使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在gmpy2的用法示例。


在下文中一共展示了gmpy2.next_prime方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: getprimeover

# 需要導入模塊: import gmpy2 [as 別名]
# 或者: from gmpy2 import next_prime [as 別名]
def getprimeover(N):
    """Return a random N-bit prime number using the System's best
    Cryptographic random source.

    Use GMP if available, otherwise fallback to PyCrypto
    """
    if HAVE_GMP:
        randfunc = random.SystemRandom()
        r = gmpy2.mpz(randfunc.getrandbits(N))
        r = gmpy2.bit_set(r, N - 1)
        return int(gmpy2.next_prime(r))
    elif HAVE_CRYPTO:
        return number.getPrime(N, os.urandom)
    else:
        randfunc = random.SystemRandom()
        n = randfunc.randrange(2**(N-1), 2**N) | 1
        while not is_prime(n):
            n += 2
        return n 
開發者ID:data61,項目名稱:python-paillier,代碼行數:21,代碼來源:util.py

示例2: getprimeover

# 需要導入模塊: import gmpy2 [as 別名]
# 或者: from gmpy2 import next_prime [as 別名]
def getprimeover(n):
    """return a random n-bit prime number
    """     
    r = gmpy2.mpz(random.SystemRandom().getrandbits(n))
    r = gmpy2.bit_set(r, n - 1)
    
    return int(gmpy2.next_prime(r)) 
開發者ID:FederatedAI,項目名稱:FATE,代碼行數:9,代碼來源:gmpy_math.py

示例3: factor_prime_power

# 需要導入模塊: import gmpy2 [as 別名]
# 或者: from gmpy2 import next_prime [as 別名]
def factor_prime_power(x):  # TODO: move this to a separate math/number theory module
    """Return p and d for a prime power x = p**d."""
    if x <= 1:
        raise ValueError('number not a prime power')

    k = 10
    # test whether p is below 2**k, for positive k
    p = 2
    while p < 1<<k:
        if x % p == 0:
            d = 0
            while x > 1:
                x, r = divmod(x, p)
                if r == 0:
                    d += 1
                else:
                    raise ValueError('number not a prime power')

            return int(p), d

        p = next_prime(p)

    # find prime factors of d
    p, d = x, 1
    while is_square(p):
        p, d = isqrt(p), 2*d
    e = 3
    while k * e <= p.bit_length():
        w, b = iroot(p, e)
        if b:
            p, d = w, e * d
        else:
            e = next_prime(e)

    if is_prime(p):
        return int(p), int(d)

    raise ValueError('number not a prime power') 
開發者ID:lschoe,項目名稱:mpyc,代碼行數:40,代碼來源:gmpy.py

示例4: next_prime

# 需要導入模塊: import gmpy2 [as 別名]
# 或者: from gmpy2 import next_prime [as 別名]
def next_prime(x):
        """Return the next probable prime number > x."""
        if x <= 1:
            x = 2
        else:
            x += 1 + x%2
            while not is_prime(x):
                x += 2
        return x 
開發者ID:lschoe,項目名稱:mpyc,代碼行數:11,代碼來源:gmpy.py


注:本文中的gmpy2.next_prime方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。