杂例子
1 设**字是cipher,使用维吉尼亚密码加密明文串是this cryptosystem is not secure,求密文
解:在明文下面重复写**字,组成**。
明文M: thiscryptosystemisnotsecure
**K: cipherciphercipherciphercip
将明文和**转化为数字
M=(19,7,8,18,2,17,24,15,19,14,18,24,18,19,4,12,8,18,13,14,19,18,4,2,20,17,4) K=(2,8,15,7,4,17,2,8,15,7,4,17,2,8,15,7,4,17,2,8,15,7,4,17,2,8,15)
对每个明文数字和对应的**数字,使用ci=(mi+ki )mod 26加密
得到密文数字为:
C=(21,15,23,25,6,8,0,23,8,21,22,15,21,1,19,19,12,9,15,22,8,25,8,19,22,25,19)
于是密文为:
VPXZGIAXIVWPUBTTMJPWIZITWZT
2
用流密码加密二进制数据m=011001001加***为k=110011001
(1)解***是多少?
(2)密文为多少?
解:(1)流密码加密中加密解***一样,故解***为:110011001
(2)密文是**与明文的异或运算:101010000
3
下面是DES的一个S盒,如果输入为011001,求输出
解:
输入六位数的第一位与最后一位组合所对应的十进制数确定行,剩余四位对应的十进制数确定列,因此确定输出数为2行13列交叉,对应十进制数为1,因此输出为:0001.
4
用列置换加密明文permutation cipher hide the message by rearranging the letter order。假如用**network。
解:将明文按照**的长度一行一行地写成一个矩阵,然后按照**字母对应的数值从小到大,按照列读出即为密文
在**network中,字母对应的数字从小到大排列是eknortw,按照这个顺序读出上面矩阵的列即是密文:
EIEHGRGTRAPESEIEDPTHTAANTEUCIEYNEOTIDSRGLRROREERTE MNHMBAHR