消息m
为 42,致盲因子r
为 11,因此提供给权限的值m'
计算为:
m' = m * r e mod N
m' = 42 * 11 11 mod 85
米' = 62
当局将通过计算s'
使用以下方式签署:
s' = m' d mod N
d
私人指数在哪里。
因此,我们必须计算我们知道是满足关系的值的私有指数:
e * d = 1 mod ɸ(N)
ɸ
欧拉函数在哪里。N
是两个素数的乘积p
,并且q
根据 RSA 算法的定义,由于 N 很小,我们可以很容易地分解它来确定p = 5
和q = 17
。
因此根据 的定义ɸ
:
ɸ(N) = (p-1)(q-1)
ɸ(N) = (5-1)(17-1) = 64
因此,使用提供的结果,我们可以确定:
e * d = 1 mod ɸ(N)
11 * d = 1 模 64
d = 35
因此,当局应该将盲签名返回给我们,s'
计算如下:
s' = m' d mod N
s' = 62 35 mod 85
s' = 73
要计算签名,我们需要使用以下方法计算s
:
s = s' * r -1 mod N
这里,是这样的倒数:r-1
r
r * r -1 = 1 mod N
再次使用给定的结果,我们可以确定:r-1
r * r -1 = 1 mod N
11 * r -1 = 1 mod 85
r -1 = 31
所以计算s
变为:
s = s' * r -1 mod N
s = 73 * 31 mod 85
小号 = 53
您的问题说使用私钥验证这一点,但是使用公钥验证签名,所以这就是我将在这里做的:
为了确认这是正确的签名,我们验证:
m = s e mod N
米 = 53 11模 85
米 = 42
因此,我们已经证明签名是有效的,因为m = 42
- 我们的原始消息。