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

申请公布号:
CN103427979B
申请号:
CN201310230863.3
申请日期:
2013.06.09
申请公布日期:
2016.12.28
申请人:
浙江工业大学
发明人:
陈铁明;诸伟
分类号:
H04L9/00(2006.01)I;H04L29/08(2006.01)I
主分类号:
H04L9/00(2006.01)I
代理机构:
杭州天正专利事务所有限公司 33201
代理人:
王兵;黄美娟
地址:
310014 浙江省杭州市下城区潮王路18号
摘要:
本发明提出一种支持混沌密钥自动生成的、对互联网用户操作完全透明的混沌数字图像加密传输解决方案。浏览器客户端根据互联网合法用户输入的用户名和口令Hash值等信息,利用JavaScript程序自动映射计算获取两个关键的Logistic混沌密钥参数,实现对用户待上传图片的安全透明加密与传输;服务器端则可根据登录用户名查询用户数据库获得该用户口令的Hash值,获得相同的混沌随机序列,最终即可解密用户上传的加密图片。反之,当用户合法登录后请求服务器图片时,JavaScript程序可在浏览器端自动运行混沌密钥参数计算和混沌解密操作。本方案可有效解决互联网图片传输的安全性、加密效率、密钥管理等之间的平衡问题。
主权项:
一种基于混沌加密的互联网图片安全透明传输方法,主要包括如下步骤:(1)Web注册用户输入用户名(username)和口令(password)安全登录Web服务器;JavaScript脚本在浏览器客户端计算获得username+SHA1(password),这里的+表示两个字符串的串联,SHA1(password)表示采用公知的Hash算法SHA1对password实施计算的Hash值,而服务器也可通过用户数据库获得该用户的username和SHA1(password);(2)当用户合法登录以后需上传图片时,浏览器JavaScript程序自动将username+SHA1(password)通过Hash函数运算方式映射成为Logistic混沌映射的控制参数c和混沌迭代初值X<sub>0</sub>,即通常所说的混沌密钥参数;具体步骤如下:(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和混沌迭代初值X<sub>0</sub>,(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值,并通过步骤(2)所述的方式计算获得Logistic混沌映射的密钥参数,再基于Logistic混沌随机密钥流实施对图片的混沌加密,客户端由JavaScript程序通过同样的方式产生同样的Logistic混沌随机密钥流,最终为用户自动解密图片,所有解密运算对用户来说完全透明。
专利推荐
移动版 | 电脑版 | 返回顶部