基于仿射密码的并行图像加密算法
时间:2019-04-11 19:03:03 来源:乐清门户网 作者:匿名
基于仿射密码的并行图像加密算法 作者:未知 摘要:为了提高加密系统的密钥安全性,获得更好的扩散性能,提高算法的效率,提出了一种基于仿射密码的并行图像加密算法。 Lorenz混沌序列用于加扰像素位置。经典密码学中的仿射密码用于执行像素值扩散和像素值混淆。多核计算机多核并行计算用于阻塞图像,然后并行加密。实验结果表明,仿射加密算法密钥空间大,安全性强,扩散和干扰效果好,算法运算效率高,仿射密码加密优于XOR加密扩散。 关键词:仿射密码学;图像加密;像素扩散;像素混淆;并行计算;多核计算机 中图分类号:TN911.73?34; TP309文件编号:A文章编号:1004?373X(2018)22?0178?04 摘要:提出一种基于仿射密码的并行图像加密算法,以提高加密系统的密钥安全性,获得更好的扩散性能,提高算法的运行效率。 Lorenz混沌序列用于加扰像素位置。引入经典密码中的密码以扩散和混淆像素值。采用多核计算机的多核并行计算将图像分成块进行并行加密。实验结果表明,仿射加密算法密钥空间大,安全性强,扩散和干扰性能好,运算效率高,仿射密码加密比XOR加密具有更好的扩散效果。关键词:仿射密码;图像加密;像素扩散;像素混淆;并行计算;多核计算机0 数字图像加密越来越受到关注,研究也在不断更新。图像加密方法使用混沌系统[1]产生具有良好随机性的序列用于像素位置置换,以获得良好的加扰效果。文献[2]提出了一种数据加密标准算法和一种逻辑混沌映射图像加密算法。文献[3]提出了一种用于高维混沌映射的图像加密算法。许多图像加密算法在像素扩散时使用XOR运算[4~7],但XOR加密的扩散效果不好,对明文的攻击性能较差。文献[8~9]提出了一种具有良好密码学的相对复杂的算法,其计算复杂且效率低。在大数据时代,如果加密图像的数量很大,算法的效率是至关重要的。如今,具有2核及以上的多核计算机很常见,但图像加密和解密算法很少使用多核计算机来设计并行程序以提高运行效率。因此,本文采用Lorenz混沌序列,引入仿射密码,并利用多核计算机的多个处理核并行执行,设计了一种基于仿射密码的高效并行图像加密算法。 1相关理论 1.1 Lorenz混沌系统2本文采用并行加密算法 本文中,仿射加密算法结合了像素位置置换和像素值变换加密,并采用多核计算机的多核并行设计算法。首先,由Lorenz混沌系统生成的伪随机序列为加密过程提供了所需的参数。其次,仿射密码用于扩展和加密像素值。令明文图像像素为:m×n,像素位置为(loci,locj),loci∈[1,m],locj∈[1,n]。等式(1)产生三组长度为m×n的混沌序列X,Y,Z,其由下式表示:{(Xi,Yi,Zi)[i=1,2,] 3,...,m× N}。让多核计算机具有p个处理器核心,记住Pi,i∈{0,2,3,...,p-1}。2.1像素位置平行置换 一组xX,Y,Z,表示为Lrz_perm,用于更改要用新位置(newloci,newlocj)替换的普通像素位置(loci,locj),newloci∈[1,m],Newlocj∈[1, N]。 并行更换步骤: 1)任务部门 通过均匀分区实现多核负载均衡,并且将原始图像划分为[m×np]块,每个块是块1。 Lrz_perm被平均分为p个处理核心,记住Lrz_permi。 2)每个处理核心的并行计算 Pi排序Lrz_permi,订购Lpsortedi; Pi获得新序列的索引位置idxi; 根据索引位置将像素从原始位置移动到新位置,并获得加扰的密文图像块。 2.2仿射密码像素值并行加密 在加扰图像上执行像素值的并行扩散和混淆。公式(2)用于加密256级灰度图像。 2.2.1平??行扩散步骤 1)找到满足gcd(a,256)=1的参数a,并记录A={[ajj=1],2,...,128}。

链家网