25
再怎么说连续翘掉两节自习实在是有些过分,而且明天是周五,我们都还有作业要做,所以我和程茗先各自回了教室。
晚自习结束后,我们一起走出校门,我开始给她解释我的推测。
“这个联名形式要实现两个要点:匿名性和确定性。
“首先,要实现匿名性就意味着要引入只有参与者本人知道的信息作为变量,所以发起者选择了考试成绩,因为考试成绩不在学生间公开。
“如果只有这一个变量的话,任意一个知道计算公式的人都可以从结果倒推出它,就相当于把自己的成绩公之于众了。
“但计算中还有第二个变量,就是参加联名与否的意向。这两个变量共同参与计算,互相混淆,即使看到某个同学练习册上圈出的页码,也推不出他的成绩和意向分别是什么——只有知道其中一个,才能推出另一个。
“但这样并不是没有漏洞的,如果计算公式太简单,仍然可以在某些特殊情况下反推出有用的信息。
“举个例子,如果公式是‘成绩+常数’,根据同意与否常数分别是K和M。那假如K和M相差很小,用结果分别减去K或M后就得到了成绩的一个比较精确的范围,那就相当于暴露了那个人的考试情况了;反之如果K和M相差很大,那在知道某个人大致的分数段的情况下就能推出他选择了‘同意’还是‘不同意’。
“这样虽然不能从结果精确地还原出两个变量,但从匿名性来看仍然没有意义,不能提供参与者充分的安全感。
“所以虞子归说的计算过程中还包含了乘法和取模运算,这就是为进一步混淆数据而设置的。”
“取模……是不是求余数的那个。”程茗用手指点着额头。
“是,取模运算是不可逆的,因为它舍弃了商数的信息。
“比如原始数据分别是1和100,它们同时乘以63后再对70取模,结果分别是63和0,次序颠倒,完全失去了原来成绩的优劣信息。”
程茗微微张着小嘴认真地听着。
“接下来要实现确定性,就意味着每个人的每种选择都要经过计算后映射到不同的结果,这反而不难做到。具体的公式大致应该是这样的:
“映射数字=(成绩×A+B) mod M,这里的A和B就是纸片上提供的常数,M就是练习册的总页数,只要保证A和M互质,就能使得成绩和映射后的数字一一对应,并且落在页码的范围内。而把B设置得足够大,就能使得原始成绩的信息被稀释,无法从结果中被精确地推出。”
“这样啊……”程茗似懂非懂地点着头。
“要区分同意与否,只需换一组常数,他用了最简单的方式——换掉B,就相当于把原来的直线平移了一下,肯定不会和原直线有交点。”
“那这样万一取了余数之后两个结果是一样的怎么办?”
“不会的,只要B的改变量不是M的整数倍,结果肯定不一样。”
“哦……对啊。”程茗似乎想通了,“确实,仔细想想好像也并不复杂,只用到了初中知识而已。不过,余味你能想到这个,还是好厉害啊!”
“还……还好吧,哈哈。”难得听到不是讽刺的赞美,让我有点不习惯。
“但是,”程茗又说道,“适用这种方式的人只有知道全班同学数学成绩的人吧,只有他能根据圈出的页码算出每个人是同意还是不同意——也就是说,发起人是数学课代表?”
“……唉——”我深深地叹了一口气。
“怎么了……我……说错了吗?”程茗有些不好意思地问道。
“没错。我一开始也是这么想的,恐怕所有收到纸片的同学都是这么想的——正因如此,才不可能是他。”
程茗还是不太明白的样子:“为什么?”
“因为这太不像他,他煞费苦心地设计了如此精妙的方法,不可能在最显眼的地方露出这么大的破绽。”
“那,他怎么知道每个人的成绩,还能给练习册里夹纸,并粘掉页码的呢?”
“动练习册不是什么难事,我们刚才不就做过吗?”我说。
程茗眉毛一扬反应了过来,脸颊倏地变红了。
“至于成绩,其实他不需要知道。”说到这里,我的语气变得有些沮丧。
“什么意思?”她的眉毛又聚拢了起来。
“他只需要,用透明胶带沾下代表结果的页码,收集起来之后,和写好的举报信一起提交上去,就行了。
“所以我说,这就是联名行动本身,当他收集到页码之后,联名就完成了。”
程茗微微歪头,不甚理解的样子:“这……这个就算给校领导,他们会认吗?”
“从理论上,这就足够了。因为校长或其他老师是绝对有权查看成绩的,所以他只要在信里写明这些页码的来源和具体的计算公式,老师们就可以自行核实。如果他们还要验证真实性,那么同学们手头的练习册和老师手头的页码相结合,就是有力的物证。”
程茗目瞪口呆地看着我。
“所以他先用黑板上的大字试探出有举报意向的大概人数,之后他不需要知道每个人确切的意向,只要收集起来提交,其中有足够多愿意举报的人,就是一份有效的联名举报信了。
“而他本人,和其他任何一个同学一样,不知道有谁参与了举报,他没有任何特殊性,所以根本无从被怀疑。
“他就这样实现了一场互不知情、去中心化的联名举报。甚至很多举报者可能都没有意识到自己已经实际签署了联名信。”
程茗愣了很久,嘴唇终于翕动起来:“怎么会这样……”。
那个策划者——虽然他的行为令我不齿,不过我不得不承认,他是个天才混蛋。
说实话,到了这个地步,要找到他反而很容易,只要调查十班数学成绩本来就很好的同学,大概马上就能锁定他。
但是,找到之后又如何呢,没有任何证据,他只要来一句“这都是你的臆想”,我便哑口无言了。
甚至,他可能连这个计划会呈现出策划者怎样的人物画像都已经算到了,可能连我对他动机的分析都是那个真正的策划者设置的迷雾,他的动机可能不是嫉妒,而可以是其他任何事,他可以是十班的任何人。
再退一步说,他到底是不是十班的人都不能确定,十班的数学成绩飞跃完全可能招致其他班嫉恨,甚至于那个人根本就是其他班的数学老师,从手法实现的角度来说可能性更大。
他因为自己的私心赶走了吴老师,并让整个十班陷入人际关系的泥沼中。
我仰头看向黯淡的路灯,重重呼出一口浊气。
“我输了……”