70 likes | 179 Views
整数逆矩阵加密法. 对文件加密有许多种 , 并且随着信息科学的发展 , 文件加密与解密的技术也有了长驱的发展 . 若将计算函数 f 在 x 点处的函数值理解为对信息加密 , 那么 , 计算 f -1 ( f ( x )) 的过程就可理解为对信息 f ( x ) 解密 . 函数法则可以理解为“加密锁” , 它的反函数就可以理解为“解密钥匙” . 如下图所示. f 加密. f -1 解密. 加密后信息 f ( x ). 原信息 x. 原信息 x. 作为整数逆矩阵的应用 , 这里介绍一种简单而实用的文件加密与解密方法- 整数逆矩阵加密法.
E N D
对文件加密有许多种,并且随着信息科学的发展,文件加密与解密的技术也有了长驱的发展.若将计算函数f在x点处的函数值理解为对信息加密,那么,计算f-1(f(x))的过程就可理解为对信息f(x)解密.函数法则可以理解为“加密锁”,它的反函数就可以理解为“解密钥匙”.如下图所示.对文件加密有许多种,并且随着信息科学的发展,文件加密与解密的技术也有了长驱的发展.若将计算函数f在x点处的函数值理解为对信息加密,那么,计算f-1(f(x))的过程就可理解为对信息f(x)解密.函数法则可以理解为“加密锁”,它的反函数就可以理解为“解密钥匙”.如下图所示. f 加密 f -1 解密 加密后信息f(x) 原信息x 原信息x • 作为整数逆矩阵的应用,这里介绍一种简单而实用的文件加密与解密方法-整数逆矩阵加密法. B=PnPn-1…P1A • 对矩阵A进行初等行变换的过程就可以理解成是对信息链A“加密”的过程;将加密的信息链B发给对方后,对
方要想看到原来的信息链内容,就必须对信息链B解密,这个解密过程就可以理解为在矩阵B的左侧再乘以原来加密时所做的初等变换相应的初等矩阵的逆矩阵(PnPn-1…P1)-1=P1-1P2-1…Pn-1方要想看到原来的信息链内容,就必须对信息链B解密,这个解密过程就可以理解为在矩阵B的左侧再乘以原来加密时所做的初等变换相应的初等矩阵的逆矩阵(PnPn-1…P1)-1=P1-1P2-1…Pn-1 PnPn-1…P1 加密锁 解密钥匙 Q-1=(PnPn-1…P1)-1 • 利用整数逆矩阵解密方法对下面信息链做加密解密练习. JIAO TONG UNIVERSITY • 过程:选用各个英文字母的ASCII码代替英文字母,将信息链“JIAO TONG UNIVERSITY”用一组数字表示,空格也用其ASCII码代替,存入一向量
W=[74,73,65,79,32,84,79,78,71,32,85,78,73,86,69,82,83,73,84,89]W=[74,73,65,79,32,84,79,78,71,32,85,78,73,86,69,82,83,73,84,89] 按列优先于行的规则,将信息链排成一个4×5阶矩阵,并记为 对一个4×4阶的单位矩阵E,做若干次(r1)和(r3)行变换后化为 下面程序验证矩阵Q是可逆的,且逆矩阵为整数矩阵. Q=[3,7,15,22;2,5,11,17;3,6,13,21;9,18,36,46]
jiemiyaoshi=inv(Q) 执行结果为 jiemiyaoshi= 26.0000 -28.0000 2.0000 -3.0000 -92.0000 93.0000 -3.0000 11.0000 51.0000 -51.0000 1.0000 -6.0000 -9.0000 9.0000 0 1.0000 很显然矩阵Q的逆矩阵为整数矩阵.选矩阵Q为加密锁,将此密码锁加载到原信息链上就变成了加密信息链B.执行下面的程序完成加密过程. W=[74,73,65,79,32,84,79,78,71,32,85,78,73,86,69,82,83,73,84,89] A=reshape(W,4,5) Q=[3,7,15,22;2,5,11,17;3,6,13,21;9,18,36,46] B=Q*A
得到的加密信息链为 B = 3446 3585 3428 3660 3978 2571 2679 2563 2729 2968 3164 3265 3148 3354 3648 7954 8232 7863 8461 9179 • 纵然在知道每个英文字母是用ASCII码代替的情况下,如果不告诉你解密钥匙(逆矩阵Q-1),你能看出信息链B的端倪来吗? • 在不知道解密匙的情况下,要想知道信息链B的内容就很困难. 下面的过程就是解密的过程,执行命令 inv(Q)*B 就得到原来的信息链
ans= 74.0000 32.0000 71.0000 73.0000 83.0000 73.0000 84.0000 32.0000 86.0000 73.0000 65.0000 79.0000 85.0000 69.0000 84.0000 79.0000 78.0000 78.0000 82.0000 89.0000 • 这里介绍的仅是一种加密思想,事实上的加密过程远“密”与此.试想要是将加密时的时间与解密时的时间作为参数引入考虑的话,加密将是更为可靠的.