本文整理汇总了Python中algs.Utils.random_safe_prime方法的典型用法代码示例。如果您正苦于以下问题:Python Utils.random_safe_prime方法的具体用法?Python Utils.random_safe_prime怎么用?Python Utils.random_safe_prime使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类algs.Utils
的用法示例。
在下文中一共展示了Utils.random_safe_prime方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: generate
# 需要导入模块: from algs import Utils [as 别名]
# 或者: from algs.Utils import random_safe_prime [as 别名]
def generate(cls, n_bits):
"""
generate an El-Gamal environment. Returns an instance
of ElGamal(), with prime p, group size q, and generator g
"""
EG = cls()
# find a prime p such that (p-1)/2 is prime q
EG.p = Utils.random_safe_prime(n_bits)
# q is the order of the group
# FIXME: not always p-1/2
EG.q = (EG.p-1)/2
# find g that generates the q-order subgroup
while True:
EG.g = Utils.random_mpz_lt(EG.p)
if pow(EG.g, EG.q, EG.p) == 1:
break
return EG