看着三级那些个加密算法头都大了,突发奇想,不知道矩阵加密有木有前途。

传统的低级加密无非是一维线性加密,明文和密文的字母一一对应,通过概率分析很容易进行破解。如果能够改成n维线性加密,明文与密文构成nn对应,破解起来难度将会几何型上升。(非线性的话,虽然破解的难度更大,但是破译的时候容易产生多结果。)

基本构想:将明文转换为3位ascii码,密钥为一矩阵A=n*n,依次取明文n个元素作为列向量B,做计算C=A*B,得出密文。破译时,做C/A计算,得出明文。

通过这种加密方法,好处是对于一般的文件,加密技术不是很复杂,但是加密运算量不小,对于纯大型矩阵的计算,普通计算机能力有限,再加上破解时对密钥的计算,鸭梨会很大。而且程序思路明确,过程简单,稍微有一些编程基础的童鞋,应该很容易就能写出来。相对于一维加密,每个数字出现的概率受到n个元素的影响,弥补了常见的概率分布的缺憾。对于非机密性文件采取这种手段加密,应该是一种不错的的选择。

缺点也是显而易见的,密文完全加密成数值型,而非传统的字符型,无法紧密无空格排列。对密钥也有要求,密钥的行列式的结果不能为0,否则无解。无法对中文加密,这恐怕是很多加密手段都难以做到的吧。

程序语言选择的话,C对矩阵的计算不感冒,虽然可移植性较高但程序量较大,对于处理大型矩阵尤其不趁手。至于Basic,总觉得有些低龄化。python对专业的行列式计算也不是太容易。网上推荐使用fortran,Matlab处理矩阵运算。

作者 hsyyf

《矩阵加密算法构想。。。》有2条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注