您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 线性代数在通信中的应用实例分析
线性代数在通信中的应用实例分析(西安电子科技大学通信工程学院,西安710126)[摘要]从理论与实践相结合的角度论述了线性代数在保密通信中的应用及其存在的问题与对策等。1基于线性代数的保密通信模型1.1加密保密通信发送方采用某种算法将明文数据加密转换成密文数据后发送给接收方,接收方则可以采用相对应的某种算法将密文数据解密转换成明文数据。1.2线性代数的应用显然一种加密技术是否有效,关键在于是密文能否还原成明文。设有矩阵方程C=AB,其中B为未知矩阵.我们知道,如果A为可逆矩阵,则方程有唯一解B=A^-1=C,其中A^-1是A的逆矩阵。因此,可逆矩阵可以有效地应用于加密技术.设A为可逆矩阵,B为明文矩阵,C为密文矩阵.1.2.1加密算法加密时,采用下面的矩阵乘法:C=BA或C=AB。例如,设加密密钥矩阵A为1210232112201023明文矩阵B为73321624345125241123则密文矩阵C等于121023211220102373321624345125241123=240131113812131529115613524641.2.2解密算法解密时,采用下面的矩阵乘法:B=CA^-1或B=A^-1C其中,A^-1为A的逆矩阵.例如,针对上面的加密密钥矩阵A,解密密钥矩阵A^-1为10612631110104211如果密文矩阵C为11121212319667569877则相应的明文矩阵B应等于1061263111010421111121212319667569877=1801733627385554796062密钥的生成如何快速而有效地构造一个可逆矩阵作为加密密钥和求出其逆矩阵作为解密密钥是利用可逆矩阵实现保密通信的关键.2.1加密密钥的生成初等矩阵都是可逆的,而且初等矩阵的乘积仍然是可逆的.因此,我们可以考虑利用若干个初等矩阵的乘积作为加密密钥.这种做法的好处是,我们可以自由地选择初等矩阵的数量和每个初等矩阵的类型,以及由单位矩阵得到初等矩阵的具体初等变换.在实际应用中,可以通过对单位矩阵连续施加一序列所选择的初等变换得到加密矩阵.2.2解密密钥的生成设A=P1P2P3…Pn,其中只是初等矩阵,则A^1=Pn^-1…P3^-1P2^-1P1^-1,设Pi对单位矩阵I做初等变换K得到的初等矩阵,则只需对单位矩阵I做K的逆变换即可得到P^-1.显然,在实际应用,生成解密密钥只需要再次利用生成加密密钥时的变换矩阵对单位矩阵做一序列的初等逆变换即可.3其它问题除了密钥矩阵的生成这一基本问题以外,在利用可逆矩阵实现保密通信时,还有一些问题值得我们探讨.3.1明文矩阵的选择如果明文矩阵B为方阵,则当B为可逆矩阵时有:A=B^-1C或A=CB^-1,其中B^-1为B的逆矩阵.因此,如果窃密者以某种方式窃取到一对明文和相应的密文,碰巧其中的明文矩阵可逆,那么窃密者可以轻而易举地破解密文.鉴于以上考虑,在实际应用时,明文矩阵不要采用方阵.另外,在实际应用中,明文并不总是恰好可以分成整数个矩阵,出现这种情况时需要补充一些数据.补充的数据可以是有意义的,也可以是无意义的.有时,我们可以利用这些附加数据来达到某种特殊的效果,比如数据的完整性检验等.3.2加密矩阵的选择设C=AB,根据矩阵乘法的定义,乘积矩阵C中第i行第j列的元素等于矩阵A中第i行的所有元素与矩阵B中第j列的对应元素之积的累加和.因此,利用可逆矩阵来实现保密通信的另一个问题是,如果加密矩阵选择得不好,密文矩阵的元素长度会急剧膨胀.为了避免出现这种情况,加密矩阵A最好满足以下条件:对任意的明文矩阵B,密文矩阵C中的每一个元素的长度都不超过明文矩阵B中对应位置上的元素的长度.或者退而求其次:对任意的明文矩阵B,密文矩阵C中所有元素的总长度不超过明文矩阵B中所有元素的总长度.如果能找到一个加密矩阵,使得对任意的明文矩阵,密文矩阵中所有元素的总长度在一个比较理想的程度上小于明文矩阵中所有元素的总长度,那么这时的加密算法同时也是一种较好的压缩算法.3.3算法优化设加密矩阵A为n阶矩阵,明文矩阵B为n阶m列矩阵,利用“向量”的有关知识,密文矩阵C的第i行(行向量)可以表示为Ci=Ai1B1+Ai2B2+…+AmBn,其中Aij(j=1,2,…,n)为矩阵A的第i行第j列位置上的元素,而Bn则为矩阵B的第n行(行向量).显然,密文矩阵的每一个行向量都是明文矩阵的所有行向量的一种线性组合,其组合系数正好是加密矩阵的相应行上的所有元素.根据矩阵乘法的定义直接计算密文矩阵时,计算密文矩阵的每个元素需要做n次乘法和n-1次加法,因此计算整个密文矩阵总共需要mn^2次乘法和mn(n-1)次加法.利用上述线性组合关系来计算密文矩阵时,计算密文矩阵的每行元素需要做mn次乘法和m(n-1)次加法,因此计算整个密文矩阵也总共需要mn^2次乘法和mn(n-1)次加法.但是,如果加密矩阵中含有一定数量的0元素,则利用线性组合来计算密文矩阵就有较大的优势.加密矩阵每增加一个0元素,计算密文矩阵就要少做m次乘法和m次加法.在实际应用中,加密矩阵一般都含有一定数量的0元素.4结束语本文作为线性代数应用的一个例子,较为全面地论述了线性代数在保密通信中的应用及其存在的问题与对策等。
本文标题:线性代数在通信中的应用实例分析
链接地址:https://www.777doc.com/doc-2056994 .html