46、数论假设与Schnorr签名方案详解

数论假设与Schnorr签名方案详解

1. 数论假设基础

在数论领域,我们常常会涉及到一些关键的假设,这些假设是构建众多密码学方案的基础。下面我们将详细介绍离散对数假设和RSA假设。

1.1 子群生成

假设我们的目标是为素数 $p$ 选取 $Z_p^ $ 的一个素数阶 $q$ 的子群。通常,$p$ 和 $q$ 会有特定的比特长度 $\lambda_p$ 和 $\lambda_q$。具体步骤如下:
1.
生成素数 $q$ :根据素数定理,小于 $n$ 的素数大约有 $n / \ln(n)$ 个。也就是说,一个 $\lambda_q$ 比特长度的随机数是素数的概率为 $1 / \ln(2^{\lambda_q})$。我们可以通过选择足够多的随机数,并使用高效的素性测试来找到合适长度的素数。虽然这种测试可能存在小误差,但通常可以将误差控制到可忽略不计的程度。
2.
生成素数 $p$ :在得到素数 $q$ 后,我们将 $q$ 与 $\lambda_p - \lambda_q$ 比特的偶数 $w$ 反复相乘,以得到 $\lambda_p$ 比特的素数 $p = wq + 1$。这同样需要进行素性测试,并且依赖于在 $\lambda_p$ 比特的整数中存在足够数量的这种特殊形式的素数这一性质。
3.
选取子群生成元 $g$ :我们从 $Z_p^ $ 中随机选择一个群元素 $h$,然后计算 $h^w \bmod p$,并检查该元素是否不等于 1。如果不等于 1,那么我们就找到了子群的生成元 $g$;如果等于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值