首页> 中国专利> 基于ECC和混沌的非对称图像加密方法

基于ECC和混沌的非对称图像加密方法

摘要

一种基于椭圆曲线密码体制(Elliptic Curve Cryptosystem,ECC)和混沌的非对称图像加密方法,属于信息安全领域。目前,多媒体通信技术的快速发展,如何保护图像内容的安全引起了工业界和学术界的共同关注。同时,对称加密算法存在着密钥管理和安全传递困难的问题。本发明提出一种基于ECC和混沌的非对称图像加密方法。该方法是基于Diffie‑Hellman的密钥交换协议而实现。首先,为减少加密次数,发送方将多个像素转化为一个大整数;其次,她用ECC和混沌加密这些大整数;最后,由加密大整数构成加密图像。该方法为非对称加密体制,有效解决了密钥管理和安全传递困难的问题。实验表明:该方法安全、高效和加密效果良好。

著录项

  • 公开/公告号CN109274856A

    专利类型发明专利

  • 公开/公告日2019-01-25

    原文格式PDF

  • 申请/专利权人 中国矿业大学;

    申请/专利号CN201810938005.7

  • 发明设计人 张晓强;王雪松;赵卓影;

    申请日2018-08-17

  • 分类号

  • 代理机构

  • 代理人

  • 地址 221008 江苏省徐州市泉山区中国矿业大学文昌校区东21号1单元102室

  • 入库时间 2024-02-19 07:58:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-12

    授权

    授权

  • 2019-02-26

    实质审查的生效 IPC(主分类):H04N1/32 申请日:20180817

    实质审查的生效

  • 2019-01-25

    公开

    公开

说明书

技术领域

本发明涉及一种信息加密技术,特别是涉及一种图像加密方法。

背景技术

在军事系统、电子政务、金融系统以及日常生活等领域,每天都会产生大量的图像。为保护这些图像信息内容不被窃取,图像加密技术引起了学术界和工业界的广泛关注。研究者已提出多种图像加密方法。然而,这些方法有的已被破译,有的安全性弱,有的效率低,有的密钥传递和管理困难等问题,难以令人满意。

为提高图像加密的安全性和效率,保证图像的安全高效传输,结合椭圆曲线密码体制(Elliptic Curve Cryptosystem,ECC)和混沌理论,设计了一种基于ECC和混沌的非对称图像加密方法。该方法利用了ECC的非对称特性和高安全性,以及混沌的随机性和复杂性,有效地保护了交互图像网络传输和存储的安全性。

发明内容

本发明的目的:针对现有图像加密方法安全性弱或加密效率低等问题,提出一种基于ECC和混沌的非对称图像加密方法。

本发明的技术方案:为实现上述发明目的,采用的技术方案为基于ECC和混沌的非对称图像加密方法,令发送方为Alice,接收方为Bob,Bob密钥产生步骤如下:

步骤K1:选择一条密钥长度为l的椭圆曲线E(Fp),其参数为abp,选择椭圆曲线上的点N作为基点,其周期为T

步骤K2:随机从区间[1,>T-1]中选择一个整数d作为Bob的私钥,计算Q=dN的结果作为Bob的公钥;

步骤K3:公布他的公钥Q和选择的椭圆曲线。

基于ECC和混沌的非对称图像加密方法,Alice的加密步骤如下:

步骤E1:令明文图像I大小为m×n,采用哈希算法SHA-256得I对应的256位哈希值K=k1,k2,>ki,>k32,其中ki为8位,计算公式(1)所示的分段线性混沌映射(PiecewiseLinear>x0=(k1k2⊕…⊕k16)/255和参数q=(k17k18⊕…⊕k32)/510,

,(1)

迭代公式(1)m×n次,产生一个混沌序列X={xi}mn

步骤E2:设计算机的精度为10-16,Alice计算

yi=mod(xi×1016,>

其中,xiX的第i个元素,所有的yi构成一个新的整数混沌序列Y={yi}mn;按照元素位置,将Y转换为一幅大小为m×n混沌图像C

步骤E3:对于灰色图像而言,像素值通常用8位二进制来表示;将l/8个像素值合并成一个大整数,若l=512位,可合并64个像素为一个大整数,第一个大整数为:

b1=I1,1I1,2I1,64,(3)

其中,I1,1I1,2I1,64为像素值的二进制表示;从而,可从明文图像I得到(m×n)/64个大整数{b1,>2,>>(m×n)/64};类似地,可从混沌图像C得到(m×n)/64个混沌大整数{r1,>2,…,>(m×n)/64};

步骤E4:计算:C1(x1,>y1)=uNC2(x2,>y2)=uQ,其中u为从区间[1,>T-1]中随机选择一个大整数;计算:

c1=[(b1×x2)mod>]⊕r1,(4)

ci=bic1rii=2,>m×n)/64,(5)

其中,cii=1, 2,>m×n)/64为加密大整数;Alice按如下方法将PLCM混沌的初始值x0和参数p转化成一个大整数t1

t1=x0×1032+p×1016;(6)

计算:

e2=(t1×y2) mod>p>

其中,e2t1对应的密文;

步骤E5:将每个加密大整数cii=1, 2,>m×n)/64分割成l/8=64等份,并将它们转化成像素值{pi1,>pi2,>pi64};按照像素位置,将这些像素值转化为一幅大小为m×n的加密图像E

步骤E6:发送EC1e2给Bob。

基于ECC和混沌的非对称图像加密方法,Bob的解密步骤如下:

步骤D1:利用Bob的私钥d,计算:C2(x2,>y2)=dC1t2=(e2×y-12)>>,其中y-12y2的逆元,满足(y2×y-12) mod>p=1;计算:q=t2/1016-floor(t2/1016),x0=(t2-q×1016)/1032,其中floor(>m×n次,可产生一个混沌序列X={xi}mn

步骤D2:利用公式(2),可得到一个整数混沌序列Y={yi}mn;按照元素位置,可将Y转换为一幅大小为m×n的混沌图像C

步骤D3:将l/8个像素值转化成一个长度为l的大整数,从而可将加密图像E转化为(m×n)/64个加密大整数{c1,>2,>>(m×n)/64},也可将混沌图像C转化为(m×n)/64个混沌大整数{r1,>2,>>(m×n)/64};

步骤D4:计算:

d1=[(c1r1x-12]mod>p,(8)

di=cic1rii=2,>m×n)/64,(9)

其中,dii=1, 2,>m×n)/64为解密大整数,x-12x2的逆元;

步骤D5:将加密的大整数dii=1, 2,>m×n)/64分割成l/8=64等份,并将它们转化成像素值;按照像素位置,将这些像素值转化为一幅大小为m×n的解密图像D

有益效果:本发明针对现有的图像加密方法安全性差或加密效率低等缺点,提出了一种基于ECC和混沌的非对称图像加密方法。主要贡献有:(1)该方法利用了ECC的高安全性,有效地提高了加密方法的安全性;(2)该方法利用了ECC的非对称特性,有效地解决了密钥传递和管理困难的问题;(3)该方法利用了混沌的随机性和复杂性,提高了图像的加密效果;(4)该方法以大整数为加密对象,减少了加密次数,提高了加密效率。因此,提出的图像加密方法具有高效、安全和加密效果良好的特征,可有效地保护了交互图像网络传输和存储的安全性。

附图说明

图1:基于ECC和混沌的非对称图像加密方法的加密流程图;

图2:基于ECC和混沌的非对称图像加密方法的解密流程图;

图3:原始图像;

图4:混沌图像;

图5:加密图像。

具体实施方式

下面结合具体附图和实例对本发明的实施过程进一步详细说明。

图1 是本方法的加密流程图,图2 是本方法的解密流程图。

采用的编程软件为MyEclipse 2015 CI,选取图3所示的一幅大小为512×512的Lena图像作为原始交互图像。采用本方法,Bob密钥产生步骤如下:

步骤K1:选择一条密钥长度为l=512位的椭圆曲线,其参数为a=62948605579730632276664>b=3245789008328967059274849>p=89489622076502325516566028>N=(67920591>T=8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169。

步骤K2:Bob随机从区间[1,>T-1]中选择一个整数d=195336213603604152096989093>Q=dN=(267676845>

步骤K3:发布公钥Q和选择的椭圆曲线。

采用本方法,Alice对原始交互图像加密的详细过程描述如下:

步骤E1:采用哈希算法SHA-256得原始图像对应的256位的哈希值K=9ae48c65bb78a5c6d0>x0=0.447058823529412>q=0.352941176470588,迭代公式(1)512×512次,产生一个混沌序列X={xi}262144

步骤E2:按照公式(2)计算得到一个整数混沌序列Y={yi}262144;按照元素位置,将Y转换为一幅大小为512×512的混沌图像C,如图4所示。

步骤E3:按照公式(3),将每64个像素合并成一个大整数;可从明文图像得到4096个大整数{b1,>2,>>4096};类似地,也可从混沌图像C得到4096个大整数{r1,>2,>r4096}。

步骤E4:随机选取u=2561327516017725132260502740968651379449854429879179020098896525157759649696160690072530610929043049391824355949228616976929710425474617471582667814911026,计算:C1(x1,>y1)=uNC2(x2,>y2)=uQ;按照公式(4)和(5),对明文对应大数据进行加密操作,得加密大数据cii=1,>x0和参数p转化成一个大整数t1=447058823529412352941176470588。

步骤E5:将加密的大整数cii=1,>l/8=64等份,并将它们转化成像素值{pi1,>pi2,>pi64};按照像素位置,将这些像素值转化为一幅大小为512×512的加密图像E,如图5所示。

步骤E6:发送EC1e2给Bob。

采用本方法,Bob对加密图像的详细解密过程描述如下:

步骤D1:利用Bob的私钥d=195336213603604152096989093281052901489014454978653357>C2(x2,>y2)=dC1t2=(e2×y-12)>>;计算PLCM混沌映射的初始值x0=0.447058823529412>q=0.352941176470588;迭代公式(1)512×512次,产生一个混沌序列X={xi}262144

步骤D2:利用公式(2),可得到一个整数混沌序列Y={yi}262144;按照元素位置,将Y转换为一幅大小为512×512的混沌图像C,如图4所示。

步骤D3:将l/8=64个像素值转化成一个长度为l=512的大整数,从而可将加密图像E转化为4096个加密大整数集{c1,>2,>>4096},也可将混沌图像C转化为4096个混沌大整数集{r1,>2,>>4096}。

步骤D4:按照公式(8)和(9),对加密大整数集{c1,>2,>>4096}进行解密操作,可得解密大整数集{d1,>2,>>4096}。

步骤D5:将加密大整数dii=1,>l/8=64等份,并将它们转化成像素值;按照像素位置,将这些像素值转化为一幅大小为512×512的解密图像D,同图3所示。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号