混合图元加密算法是把研究对象从单幅数字图像拓广到以混合图元为单位的多幅数字图像上,在保证交互信息安全性的同时,通过合理设计图元粒度,可把加密效率控制到最优水平。那么我就带大家来了解一下这种混合图元加密算法。
一、混合图元加密算法原理
网络平台下的信息交互涉及到收(Bob)发(Alice)双方。利用现代计算机技术,Alice很容易把一幅数字图像分割成一组有序的小幅图像,分割后的小幅图像称为块图元,简称图元。用于交互的原始图像也称为真图像,分割后的图元称为真图元;用于迷惑攻击者(Oscar),增加系统安全性而添加的数字图像称为伪图像,分割后的图元称为伪图元。
将真、伪图元集按照给定的算法进行混合,得到的图元集称为混合图元集,其中的图元称为混合图元。混合图元是网络平台下信息交互的主要对象。Alice发送后,Bob利用混合图元解密算法和现代计算机技术,很容易将真图元集完整提出,并恢复出真图像。以混合图元加密原理为基础建立的加密系统称为混合图元加密系统。
混合图元加密算法,依据ECC,具有密钥空间大、加密效率和安全性较高、适用领域广等优点。该算法有效改善了目前图像加密技术效率不高或安全性较弱的问题,在满足安全性要求的前提下,提高了加密效率。
二、混合图元加密算法的结构
混合图元加密算法的结构,如图所示。
Alice发送前的主要任务包括:图像确定与选取,图像分割,图元混合和ECC加密。
Bob接收密文后的主要任务包括:ECC解密,提取真图元集和生成真图像。
Bob在解密Alice发送的信息前,需生成私钥和公钥。步骤为:
(1)确定椭圆曲线E(Fp),即确定参数a、b和的值。选取基点G,其周期为T;
(2)随机选取[1,T-1]中的整数d作为私钥,计算点Q=dG;
(3)公开公钥[E(Fp),G,T,Q]。
三、混合图元加、解密过程
1、混合图元加密过程
加密过程由Alice完成,其步骤为:
(1)Alice获知Bob公钥;
(2)如果是字符文稿,应将其转化为相应M×N的数字图像。然后选取K(K≥1)幅伪图像;
(3)把幅图像分别分割为幅图元,构成一个真图元集和一个伪图元集。其中m∈{1,2...M},n∈{1,2..N}。依据映射f,为每幅图元产生1个小于P,且具有唯一性的随机正整数。令A1'为真图元集对应的数字矩阵.
(4)混合真、伪图元集,获得混合图元集;
(5)依据Bob公钥,计算出点和点c1(x1,y1)=uG,c2(x2,y2)=uQ。
(6)将密文[C1,c1]和混合图元集传送给Bob。
2、混合图元解密过程
解密过程由Bob完成,Bob收到Alice的密文[C1,c1]和混合图元集后,解密步骤为:
(1)用私钥计算:c2(x2,y2)=dC1恢复出明文数据Aij。如此反复,直到恢复出的全部明文A1";
(2)依据A1",从混合图元集中提取出真图元集,并对其组合恢复出真图像。
四、混合图元加密效率
图元粒度决定创建真图元的数目,即ECC的文件加密量。伪图像幅数和图元粒度决定创建混合图元的数目。ECC密钥长度决定着一次ECC加密点乘的运算量。当伪图像越多和图元粒度越小时,图像分割时创建的真图元和混合图元越多,ECC的文件加密量越大,耗时越长;当ECC密钥越长时,一次ECC加密点乘的运算量越大,耗时越长。因此,图元粒度、伪图像幅数和ECC密钥长度是影响混合图元加密算法加密效率的重要因素。
五、混合图元加密安全性
1、现有加密系统安全性
(1)传统密码体制:
DES或AES等传统密码体制,从理论上讲均可用于数字图像加密,但由于图像数据量庞大,使得运算量增加,且需要将二维的图像数据转化成一维的二进制数据流。因此,加密效率难以得到保证。
(2)混沌系统:
低维混沌加密系统不具有很高的安全性。虽然高维或超级混沌加密系统比低阶混沌加密系统具有更高的保密性。但会使电路变得复杂,且高维混沌加密系统同步的鲁棒性和抗噪声能力较差,在实际应用中受到很大限制。
(3)ECC:
ECC具有安全性能高和密钥短等优势,研究结果表明,长度为160bit和210bit的椭圆曲线密钥所具有的安全性,分别相当于RSA中1024bit和2048bit的密钥所具有的安全性。目前尚未见到针对ECC的有效破译方法。但以单幅图像作为加密对象时,若不添加伪图元,采用基于ECC的块图元加密算法,其安全性不高。
2、混合图元加密安全性
(1)针对图元组合穷搜攻击算法
图元粒度决定着真图元的数目。图元粒度和伪图像幅数决定着混合图元的数目。真图元和混合图元数目越多,图元组合穷搜攻击算法穷举次数越多,耗时越长,系统越安全。
(2)针对图元文件名ECC攻击算法
利用网络资源,国际上已解决Certicom公司给出的密钥长度为109bit的椭圆离散对数问题挑战,这已是目前最好的结果,其所用资源如下表所示(2-108表示特征为2、密钥长度为108bit且是koblitz曲线;p-109表示密钥长度为109bit的素数;2-109表示特征为2、密钥长度为109bit)。
针对图元文件名ECC攻击算法,显然ECC密钥长度越长,系统越安全。
小知识之ECC:
ECC是“Error Correcting Code”的简写,中文名称是“错误检查和纠正”。ECC是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用了这种技术的内存,一般多应用在服务器及图形工作站上,这将使整个电脑系统在工作时更趋于安全稳定。