1、2.7 矩阵在密码中的应用矩阵在密码中的应用 密码通信作为人类军事、政治、经济斗争的一密码通信作为人类军事、政治、经济斗争的一 种技术,已有上千年的历史,并在许多战争胜败中种技术,已有上千年的历史,并在许多战争胜败中起了极关键的作用。在信息技术高度发达的今天。起了极关键的作用。在信息技术高度发达的今天。密码通信对人类社会的影响比以往任何年代都更为密码通信对人类社会的影响比以往任何年代都更为显著。实际上,密码的核心是变换,而且是一种纯显著。实际上,密码的核心是变换,而且是一种纯形式的变换。对这种变换进行抽象、描述和研究的形式的变换。对这种变换进行抽象、描述和研究的最佳工具是数学。事实上,意大利数
2、学家卡丹最佳工具是数学。事实上,意大利数学家卡丹(Cardano,Jerome,15011576)及法国数学家韦)及法国数学家韦达(达(Vieta,Francis,15401603)就参与了密码研究。)就参与了密码研究。至于现代,密码学领域中几乎无一不是数学家的天至于现代,密码学领域中几乎无一不是数学家的天下了。现代的许多军事、政治、经济信息的来往,下了。现代的许多军事、政治、经济信息的来往,很多都是通过公共渠道,如电话、电报、电子信件很多都是通过公共渠道,如电话、电报、电子信件传递信息,希望不被窃取或修改,而安全地送到接受传递信息,希望不被窃取或修改,而安全地送到接受者手中。为防止窃取,需要
3、将信息改变成密码形式。者手中。为防止窃取,需要将信息改变成密码形式。原信息称为原信息称为明文明文,明文的秘密形式称为,明文的秘密形式称为密文密文。知道了密码把密文翻译成明文的过程叫做知道了密码把密文翻译成明文的过程叫做解密解密,密码中的关键信息叫做密码中的关键信息叫做密钥密钥。大家知道计算机是二元状态,信息传输过程中是大家知道计算机是二元状态,信息传输过程中是把所有信息变成数,再将数转换成二进制进行传输。把所有信息变成数,再将数转换成二进制进行传输。下面我们介绍一种利用矩阵编制密码的方法。下面我们介绍一种利用矩阵编制密码的方法。设设29个字符数字在如下对应表:个字符数字在如下对应表:ABC D
4、EFG HIJK L M N O12345678910 11 12 13 14 15PQ RSTU V W X YZ?!空空格格16 17 18 19 20 21 22 23 24 25 26 27 28 29这意味着这意味着1表示表示A,20表示表示T,28表示表示?.比比29大地数大地数n表示什么呢?表示什么呢?例例1 把明文把明文RED进行加密和解密进行加密和解密.023147236M 对比对比29大地数大地数n用用29除一下,看除一下,看最小正余数最小正余数是是什么,余数代表何字母,此数就代表什么字母什么,余数代表何字母,此数就代表什么字母.例如,例如,58能被能被29整除,则整除,则
5、58表示空格,表示空格,199被被29除除余余25,则,则199表示字母表示字母y.解解 首先给出一个编码矩阵(首先给出一个编码矩阵(也称为也称为加密矩阵加密矩阵)用矩阵用矩阵M为明文为明文RED进行加密,这个字等价于进行加密,这个字等价于18,5,4.用矩阵用矩阵M左乘以向量左乘以向量 可得可得 1854 0231822147566236475M 所得到的后两个数不能直接换算成字符,可以把它们所得到的后两个数不能直接换算成字符,可以把它们被被29除一下,除一下,66被被29除余除余8,75被被29除余除余17,这样,这样22表示表示V,66表示表示H,75表示表示Q,于是,于是RED被加密为
6、被加密为VHQ.这样进行加密后,收方就得到的信息是这样进行加密后,收方就得到的信息是VHQ.收到方解密收到方解密VHQ,它的数学等价表示向量,它的数学等价表示向量228.17b 对于由对于由M所加密的密文所加密的密文VHQ来说,设它所对应的明文来说,设它所对应的明文的数字等价表示为的数字等价表示为 ,则,则123xxxx 12322817xMxx 解上方程组得解上方程组得1123223322276886381791754217112xxMx 这三个数这三个数76,179,112不能直接换算成字符,分别不能直接换算成字符,分别用用29去除去除 得最小正余数得最小正余数18,5,4,则,则VHQ解
7、密为解密为RED.注意注意:(1)加密矩阵和它的逆矩阵的元素都必须是加密矩阵和它的逆矩阵的元素都必须是整数,整数,为此要求为此要求|M|=1或或1.把加密矩阵把加密矩阵M的逆矩阵称为的逆矩阵称为解密矩阵解密矩阵.(2)加密矩阵也可以选择三阶以上的矩阵加密矩阵也可以选择三阶以上的矩阵.(3)若加密矩阵是三阶矩阵,明文不够三个字母若加密矩阵是三阶矩阵,明文不够三个字母可以补零;多余三个字母,可以用多个向量或矩阵可以补零;多余三个字母,可以用多个向量或矩阵表示表示.例例2 利用例利用例1的加密矩阵的加密矩阵M,把明文,把明文WE进行进行 加密和解密加密和解密.解解 取加密矩阵取加密矩阵 ,02314
8、7236M 明文明文WE等价于向量等价于向量 ,2350 0232310147543,236061M 因为因为所得到的后两个数所得到的后两个数43和和 61不能直接换算成字符,不能直接换算成字符,可以把它们被可以把它们被43被被29除余除余14,61被被29除余除余3,这样,这样10表示表示J,43表示表示N,61表示表示C,于是,于是WE被加密被加密11为为JNC.这样进行加密后,收方就得到的信息这样进行加密后,收方就得到的信息12是是JNC.对于由对于由M所加密的密文所加密的密文JNC来说,设它所对应的明文来说,设它所对应的明文的数字等价表示为的数字等价表示为 ,则,则123xxxx 解上
9、方程组得解上方程组得12310143xMxx 11232233210688631451754230 xxMx 数数6除以除以29得最小正余数得最小正余数23,数,数23,5,0对应明文对应明文WE,因此密文因此密文JNC解密为解密为WE.例例3 利用例利用例1的加密矩阵的加密矩阵M,把明文,把明文ACTION进行加密和解密进行加密和解密.解解 取加密矩阵取加密矩阵 ,023147236M 明文明文ACTION等价于矩阵等价于矩阵 ,1931520 14B 于是由于是由 023196672147315153167,2362014131147MB6672153167131157中的中的6个数除以个
10、数除以29得正余数组成的矩阵为得正余数组成的矩阵为814822.152C 因此加密后,收方得到的密文为因此加密后,收方得到的密文为HRONVB.由方程由方程 123814822,152xMxx 解得解得 1123814332814302082286382261141525421523814xxMx 302061143914 中的中的6个数除以个数除以29得正余数组成的矩阵为得正余数组成的矩阵为193152014因此,恢复明文为因此,恢复明文为ACTION.随着科学技术的不断发展,加密的方法越来越随着科学技术的不断发展,加密的方法越来越多,难度越来越大,破密的手段越来越高明,这使多,难度越来越大,破密的手段越来越高明,这使得许多数学领域如数论、信息论、概率统计、群论、得许多数学领域如数论、信息论、概率统计、群论、域论、组合数学、代数几何都再密码学中找到了用域论、组合数学、代数几何都再密码学中找到了用武之地。武之地。课堂作业课堂作业 构造一个加密矩阵构造一个加密矩阵M,把明文,把明文STUDENT 进行加密和解密进行加密和解密.