def ttp_th_keygen(params, t, n):
""" generate keys for threshold signature """
(G, o, g1, hs, g2, e) = params
# generate polynomials
v = np.poly1d([o.random() for _ in range(0,t)])
w = np.poly1d([o.random() for _ in range(0,t)])
# generate shares
x = [v(i) % o for i in range(1,n+1)]
y = [w(i) % o for i in range(1,n+1)]
# set keys
sk = list(zip(x, y))
vk = [(g2, xi*g2, yi*g2) for (xi, yi) in zip(x, y)]
vvk = (g2, v(0)*g2, w(0)*g2)
return (sk, vk, vvk)
评论列表
文章目录