标准假设下的全分布式阈值RSA
1. RSA模数的生成
在生成RSA模数时,我们可以假设得到的模数满足特定条件。设$N = pq$,其中$p - 1$和$q - 1$的所有质因数都大于$B$,且$\gcd(p - 1, q - 1) = 2$,$\frac{p - 1}{2}$和$\frac{q - 1}{2}$没有小质因数。由于阶互质的循环群的乘积是循环群,所以$\mathbb{Z}_p^ $和$\mathbb{Z}_q^ $中的平方群是循环群,进而$Q_N$也是循环群,这保证了$\mathbb{Z}_N^*$中存在阶为$M = p’q’$的循环子群。
对于该算法的迭代次数,在Boneh - Franklin协议的第一阶段,假设区间$[2^{n - 1}, 2^n)$内的素数是均匀分布的,有$\lim_{n \to \infty} \Pr_{(p’,q’) \in [1,n)^2}[\gcd(p’, q’) = 1] = \frac{6}{\pi^2} > \frac{1}{2}$。密钥生成过程中唯一的限速因素是检查$\gcd(P’, p - 1) = 2$(其中$P’ = 4P$)。根据Mertens第二定理,$\Pr_{p’}[\gcd(2p’, P’) = 2] = \prod_{p_i \leq B}(1 - \frac{1}{p_i}) \approx \frac{1}{e^{\gamma} \ln(B)}$,其中$\gamma$是欧拉常数。因此,平均需要运行该算法$2 \times (e^{\gamma} \ln(B) + e^{\gamma} \ln(B))$次才能得到满足条件的RSA模数。
超级会员免费看
订阅专栏 解锁全文
34

被折叠的 条评论
为什么被折叠?



