模运算密码系统与模块化约简技术解析
1. 模运算密码系统
在模运算密码系统中,存在多种算法,这里主要介绍NIST算法。该算法与El - Gammal算法有相似之处,可视为其变体。以下是NIST算法的具体步骤:
- 密钥生成 :
- 发送者选择两个大素数 (p) 和 (q),其中 (q) 是 (p - 1) 的因数。
- 选择一个生成元 (g < p),满足 (g^q \mod p = 1)。
- 选择一个随机数 (k < q - 1)。
- 计算 (z = g^k \mod p)。
- 四元组 ((p, q, g, z)) 作为公钥公开,发送者的私钥为 (k)。
- 签名生成 :
- 为发送签名消息 (M),发送者选择一个随机数 (s),满足 (0 < s < q - 1)。
- 计算 (x = (g^s \mod p) \mod q)。
- 计算 (y = |s^{-1}|_q (h(M) + kx) \mod q),其中 (h) 是一个经过认可的哈希函数。
- 发送 ((x, y, M))。
- 签名验证 :
- 接收者计算 (t = |y^{-1}|_q)。
- 计算 (u = h(M)t \mod q)。
- 计算 (v = x^t \mod q)。
- 计算 (w = (g^uz^v \mod p) \mod q)。
- 如果 (w = x),即 (g^s \mod p = g^uz^v \mod p),则
超级会员免费看
订阅专栏 解锁全文
4003

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



