单词密码
我们手头有一本英语词典(不考虑大小写),对于任意给定的一个单词x(明文),我们要找到唯一一个对应的数字f(x)(密文),使得对于每一个密文f(x),都可以复原出唯一一个明文x。也就是说,x和f(x)一一对应。把一个单词x的部分或全部字母重新组合后能得到的单词,叫做x的“子集”,比如heart是earth的子集,hate也是earth的子集。若y是x的子集且y的字母排列顺序和x的字母排列顺序一致,则称y为x的“子串”,比如ear是earth的子串,但heart不是earth的子串。
如何设计对应法则f,使得给定f(x),在不求出x的情况下,就能方便地确定x的子集、子串所可能对应的密文呢? 我想到的是用素数,26个字母分别对应前26个素数,到时候看一下分解或者对于单个数字直接看看是不是因数就行,但这样有些单词对应的数字太大了。
页:
[1]