CN103427979A - 一种基于混沌加密的互联网图片透明安全传输方法 - Google Patents

一种基于混沌加密的互联网图片透明安全传输方法 Download PDF

Info

Publication number
CN103427979A
CN103427979A CN2013102308633A CN201310230863A CN103427979A CN 103427979 A CN103427979 A CN 103427979A CN 2013102308633 A CN2013102308633 A CN 2013102308633A CN 201310230863 A CN201310230863 A CN 201310230863A CN 103427979 A CN103427979 A CN 103427979A
Authority
CN
China
Prior art keywords
value
chaos
encryption
byte
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013102308633A
Other languages
English (en)
Other versions
CN103427979B (zh
Inventor
陈铁明
诸伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201310230863.3A priority Critical patent/CN103427979B/zh
Publication of CN103427979A publication Critical patent/CN103427979A/zh
Application granted granted Critical
Publication of CN103427979B publication Critical patent/CN103427979B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种基于混沌加密的互联网图片透明安全传输方法。本发明提出一种支持混沌密钥自动生成的、对互联网用户操作完全透明的混沌数字图像加密传输解决方案。浏览器客户端根据互联网合法用户输入的用户名和口令Hash值等信息,利用JavaScript程序自动映射计算获取两个关键的Logistic混沌密钥参数,实现对用户待上传图片的安全透明加密与传输;服务器端则可根据登录用户名查询用户数据库获得该用户口令的Hash值,获得相同的混沌随机序列,最终即可解密用户上传的加密图片。反之,当用户合法登录后请求服务器图片时,JavaScript程序可在浏览器端自动运行混沌密钥参数计算和混沌解密操作。本方案可有效解决互联网图片传输的安全性、加密效率、密钥管理等之间的平衡问题。

Description

一种基于混沌加密的互联网图片透明安全传输方法
(一)技术领域
本发明属于图像加密和互联网安全通信技术领域。
(二)技术背景
随着互联网的日益完善,越来越多传统的业务都移植到基于互联网的电子实现,大量的信息内容都以网络为媒介来传输,传输的信息包括简单的文本数据,也包括声音、图片和视频等多媒体数据。特别地,对于个人隐私照片、商业图纸、军用图像数据库等电子图像数据,通过互联网存储和传输的可靠性和安全性至关重要。
安全加密是保证图片在传输过程中不被恶意截获、修改的关键技术。当前,对于数字图像的保密传输,主要有三种解决方案:一种是直接使用基于数字证书的SSL通用安全协议,对通信的数据通道加密,即使遭到攻击者窃听,攻击者也只能获得密文;第二种是使用基于对称加密的的图像保密方案,使用一个相同的密钥来完成图像文件的加密和解密;第三种则使用基于非传统的混沌加密技术来实现图像文件的保密传输。
基于SSL协议的方案采用高强度的RSA公钥算法,例如互联网常用的HTTPS即采用SSL协议,它是目前一种较常用的网络协议加密方案,但存在公钥证书的管理繁琐、成本高、效率低等不足,且面临中间人攻击等黑客攻击考验;采用对称加密的图像保密方案的优点是计算量较小、加密效率高,但是通信双方必须使用相同的密钥完成加密和解密,密钥管理面临难题,尤其是网络用户数量增加时对称密钥的分配面临更严重的效率和安全问题;基于混沌的加密技术可以构建具有混沌特性的伪随机字节流,将其应用于数字图像的灰度值替代进而实现加密传输,具有加密计算代价小、安全强度高等特点,但当前数字图像的混沌加密技术研究大多聚焦在加密算法的创新,而尚未出现面向互联网图片安全加密的有效的混沌映射参数协商等混沌密钥管理应用解决方案。
本发明提出一种支持混沌密钥参数管理的、对用户操作透明的随机混沌流密码方案,可应用于互联网数字图像的高效加密和安全传输,且合法用户无需额外的操作,只需用户登录后点击图片上传即可完成图片的自动加密,可以有效保障数字图像存储传输的可靠性和安全性。
(三)发明内容
为了克服现有技术安全性不高、运算效率差、密钥管理复杂等缺点,本发明给出一种互联网环境下对合法登录用户完全透明的数字图像混沌加密安全传输方法。
本发明的技术方案如下:
一种基于混沌加密的互联网图片安全透明传输方法,主要包括如下步骤:
(1)Web注册用户输入用户名(username)和口令(password)安全登录Web服务器;JavaScript脚本在浏览器客户端计算获得username+SHA1(password),这里的+表示两个字符串的串联,例如”ab”+”cd”即”abcd”,SHA1(password)表示采用公知的Hash算法SHA1对password实施计算的Hash值,而服务器也可通过用户数据库获得该用户的userame和SHA1(password);
(2)当用户合法登录以后需上传图片时,浏览器JavaScript程序自动将username+SHA1(password)通过Hash函数等运算方式映射成为Logistic混沌映射的控制参数c和混沌迭代初值X0(即通常所说的混沌密钥参数);具体步骤如下:
(2.1)计算用户名及其口令Hash值的Hash值,得到字节数组inputsha1=SHA1(userName+SHA1(password)),
(2.2)将20个字节的inputsha1映射成8个字节的byteArray。具体地,将20个字节的inputsha1先分成left-1和right-1两段各10个字节,计算left-1和right-1两个10字节相异或的值仍可得到10个字节的输出array-1,再将array-1的首部填充6个字节的0x00,扩展成16个字节的array-2,继续将16个字节的array-2先分成left-2和right-2两段各8个字节,计算left-2和right-2两个8字节相异或的值最后得到8个字节的输出byteArray,
(2.3)使用byteArray得到占相同存储空间的无符号64位整数,整数除以0xFFFFFFFFFFFF(无符号64位整数能表示的最大值)得到小数floatNum∈[0,1],
(2.4)字符串通常有两种编码方式:ANSI和Unicode,相同的字符串在两种编码方式下计算得到的消息Hash值是不同的,即上述步骤(2.3)可以分别得到两个取值范围在[0,1]的不同小数floatNum1和floatNum2,计算3.7+0.3*floatNum1和0.3+0.6*floatNum2的值即可作为控制参数c和状态初值X0
(3)用户利用上述步骤(2)所述的混沌序列产生的随机密钥序列,对上传的图片实施灰度值加密;这里所述的基于混沌的数字图像灰度值加密,是把过滤头信息以后的图像文件看成比特流来进行处理,具体的处理步骤如下:
(3.1)打开图像文件并过滤它的头信息;
(3.2)从图像文件中读入一位的图像比特值d;
(3.3)由混沌的小数序列得到一位混沌比特值h;
(3.4)通过异或运算:r=d XOR h,获得加密后的比特值r;
(3.5)将r写入加密后的图像文件中。
(4)服务器接收到加密的图片时,可利用与上述步骤(1)、(2)、(3)所述的客户端同样的操作将相同的username+SHA1(password)映射成为Logistic混沌密钥参数,再利用该Logistic产生的同样的混沌密钥流解密获得原始图片。
在本发明方案中,混沌解密过程与混沌加密过程完全一致,下面给出图像文件解密的步骤:
(4.1)打开加密的图像文件并过滤它的头信息;
(4.2)从图像文件中读入一位的图像比特值r;
(4.3)由混沌的小数序列得到一位混沌比特值h;
(4.4)通过异或运算:d=r XOR h,获得解密后的比特值d;
(4.5)将d写入解密后的图像文件中。
(5)当用户合法登录后,请求服务器上的图片时,类似上述步骤(1)-(4)所述的方法,由服务器先获得登录用户的用户名及其口令的Hash值,并通过权利要求1中步骤(2)所述的方式计算获得Logistic混沌映射的密钥参数,再基于Logistic混沌随机密钥流实施对图片的混沌加密,客户端由JavaScript程序通过同样的方式产生同样的Logistic混沌随机密钥流,最终为用户自动解密图片,所有解密运算对用户来说完全透明。
进一步,步骤(3)所述的加密处理通常以字节为单位,因此把图像文件看成字节流来处理可提高效率:每个字节包含8个比特,因此一个混沌字节值由8次混沌迭代的结果来确定,该字节中的每一位二进制值通过如下方式确定: chaosByte [ i ] = 0 , X i ∈ ( 0,0.5 ] 1 , X i ∈ ( 0.5,1 ) ,i∈{0,1,...,7},即迭代值不大于0.5时取0,大于0.5时取1;得到混沌字节值chaosByte以后,再和对应的原始图像字节值进行异或运算,每一位的加密按上述步骤(3.4)所述的运算方式,得到加密后的字节值输出到新文件,处理结束后的新文件即是加密后的图像。
进一步,上述步骤(4)所述的解密,若加密时采用的是上述步骤(3)中所述的基于混沌字节值chaosByte的操作,那么服务器通过同样的方式获得chaosByte混沌字节流后,对密文图像字节值进行异或运算,每一位的解密按上述步骤(4.4)所述的运算方式,得到解密后的字节值输出到新文件,处理结束后的新文件即是加密前的原始图片。
本发明的主要工作原理:在当前的互联网应用中,为了保护用户口令安全,服务器一般不直接明文存储用户口令,而是采用传统的安全Hash算法(例如SHA1)计算用户口令的Hash值后安全存储在用户数据库中。因此,当用户通过Web浏览器端登录时,可通过JavaScript脚本在浏览器客户端计算获得username+SHA1(password),而服务器也可通过用户数据库获得与此相同的信息。当用户合法登录以后需上传图片时,浏览器JavaScript程序自动将username+SHA1(password)通过Hash运算等映射为Logistic混沌映射的控制参数c和状态初值X0(即通常所说的混沌密钥),并利用该混沌序列产生的随机密钥序列,对上传的图片实施灰度值加密;服务器接收到加密的图片时,可利用同样的操作将相同的username+SHA1(password)映射成为混沌密钥,再利用同样的混沌密钥流解密获得原始图片。同样,当用户登录后请求服务器图片时,服务器端使用上述的混沌加密方法加密图片,用户接收完成以后,浏览器JavaScript自动启动混沌解密模块获得原始图片。具体的流程示意如图1所示。
进一步,步骤(2.4)所述的Logistic混沌密钥参数的计算方法,所依据的技术原理阐述如下:
首先给出本发明采用的Logistic混沌映射公式:
Xn+1=c*Xn*(1-Xn)
式中Xn表示混沌迭代值序列,一个浮点数对<控制参数c,状态初值X0>(要求c∈(0,4),X0∈(0,1))作为输入,可以迭代得到任意长度的浮点数序列,序列有良好的伪随机性,且序列中每个迭代值Xn∈(0,1)。
在Matlab下进行仿真实验发现,当c∈[3.7,4]之间时,状态值序列有较好的扩散性,结果如图4所示。
这里选定混沌映射的状态初值X0=0.6,选取不同的控制参数c(c从0.1取到4,步长0.001)进行迭代。忽略前200次初值敏感的状态值以放大雪崩效应,将不同控制参数下的4000次迭代状态值画到对应坐标上。可以发现,当c∈[3.7,4]特别是接近4的时候,4000次迭代的状态值遍布[0,1]区间,有较好的随机性和扩散性。这可以作为我们选定Logistic混沌映射控制参数c的依据。
相对来说,状态初值X0对于迭代状态值的混沌特性影响不是很大,一般认为X0取[0.3,0.9]间的小数即可。实验结果也表明,混沌映射迭代得到的状态值对初值极端敏感,而且序列有良好的伪随机性。
因此,本发明内容(2.4)所述的两个取值范围在[0,1]的不同小数floatNum1和floatNum2,计算3.7+0.3*floatNum1和0.3+0.6*floatNum2即可作为控制参数c和状态初值X0,可确保c∈[3.7,4]和X0∈[0.3,0.9]成立。
进一步,本发明内容(4)中所述的混沌加密方法,所依据的技术原理阐述如下:
不同于文本信息,数字图像的信息数据量大,相邻像素的相关性较大,不能简单直接地采用普通文本加密的方法。数字图像的加密主要通过像素位置置乱、像素灰度值替代以及两种方案的组合来实现。像素是数字图像的最小单位,一副数字图像是由若干个像素值组成的。在存储形式上,数字图像中的像素通常以二维数组的形式存储,二维数组中每个元素所在的行和列也就是该像素的下标值。像素位置置乱是指通过置乱函数的变换,二维数组的图像像素的位置发生变化,从而在视觉上影响图像的可辨识性。主要的位置置乱方法有Arnold映射、Baker映射和Magic映射三种,它们都是初等矩阵变换。有效的置乱方法只改变像素所在的位置,不会造成置乱后像素元素的重叠以致丢失一部分像素。通常置乱变换可以进行不止一次的矩阵变换,以完全打乱图像像素的排列位置,使它从视觉上看起来杂乱无章无法辨识。针对不同的置乱方法,置乱以后的图像可以通过相应的策略还原来解密。像素位置置乱可以从视觉上改变图像的可见性,但却并不改变像素的统计分布,攻击者可能通过一定的统计分析,获取加密图像的一些基本信息,进而解密图片。像素灰度值替代则有效改进了这一不足,通过构造混沌映射函数,可以得到任意长的伪随机小数序列。序列具有良好的伪随机性、相关性和复杂性,且难以通过分析预测得到。小数序列通过映射可以得到高度随机的字节流,使用随机字节流对数字图像进行灰度值替代,处理后的图像像素统计特性趋于均匀,具备良好的抗统计攻击能力。序列具备良好统计性能的同时,对输入的密钥参数高度依赖,即可以使用密钥再次生成相同的序列用于解密。
本发明的优点是:(1)加密安全性高。混沌系统对输入的密钥依赖非常敏感,能够生成大量具有良好类随机性,应用于数字图像加密实现了良好的抗统计攻击能力。在本发明方案中,由于不同的用户拥有不同的用户名和口令,因此不同的用户将具有不同的混沌初始密钥,且双重的Hash运算可更好地抵抗Hash暴力攻击,保障了不同用户之间的混沌加密安全性。
(2)算法轻量易于实现。整个加密方案流程清晰,主要算法可快速实现,混沌加密只使用简单的异或操作,时间耗费主要在混沌随机密钥流的生成,可通过JavaScript脚本程序在浏览器端高效运行。
(3)适用性和移植性强。与HTTPS安全协议和目前标准的AES分组对称加密等方案相比,本方案更适合互联网图片的加密传输,流程设计简单,对内存依赖小、对设备运算能力要求低、算法移植性好。
(4)对用户操作完全透明。加密/解密操作可通过JavaScript等脚本内嵌在用户浏览器上传和查看文件的操作中,且混沌加密参数由系统根据用户登录名和口令自动计算,实现一种混沌密钥自动管理机制,并在简化使用的同时不失方案的可靠性和加密的安全性。
(五)发明附图
附图1是本发明提出的基于混沌加密的互联网图片安全透明传输方法的基本流程;
附图2是本发明提出的将20个字节的Hash值inputsha1(Hash算法为SHA1)映射成8个字节的数组byteArray的运算过程;
图3是本发明在X0=0.6时选取不同控制参数c的4000次迭代实验状态量分布示意图。
附图4是本发明提出的基于混沌字节流实现的加密前后的图片效果图和图片灰度值统计分布比较。
(六)具体实施方式
参照附图:
本发明的技术方案如下:
一种基于混沌加密的互联网图片安全透明传输方法,主要包括如下步骤:
(1)Web注册用户输入用户名(username)和口令(password)安全登录Web服务器;JavaScript脚本在浏览器客户端计算获得username+SHA1(password),这里的+表示两个字符串的串联,例如”ab”+”cd”即”abcd”,SHA1(password)表示采用公知的Hash算法SHA1对password实施计算的Hash值,而服务器也可通过用户数据库获得该用户的userame和SHA1(password);
(2)当用户合法登录以后需上传图片时,浏览器JavaScript程序自动将username+SHA1(password)通过Hash函数等运算方式映射成为Logistic混沌映射的控制参数c和混沌迭代初值X0(即通常所说的混沌密钥参数);具体步骤如下:
(2.1)计算用户名及其口令Hash值的Hash值,得到字节数组inputsha1=SHA1(userName+SHA1(password)),
(2.2)将20个字节的inputsha1映射成8个字节的byteArray。具体地,将20个字节的inputsha1先分成left-1和right-1两段各10个字节,计算left-1和right-1两个10字节相异或的值仍可得到10个字节的输出array-1,再将array-1的首部填充6个字节的0x00,扩展成16个字节的array-2,继续将16个字节的array-2先分成left-2和right-2两段各8个字节,计算left-2和right-2两个8字节相异或的值最后得到8个字节的输出byteArray,
(2.3)使用byteArray得到占相同存储空间的无符号64位整数,整数除以0xFFFFFFFFFFFF(无符号64位整数能表示的最大值)得到小数floatNum∈[0,1],
(2.4)字符串通常有两种编码方式:ANSI和Unicode,相同的字符串在两种编码方式下计算得到的消息Hash值是不同的,即上述步骤(2.3)可以分别得到两个取值范围在[0,1]的不同小数floatNum1和floatNum2,计算3.7+0.3*floatNum1和0.3+0.6*floatNum2即可作为控制参数c和状态初值X0
(3)用户利用上述步骤(2)所述的混沌序列产生的随机密钥序列,对上传的图片实施灰度值加密;这里所述的基于混沌的数字图像灰度值加密,是把过滤头信息以后的图像文件看成比特流来进行处理,具体的处理步骤如下:
(3.1)打开图像文件并过滤它的头信息;
(3.2)从图像文件中读入一位的图像比特值d;
(3.3)由混沌的小数序列得到一位混沌比特值h;
(3.4)通过异或运算:r=d XOR h,获得加密后的比特值r;
(3.5)将r写入加密后的图像文件中。
(4)服务器接收到加密的图片时,可利用与上述步骤(1)、(2)、(3)所述的客户端同样的操作将相同的username+SHA1(password)映射成为Logistic混沌密钥参数,再利用该Logistic产生的同样的混沌密钥流解密获得原始图片。
在本发明方案中,混沌解密过程与混沌加密过程完全一致,下面给出图像文件解密的步骤:
(4.1)打开加密的图像文件并过滤它的头信息;
(4.2)从图像文件中读入一位的图像比特值r;
(4.3)由混沌的小数序列得到一位混沌比特值h;
(4.4)通过异或运算:d=r XOR h,获得解密后的比特值d;
(4.5)将d写入解密后的图像文件中。
(5)当用户合法登录后,请求服务器上的图片时,类似上述步骤(1)-(4)所述的方法,由服务器先获得登录用户的用户名及其口令的Hash值,并通过权利要求1中步骤(2)所述的方式计算获得Logistic混沌映射的密钥参数,再基于Logistic混沌随机密钥流实施对图片的混沌加密,客户端由JavaScript程序通过同样的方式产生同样的Logistic混沌随机密钥流,最终为用户自动解密图片,所有解密运算对用户来说完全透明。
进一步,步骤(3)所述的加密处理通常以字节为单位,因此把图像文件看成字节流来处理可提高效率:每个字节包含8个比特,因此一个混沌字节值由8次混沌迭代的结果来确定,该字节中的每一位二进制值通过如下方式确定: chaosByte [ i ] = 0 , X i &Element; ( 0,0.5 ] 1 , X i &Element; ( 0.5,1 ) , i∈{0,1,...,7},即迭代值不大于0.5时取0,大于0.5时取1;得到混沌字节值chaosByte以后,再和对应的原始图像字节值进行异或运算,每一位的加密按上述步骤(3.4)所述的运算方式,得到加密后的字节值输出到新文件,处理结束后的新文件即是加密后的图像。
进一步,上述步骤(4)所述的解密,若加密时采用的是上述步骤(3)中所述的基于混沌字节值chaosByte的操作,那么服务器通过同样的方式获得chaosByte混沌字节流后,对密文图像字节值进行异或运算,每一位的解密按上述步骤(4.4)所述的运算方式,得到解密后的字节值输出到新文件,处理结束后的新文件即是加密前的原始图片。
本发明的主要工作原理:在当前的互联网应用中,为了保护用户口令安全,服务器一般不直接明文存储用户口令,而是采用传统的安全Hash算法(例如SHA1)计算用户口令的Hash值后安全存储在用户数据库中。因此,当用户通过Web浏览器端登录时,可通过JavaScript脚本在浏览器客户端计算获得username+SHA1(password),而服务器也可通过用户数据库获得与此相同的信息。当用户合法登录以后需上传图片时,浏览器JavaScript程序自动将username+SHA1(password)通过Hash运算等映射为Logistic混沌映射的控制参数c和状态初值X0(即通常所说的混沌密钥),并利用该混沌序列产生的随机密钥序列,对上传的图片实施灰度值加密;服务器接收到加密的图片时,可利用同样的操作将相同的username+SHA1(password)映射成为混沌密钥,再利用同样的混沌密钥流解密获得原始图片。同样,当用户登录后请求服务器图片时,服务器端使用上述的混沌加密方法加密图片,用户接收完成以后,浏览器JavaScript自动启动混沌解密模块获得原始图片。具体的流程示意如图1所示。
进一步,步骤(2.4)所述的Logistic混沌密钥参数的计算方法,所依据的技术原理阐述如下:
首先给出本发明采用的Logistic混沌映射公式:
Xn+1=c*Xn*(1-Xn)
一个浮点数对<控制参数c,状态初值X0>(要求c∈(0,4),X0∈(0,1))作为输入,可以迭代得到任意长度的浮点数序列,序列有良好的伪随机性,且序列中每个元素Xi∈(0,1)。
在Matlab下进行仿真实验发现,当c∈[3.7,4]之间时,状态值序列有较好的扩散性,结果如图3所示。
这里选定混沌映射的状态初值X0=0.6,选取不同的控制参数c(c从0.1取到4,步长0.001)进行迭代。忽略前200次初值敏感的状态值以放大雪崩效应,将不同控制参数下的4000次迭代状态值画到对应坐标上。可以发现,当c∈[3.7,4]特别是接近4的时候,4000次迭代的状态值遍布[0,1]区间,有较好的随机性和扩散性。这可以作为我们选定Logistic混沌映射控制参数c的依据。
相对来说,状态初值X0对于迭代状态值的混沌特性影响不是很大,一般认为X0取[0.3,0.9]间的小数即可。实验结果也表明,混沌映射迭代得到的状态值对初值极端敏感,而且序列有良好的伪随机性。
因此,本发明内容(2.4)所述的两个取值范围在[0,1]的不同小数floatNum1和floatNum2,计算3.7+0.3*floatNum1和0.3+0.6*floatNum2即可作为控制参数c和状态初值X0,可确保c∈[3.7,4]和X0∈[0.3,0.9]成立。
进一步,本发明内容(4)中所述的混沌加密方法,所依据的技术原理阐述如下:
不同于文本信息,数字图像的信息数据量大,相邻像素的相关性较大,不能简单直接地采用普通文本加密的方法。数字图像的加密主要通过像素位置置乱、像素灰度值替代以及两种方案的组合来实现。像素是数字图像的最小单位,一副数字图像是由若干个像素值组成的。在存储形式上,数字图像中的像素通常以二维数组的形式存储,二维数组中每个元素所在的行和列也就是该像素的下标值。像素位置置乱是指通过置乱函数的变换,二维数组的图像像素的位置发生变化,从而在视觉上影响图像的可辨识性。主要的位置置乱方法有Arnold映射、Baker映射和Magic映射三种,它们都是初等矩阵变换。有效的置乱方法只改变像素所在的位置,不会造成置乱后像素元素的重叠以致丢失一部分像素。通常置乱变换可以进行不止一次的矩阵变换,以完全打乱图像像素的排列位置,使它从视觉上看起来杂乱无章无法辨识。针对不同的置乱方法,置乱以后的图像可以通过相应的策略还原来解密。像素位置置乱可以从视觉上改变图像的可见性,但却并不改变像素的统计分布,攻击者可能通过一定的统计分析,获取加密图像的一些基本信息,进而解密图片。像素灰度值替代则有效改进了这一不足,通过构造混沌映射函数,可以得到任意长的伪随机小数序列。序列具有良好的伪随机性、相关性和复杂性,且难以通过分析预测得到。小数序列通过映射可以得到高度随机的字节流,使用随机字节流对数字图像进行灰度值替代,处理后的图像像素统计特性趋于均匀,具备良好的抗统计攻击能力。序列具备良好统计性能的同时,对输入的密钥参数高度依赖,即可以使用密钥再次生成相同的序列用于解密。
下面给出一个示例说明,利用本发明内容(4)所述的混沌字节流加密方法,对图片实施加密前后的效果图和灰度值统计分布情况如图4所示。

Claims (3)

1.一种基于混沌加密的互联网图片安全透明传输方法,主要包括如下步骤:
(1)Web注册用户输入用户名(username)和口令(password)安全登录Web服务器;JavaScript脚本在浏览器客户端计算获得username+SHA1(password),这里的+表示两个字符串的串联,例如”ab”+”cd”即”abcd”,SHA1(password)表示采用公知的Hash算法SHA1对password实施计算的Hash值,而服务器也可通过用户数据库获得该用户的userame和SHA1(password);
(2)当用户合法登录以后需上传图片时,浏览器JavaScript程序自动将username+SHA1(password)通过Hash函数等运算方式映射成为Logistic混沌映射的控制参数c和混沌迭代初值X0(即通常所说的混沌密钥参数);具体步骤如下:
(2.1)计算用户名及其口令Hash值的Hash值,得到字节数组inputsha1=SHA1(userName+SHA1(password)),
(2.2)将20个字节的inputsha1映射成8个字节的byteArray。具体地,将20个字节的inputsha1先分成left-1和right-1两段各10个字节,计算left-1和right-1两个10字节相异或的值仍可得到10个字节的输出array-1,再将array-1的首部填充6个字节的0x00,扩展成16个字节的array-2,继续将16个字节的array-2先分成left-2和right-2两段各8个字节,计算left-2和right-2两个8字节相异或的值最后得到8个字节的输出byteArray,
(2.3)使用byteArray得到占相同存储空间的无符号64位整数,整数除以0xFFFFFFFFFFFF(无符号64位整数能表示的最大值)得到小数floatNum∈[0,1],
(2.4)字符串通常有两种编码方式:ANSI和Unicode,相同的字符串在两种编码方式下计算得到的消息Hash值是不同的,即上述步骤(2.3)可以分别得到两个取值范围在[0,1]的不同小数floatNum1和floatNum2,计算3.7+0.3*floatNum1和0.3+0.6*floatNum2的值即可作为控制参数c和状态初值X0
(3)用户利用上述步骤(2)所述的混沌序列产生的随机密钥序列,对上传的图片实施灰度值加密;这里所述的基于混沌的数字图像灰度值加密,是把过滤头信息以后的图像文件看成比特流来进行处理,具体的处理步骤如下:
(3.1)打开图像文件并过滤它的头信息;
(3.2)从图像文件中读入一位的图像比特值d;
(3.3)由混沌的小数序列得到一位混沌比特值h;
(3.4)通过异或运算:r=d XOR h,获得加密后的比特值r;
(3.5)将r写入加密后的图像文件中。
(4)服务器接收到加密的图片时,可利用与上述步骤(1)、(2)、(3)所述的客户端同样的操作将相同的username+SHA1(password)映射成为Logistic混沌密钥参数,再利用该Logistic产生的同样的混沌密钥流解密获得原始图片。
在本发明方案中,混沌解密过程与混沌加密过程完全一致,下面给出图像文件解密的步骤:
(4.1)打开加密的图像文件并过滤它的头信息;
(4.2)从图像文件中读入一位的图像比特值r;
(4.3)由混沌的小数序列得到一位混沌比特值h;
(4.4)通过异或运算:d=r XOR h,获得解密后的比特值d;
(4.5)将d写入解密后的图像文件中。
(5)当用户合法登录后,请求服务器上的图片时,类似上述步骤(1)-(4)所述的方法,由服务器先获得登录用户的用户名及其口令的Hash值,并通过权利要求1中步骤(2)所述的方式计算获得Logistic混沌映射的密钥参数,再基于Logistic混沌随机密钥流实施对图片的混沌加密,客户端由JavaScript程序通过同样的方式产生同样的Logistic混沌随机密钥流,最终为用户自动解密图片,所有解密运算对用户来说完全透明。
2.如权利要求1所述的方法,其特征在于:步骤(3)所述的加密处理通常以字节为单位,因此把图像文件看成字节流可获得更高的效率:每个字节包含8个比特,因此一个混沌字节值由8次混沌迭代的结果来确定,该字节中的每一位二进制值通过如下方式确定: chaosByte [ i ] = 0 , X i &Element; ( 0,0.5 ] 1 , X i &Element; ( 0.5,1 ) , i∈{0,1,...,7},即迭代值不大于0.5时取0,大于0.5时取1;得到混沌字节值chaosByte以后,再和对应的原始图像字节值进行异或运算,得到加密后的字节值输出到新文件,处理结束后的新文件即是加密后的图像。
3.如权利要求2所述的方法,其特征在于:步骤4所述的解密,若加密时采用的是步骤(3)中所述的基于混沌字节值chaosByte的操作,那么服务器通过同样的方式获得chaosByte混沌字节流后,对密文图像字节值进行异或运算,得到解密后的字节值输出到新文件,处理结束后的新文件即是加密前的原始图片。
CN201310230863.3A 2013-06-09 2013-06-09 一种基于混沌加密的互联网图片透明安全传输方法 Active CN103427979B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310230863.3A CN103427979B (zh) 2013-06-09 2013-06-09 一种基于混沌加密的互联网图片透明安全传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310230863.3A CN103427979B (zh) 2013-06-09 2013-06-09 一种基于混沌加密的互联网图片透明安全传输方法

Publications (2)

Publication Number Publication Date
CN103427979A true CN103427979A (zh) 2013-12-04
CN103427979B CN103427979B (zh) 2016-12-28

Family

ID=49652195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310230863.3A Active CN103427979B (zh) 2013-06-09 2013-06-09 一种基于混沌加密的互联网图片透明安全传输方法

Country Status (1)

Country Link
CN (1) CN103427979B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320241A (zh) * 2014-07-16 2015-01-28 广东工业大学 基于整数域混沌的视频保密通信方法
CN104735652A (zh) * 2015-03-30 2015-06-24 东北大学 一种适用于无线传感器网络的混沌加密方法
CN105263136A (zh) * 2015-09-01 2016-01-20 成都汇合乾元科技有限公司 一种信息加密方法及终端
CN105991559A (zh) * 2015-02-05 2016-10-05 同济大学 一种基于图像加密技术的用户安全登陆方法
CN106228076A (zh) * 2016-07-25 2016-12-14 武汉大学 一种基于sgx的图片验证码保护方法及系统
CN103873226B (zh) * 2014-04-02 2017-03-29 成都西山居互动娱乐科技有限公司 针对用户密码的随机混淆方法
CN107040365A (zh) * 2017-03-31 2017-08-11 武汉斗鱼网络科技有限公司 一种在Flash中对图片资源进行加密保护的方法及装置
CN107085689A (zh) * 2017-03-31 2017-08-22 武汉斗鱼网络科技有限公司 一种在Flash中对图片资源进行加密保护的方法及装置
CN107181566A (zh) * 2017-05-10 2017-09-19 桂林电子科技大学 一种面向高速移动通信的混沌交织算法
CN109412796A (zh) * 2018-11-01 2019-03-01 广东粤迪厚创科技发展有限公司 一种投影通讯方法
CN109660695A (zh) * 2018-12-06 2019-04-19 广西师范大学 一种基于遗传模拟退火算法和混沌映射的彩色图像加密方法
CN109858588A (zh) * 2019-01-08 2019-06-07 哈尔滨理工大学 一种基于混沌映射的二维码并行生成方法
CN109886789A (zh) * 2019-03-05 2019-06-14 南京铁道职业技术学院 一种用于电子商务的商品销售系统及方法
CN113343609A (zh) * 2021-06-21 2021-09-03 中国人民解放军陆军炮兵防空兵学院 基于可公开的混沌流密码加密的通信保密电路设计方法
CN113722746A (zh) * 2021-10-29 2021-11-30 广东安恒电力科技有限公司 电缆施工图纸的混沌加密方法及系统
CN113806756A (zh) * 2020-06-16 2021-12-17 北京龙腾融智信息技术有限公司 磁盘数据加密方法、解密方法、装置、设备和存储介质
CN113935345A (zh) * 2021-10-12 2022-01-14 南通大学 一种基于字符串转图片加密的商品防伪码批量生成方法
CN115622795A (zh) * 2022-11-15 2023-01-17 青岛以萨数据技术有限公司 基于混沌加密算法的文件加密方法、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109298938A (zh) * 2018-09-21 2019-02-01 华南理工大学 基于异或运算和混沌的不可信云中心批量资源分享方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1738235A (zh) * 2005-09-12 2006-02-22 西安交通大学 基于混沌特性的图像防伪方法
CN102263636A (zh) * 2011-05-24 2011-11-30 浙江工业大学 一种融合神经网络与混沌映射的流密码密钥控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1738235A (zh) * 2005-09-12 2006-02-22 西安交通大学 基于混沌特性的图像防伪方法
CN102263636A (zh) * 2011-05-24 2011-11-30 浙江工业大学 一种融合神经网络与混沌映射的流密码密钥控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
曹美君: "基于混沌理论的网络视频文件加密算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
顾勤龙,姚明海: "基于Logistic混沌序列的数字图像加密研究", 《计算机工程与应用》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873226B (zh) * 2014-04-02 2017-03-29 成都西山居互动娱乐科技有限公司 针对用户密码的随机混淆方法
CN104320241A (zh) * 2014-07-16 2015-01-28 广东工业大学 基于整数域混沌的视频保密通信方法
CN104320241B (zh) * 2014-07-16 2017-09-12 广东工业大学 基于整数域混沌的视频保密通信方法
CN105991559A (zh) * 2015-02-05 2016-10-05 同济大学 一种基于图像加密技术的用户安全登陆方法
CN105991559B (zh) * 2015-02-05 2019-03-01 同济大学 一种基于图像加密技术的用户安全登陆方法
CN104735652A (zh) * 2015-03-30 2015-06-24 东北大学 一种适用于无线传感器网络的混沌加密方法
CN105263136A (zh) * 2015-09-01 2016-01-20 成都汇合乾元科技有限公司 一种信息加密方法及终端
CN106228076B (zh) * 2016-07-25 2018-10-26 武汉大学 一种基于sgx的图片验证码保护方法及系统
CN106228076A (zh) * 2016-07-25 2016-12-14 武汉大学 一种基于sgx的图片验证码保护方法及系统
CN107040365A (zh) * 2017-03-31 2017-08-11 武汉斗鱼网络科技有限公司 一种在Flash中对图片资源进行加密保护的方法及装置
CN107085689A (zh) * 2017-03-31 2017-08-22 武汉斗鱼网络科技有限公司 一种在Flash中对图片资源进行加密保护的方法及装置
CN107085689B (zh) * 2017-03-31 2020-04-10 武汉斗鱼网络科技有限公司 一种在Flash中对图片资源进行加密保护的方法及装置
CN107181566A (zh) * 2017-05-10 2017-09-19 桂林电子科技大学 一种面向高速移动通信的混沌交织算法
CN109412796A (zh) * 2018-11-01 2019-03-01 广东粤迪厚创科技发展有限公司 一种投影通讯方法
CN109412796B (zh) * 2018-11-01 2021-09-24 广东粤迪厚创科技发展有限公司 一种投影通讯方法
CN109660695A (zh) * 2018-12-06 2019-04-19 广西师范大学 一种基于遗传模拟退火算法和混沌映射的彩色图像加密方法
CN109660695B (zh) * 2018-12-06 2020-03-10 广西师范大学 一种基于遗传模拟退火算法和混沌映射的彩色图像加密方法
CN109858588A (zh) * 2019-01-08 2019-06-07 哈尔滨理工大学 一种基于混沌映射的二维码并行生成方法
CN109858588B (zh) * 2019-01-08 2022-10-18 哈尔滨理工大学 一种基于混沌映射的二维码并行生成方法
CN109886789A (zh) * 2019-03-05 2019-06-14 南京铁道职业技术学院 一种用于电子商务的商品销售系统及方法
CN113806756A (zh) * 2020-06-16 2021-12-17 北京龙腾融智信息技术有限公司 磁盘数据加密方法、解密方法、装置、设备和存储介质
CN113343609A (zh) * 2021-06-21 2021-09-03 中国人民解放军陆军炮兵防空兵学院 基于可公开的混沌流密码加密的通信保密电路设计方法
CN113343609B (zh) * 2021-06-21 2023-07-07 中国人民解放军陆军炮兵防空兵学院 基于可公开的混沌流密码加密的通信保密电路设计方法
CN113935345A (zh) * 2021-10-12 2022-01-14 南通大学 一种基于字符串转图片加密的商品防伪码批量生成方法
CN113722746A (zh) * 2021-10-29 2021-11-30 广东安恒电力科技有限公司 电缆施工图纸的混沌加密方法及系统
CN115622795A (zh) * 2022-11-15 2023-01-17 青岛以萨数据技术有限公司 基于混沌加密算法的文件加密方法、电子设备及存储介质
CN115622795B (zh) * 2022-11-15 2023-02-28 青岛以萨数据技术有限公司 基于混沌加密算法的文件加密方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN103427979B (zh) 2016-12-28

Similar Documents

Publication Publication Date Title
CN103427979B (zh) 一种基于混沌加密的互联网图片透明安全传输方法
Zhang et al. Multiple-image encryption algorithm based on DNA encoding and chaotic system
Chandra et al. A comparative survey of symmetric and asymmetric key cryptography
Mathur et al. AES based text encryption using 12 rounds with dynamic key selection
CN102185694A (zh) 基于指纹信息的电子文件加密的方法及其系统
CN103825723A (zh) 一种加密方法和装置
Rajput et al. Towards the growth of image encryption and authentication schemes
Mitra et al. Quantum cryptography: Overview, security issues and future challenges
Thein et al. Comparative performance study on ordinary and chaos image encryption schemes
US8954728B1 (en) Generation of exfiltration-resilient cryptographic keys
CN1881874A (zh) 基于神经网络混沌吸引子的公钥密码加密和解密方法
Shirole et al. Review paper on data security in cloud computing environment
Mehta et al. DieRoll: A unique key generation and encryption technique
KR102304831B1 (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
CN109787773B (zh) 基于私钥池和Elgamal的抗量子计算签密方法和系统
Sinha et al. Network Security Approaches in Distributed Environment
Sandeep et al. A Novel Mechanism for Design and Implementation of Confidentiality in Data for the Internet of Things with DES Technique
Prasad et al. Digital Image Encryption Algorithm Based on Elliptic Curve Public Cryptosystem
Rajput et al. An improved cryptographic technique to encrypt images using extended hill cipher
Alli et al. Three Tier Framework Iris Authentication for Secure Image Storage and Communication
CN109951287B (zh) 基于私钥池的抗量子计算签密方法和系统
Vishnoi et al. Text encryption for lower text size: Design and implementation
Pawar et al. Survey of cryptography techniques for data security
CN114070566B (zh) 一种信息传输的方法、提供方平台、使用方平台和存储介质
Shyamala Chaos based image encryption scheme

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant