矩阵在信息加密中的应⽤(密码学)
电⼦科技⼤学 格拉斯哥学院 2017级 王霁远(2017200505023)
基本原理:使⽤代码⼦表和可逆矩阵加密将要转换的信息。
rta 飞⼀、预备知识
1.代码⼦表
识别腕带
⽤⼀系列数字代表特定的字母, 如下图为⼀个最基本的代码字表。
2. 基本加密实例:
加密单词 ’braised pork’ (依据上述代码字表)
康志坚
步骤1: 选取⼀个密钥矩阵(即信息交流双⽅才知道的矩阵A) 密钥矩阵要求: 矩阵可逆且矩阵的⾏列式值为±1.
例如选取密钥矩阵
保护套>电厂余热回收
步骤2: 将特定的单词转化成⼀个矩阵(矩阵B)。
B R A I S E D SP P O R K
2 18 1 9 19 5 4 0 17 15 18 11
矩阵B的⼤⼩要依据密钥矩阵设定, 即要使AB运算合法.
本例中的矩阵B应为3×4矩阵, 即
步骤3: 加密矩阵(做矩阵乘法运算C=AB)
矩阵C就是把对应信息加密完成的矩阵.
若要破解该矩阵的信息, 必要条件是知道密钥矩阵(矩阵A). 本例中破解该矩阵的⽅式即为上述加密过程的逆过程---------
这⾥就体现了密钥A可逆的重要性, 若A不可逆, 则A逆不存在, 加密后的矩阵将⽆法破解.
⼆、凯撒密码
加密思路:通过位移字母来加密和解密
加密步骤:
1.假设a=1,b=2,.,z=26,space=0。
2.将⽂本对应的数字写⼊⾏矩阵b=(b1,b2,.,bn)。
3.选择密码a=(a1,a2,.,an)。(密钥矩阵)
4.计算得到的矩阵c=(b1a1,b2a2,.,bnan) (注意, 这⾥的加密⽅式多种多样, 这⾥只选⽤了两个⾏矩阵中的对应元素相乘做例⼦)
5.将c中条⽬的相应字母写成密码⽂本。
按凯撒密码加密上述信息 ‘braised pork’
解密凯撒密码的重点是获得密钥矩阵与加密⽅式信息.该种加密容易, 但破解需要知道的信息相对较多也较难得到.
三、希尔密码
加密思路: 矩阵线性变换
加密步骤:
1.假设a=space=0,b=1,c=2,.,z=25。这意味着,每个字母或空格代表‘26系统’中的⼀个数字。
2.将纯⽂本分成⼏个部分,每个部分都有m个字母。将它们记作⼏个m维向量。
3.选择“密钥矩阵”Am×m,可逆(否则⽆法解码),⼤⼩为m×m。
4.让这些m维向量向左乘矩阵A。
按希尔密码加密上述信息 ‘braised pork’
假设a=0,b=1,.,z=25。每个部分有两个字母(即m=2)。 设密钥矩阵
手动加油泵解密过程: