本文主要解决古典密码中的Hill体制密码在已知明文M和密文C的情况下求解密钥矩阵K的两种方法:①求逆矩阵②待定系数法。
如若不懂Hill体制的古典密码可以参照我上一篇文章密码学——几种典型的古典密码体制(Caesar体制、Playfair体制、Vigenere体制、Beaufort体制以及Hill体制)


文章目录

  • 引入题目
  • 一、求解逆矩阵
  • 二、求解方法
  • 1.逆矩阵求解法
  • 2.待定系数求解法
  • 结束语



引入题目

设英文字母A,B,C,…,Z分别对应编码为0,1,2,…,25。已知Hill密码中的明文长度为2,密钥K为知道公钥和密文推明文 已知明文密钥求密码_知道公钥和密文推明文上的一个二阶可逆方阵,现给出明文FRID,所对应的密文为PQCF,试求解密钥矩阵K


一、求解逆矩阵

此处只是简单的描述线性代数中求解逆矩阵的步骤
设矩阵知道公钥和密文推明文 已知明文密钥求密码_逆矩阵_02
解:①知道公钥和密文推明文 已知明文密钥求密码_知道公钥和密文推明文_03注意,在模运算中-121模26等同于9模26知道公钥和密文推明文 已知明文密钥求密码_线性代数_04注意,在模运算中逆元的求解为相乘模26余1

知道公钥和密文推明文 已知明文密钥求密码_逆矩阵_05注意,此处的知道公钥和密文推明文 已知明文密钥求密码_知道公钥和密文推明文_06表示的是M的代数余子式,如若不知如何求代数余子式可以去搜查有关知识,此处有个方便的小tips:主对角线交换位置,副对角线变为负(仅限2x2矩阵的代数余子式)
知道公钥和密文推明文 已知明文密钥求密码_逆矩阵_07注意,此处都是进行了模26的操作,所以结果都为正数

二、求解方法

1.逆矩阵求解法

解:
①因为明文分组长度为2,所以明文、密文向量每一组的列数为2。
明文知道公钥和密文推明文 已知明文密钥求密码_知道公钥和密文推明文_08密文知道公钥和密文推明文 已知明文密钥求密码_知道公钥和密文推明文_09注意,此处的数字是字母对应知道公钥和密文推明文 已知明文密钥求密码_知道公钥和密文推明文_10上的数字
所以明文向量(5,17)(8,3)密文向量(15,16)(2,5)
知道公钥和密文推明文 已知明文密钥求密码_线性代数_11知道公钥和密文推明文 已知明文密钥求密码_知道公钥和密文推明文_12
知道公钥和密文推明文 已知明文密钥求密码_知道公钥和密文推明文_13注意,整合为一个矩阵的时候一定要行向量对应
知道公钥和密文推明文 已知明文密钥求密码_逆矩阵_14,得知道公钥和密文推明文 已知明文密钥求密码_密码学_15 注意,某数和其逆元相乘的结果是单位E,也就是1
②求解明文的逆矩阵如前面一、求解逆矩阵所示,此处不赘述。
③带入逆矩阵求得结果知道公钥和密文推明文 已知明文密钥求密码_知道公钥和密文推明文_16
故密钥K为知道公钥和密文推明文 已知明文密钥求密码_线性代数_17

2.待定系数求解法

解:
设密钥矩阵K为知道公钥和密文推明文 已知明文密钥求密码_矩阵_18,根据知道公钥和密文推明文 已知明文密钥求密码_矩阵_19知道公钥和密文推明文 已知明文密钥求密码_知道公钥和密文推明文_20
知道公钥和密文推明文 已知明文密钥求密码_矩阵_21
知道公钥和密文推明文 已知明文密钥求密码_密码学_22
故带入知道公钥和密文推明文 已知明文密钥求密码_知道公钥和密文推明文_23的值可得
知道公钥和密文推明文 已知明文密钥求密码_逆矩阵_24
故密钥K为知道公钥和密文推明文 已知明文密钥求密码_线性代数_17


结束语

以上就是有关密码学的Hill体制有关已知明文和密文如何求解密钥矩阵的两种方法的介绍,希望能对读者们起到一定的作用。
如果存在错误欢迎在评论区指出,可以多多交流,大家一起进步。