1、二进制幂数加密法二进制数除了 0 和 1 的表示方法外,在由二进制转换成十进制的时候,还可以表示成 2 的 N 次方的形式。例如:15=20+21+22+23并且我们发现,任意的十进制数都可以用 2n 或 2n+2m+的形式表示出来,可以表示的单元数由使用的 max n 来决定。可表示的单元数=2(n+1)-1 二进制幂数加密法就是应用这个原理,由于英文字母只有 26 个字母,由公式可知,只要 2 的 0、1、2、3、4 次幂就可以表示 31 个单元。通过用二进制幂数表示字母序号数来加密。例如明文: d o n o t p u l l a l l y o u r e g g s i n o n
2、 e b a s k e t字母序号:4 15 14 15 20 16 21 12 12 1 12 12 25 15 21 18 5 7 7 19 9 14 15 14 5 2 1 19 11 5 20由于 4=22 所以 D 加密过之后是 2;15=20+21+22+23 所以 O 加密后是0123。同理得到上述明文的加密后的密文密文:2 0123/123 0123 24/4 024 23 23/0 23 23/034 0123 024 14/02 012 012 014/03 123 /0123 123 02/1 0 014 013 02 24 其中空格表示字母的间隔,/表示单词的间隔。字母加密结果对照A 1-0B 2-1C 3-01D 4-2E 5-02F 6-12G 7-012H 8-3I 9-03J 10-13K 11-013L 12-23M 13-023N 14-123O 15-0123P 16-4Q 17-04R 18-14S 19-014T 20-24U 21-024V 22-124W 23-0124X 24-34Y 25-034Z 26-134