问答题 用A的私人密钥fA(d,n)=(5,21)和B的公开密钥fB(e,n)=(5,51)验证签名的数值17(1是发送者(N,A)的字首)。
【正确答案】nA=21=3×7=p×q
   Ф(nA)=(p-1)×(q-1)=2×6=12
   然后计算A的公开密钥,解方程dAeA=5×eA=1(mod12),12=5×2+2;5=2×2+1,得
   1=5-2×2
   故
   1=5-2×2=5-2×(12-5×2)=5×5-2×12
   得
   eA=5
   又因为
   nB=51=3×17=p×q
   Ф(nB)=(p-1)×(q-1)=2×16=32
   再计算B的私人密钥,解方程dBeB=dB×5≡1(mod32)。
   因为
   32=6×5+2
   5=2×2+1
   可得
   1=5-2×2
   2=32-6×5
   故
   1=5-2×2=5-2×(32-6×5)=13×5-2×32
   得
   dB=13
   (1)A用自己的私人密钥计算他的签名:
   Si=MdAimodnA=(17)5(mod21)=5
   (2)A用B的公开密钥再次加密签名:
   S=SeBimodnB=55(mod51)=14
   (3)B用自己的私人密钥解密消息:
   Si=SdBmodnB=1413(mod51)=5
   (4)B用A的公开密钥解密,认证密文的来源:
   Mi=SeAimodnA=55(mod21)=17
   结果可以确认密文的发送者是A,因为只有用户A具有私人密钥(dA,nA)=(5,21)。
【答案解析】