科普
仿射密码的应用——记一次失败的解题经历
正文文字 410 字3 图
前几天,在群里看到一道题:

第一想法就是构造双射,但当时没细想,忙别的事去了。今晚申强老师来问我,有没有看他的做法(只有8个字“了解一下仿射密码”)。
这里简单介绍一下仿射密码的概念,其实本质就是一种双射,和我的第一想法是一样的。

顺着这个思路我开始思考以下几个问题:
1.怎样的双射f:x→ax+b,能将{4,5,6}映射到{1,4,7}?
2.这样的双射如何保证将19的倍数仍映射到19的倍数?
第一个问题比较好解决,f(x)=3x+3就可以(这个系数3是容易得到的),但构造出的双射无法满足第二个要求,思路陷入了困境。
大强提示我可以构造从{0,1,2,3,7,8,9}到{0,2,3,5,6,8,9}的双射(本质似乎是一样的,原因是此时我还没意识到真正的问题所在)。
再次尝试未果,大强又给出了提示:映射就是f(x)=3x,并问我应该模什么?
我立马顿悟了。要满足第二个要求,显然不能模10,而应该模19,并且构造的双射也应该是f(x)=ax的形式。
所以,是什么让我(以及没反应过来的读者们)在一开始就默认应该模10呢?
最后,放一道类似的能用仿射密码做的竞赛题(2021年百年老校数学竞赛第6题)。





留言
正常留言提交后可直接显示,无需人工审核;仍会经过防刷与垃圾内容过滤。请不要留下手机号等私人信息。解法、疑问都可以说;公式用 LaTeX:行内
$…$,整行$$…$$。