在下述站点认证协议中函数f起什么作用?去掉f行不行?为什么?设A,B是两个站点,A是发方,B是收方。它们共享会话密钥Ks,f是公开的简单函数。A认证B是否是他的意定通信站点的协议如下:1.A产生一个随机数RN,并用Ks对其进行加密:C=E(RN,Ks),并发C给B。同时A对RN进行f变换,得到f(RN)。2.B收到C后,解密得到RN=D(C,Ks)。B也对RN进行f变换,得到f(RN),并将其加密成C’=E(f(RN),Ks),然后发C’给A。3.A对收到的C’解密得到f(RN),并将其与自己在第①步得到的f(RN)比较。若两者相等,则A认为B是自己的意定通信站点。否则A认为B不是自己的意定通信站点。
正确答案:
去掉f是不行的。如果去掉f,则在第②步的操作不需要密钥,于是坏人截获RN=D(C,Ks)后,发给A,A不能察觉C。
于是C假冒成果。不去掉f时,在第②步的操作需要密钥,于是坏人没有密钥,不能冒充。
于是C假冒成果。不去掉f时,在第②步的操作需要密钥,于是坏人没有密钥,不能冒充。
答案解析:有
微信扫一扫手机做题