某系统自称使用了一种防窃听的方式验证用户密码。密码是 n 个数 s1, s2, ..., sn,均为 0 或 1。该系统每次随机生成 n 个数 a1, a2, ..., an,均为 0 或 1,请用户回答(s1a1 + s2a2 + ... + snan)除以 2 的余数。如果多次的回答总是正确,即认为掌握密码。该系统认为,即使 问答的过程被泄露,也无助于破解密码——因为用户并没有直接发送密码。
然而,事与愿违。例如,当 n = 4 时,有人窃听了以下 5 次问答:
就破解出了密码 s1 = _________,s2 = _________,s3 = _________,s4 = _________。