APP下载

一种基于混沌的公钥加密方案

2019-01-18万彰凯齐国元胡玉庆

信息通信技术 2018年6期
关键词:私钥加密算法公钥

万彰凯 齐国元 胡玉庆

天津工业大学 天津 300387

引言

传统私钥加密运算速度快并且保密强度高,但由于接收端和发送端都使用同一密钥,所以其密钥必须通过安全的途径传输[1-2]。在发送端与接收端距离较远,且又需要经常更换密钥时,互相传递密钥是非常困难的。公开密钥加密[3-6]含有公钥和私钥两套密钥,公钥是公开的,私钥是接收端与发送端基于交换的公钥生成的,其优点是可以适应网络的开放性要求,双方使用的密钥互不相同,密钥管理十分方便。但大多数公钥加密方案算法复杂,加密数据的效率较低。尽管如此,随着现代计算机技术的发展,公钥加密将是一种很有前途的网络安全加密[4]。

目前使用最广泛的传统公钥加密算法是RSA[7-8],此外还有EIGamal算法[9]。它们的安全性都源于数论事实[7-9]。随着计算机技术的快速发展,许多关于RSA的加密方法已经较为容易地被破译[10]。另外,运算效率不高和更换密钥困难一直是RSA算法的缺陷,一般来说只用于少量数据加密[11]。本文提出的基于超混沌的共钥加密方案具有运算效率较高、密钥空间大、密钥位数任意和更换公钥便捷等特点。

混沌系统的许多特性与加密系统的特性比较相似,混沌应用于密码学上,具有保密性强、随机性好、密钥量大和更换密钥方便等优点[12]。目前,基于混沌的公钥加密研究还处于起步阶段,相关报道比较少。2003年,Kocarev[13]利用Chebyshev映射的半群特性,提出了一种基于Chebyshev映射的混沌公钥加密方案。王大虎等[14]等指出该方案由于三角函数的固有周期性,使得攻击者在已知密文的条件下很容易解出明文。2005年,Ranjan[15]提出一种基于多混沌系统的公钥加密算法。王开[16]等提出一种私钥攻击算法,指出Ranjan的公钥算法无法抵抗该攻击,并且表明该攻击算法能有效攻击各种多混沌公钥加密算法。2009年,杨叶[17]在Kocarev的研究基础上提出一种改进的基于有限域Chebyshev多项式的类EIGamal算法,但是其计算效率低于原算法,需要改进。

在选择混沌或超混沌系统生成伪随机序列时需要考虑混沌的特性,包括正的Lyapunov指数值大小、频谱带宽等。Qi超混沌系统[18]相比其他混沌和超混沌系统具有优良的特性,因为它的两个正的Lyapunov指数很大,分别为13和3,频谱带宽是其他混沌和超混沌的20~30倍,因而选用其产生伪随机序列。本文在传统混沌猫映射[19-20]的基础上提出了一种二维超混沌映射算法,使其拥有两个正的Lyapunov指数。并且将伪随机序列与提出的超混沌映射结合为公钥生成算法。继而将生成的密钥作为3DES、AES等对称加密算法的输入密钥进行加密,这样能充分保证密文在传输过程中抵抗穷举攻击和唯密文攻击等常见密码攻击。

1 二维超混沌映射算法

1.1 猫映射

猫映射[19-20]最早是由Arnold[19]提出的,其原始方程为

由于系数矩阵的行列式为1,故传统的猫映射是保面积的一一映射。

图1 猫映射示意图

1.2 一种二维超混沌映射

如果能将本身为混沌的猫映射改进为超混沌映射,将更有利于公钥加密。基于此想法,我们给出了一种超混沌映射,其方程为

该映射的特征值为

传统的混沌猫映射主要用于图像加密,即将图像的像素值带入猫映射进行迭代使得每个像素的原始坐标映射到新坐标,从而加密图像。因此,猫映射必须是满足保面积的一一映射,使明文图像和密文图像之间存在着一一对应的关系,避免了坐标位置的冲突。

提出的超混沌映射是为了更好地与伪随机序列结合,从而形成公钥生成算法,并没有直接加密图像像素点,因此不需要满足保面积映射,因而此时的超混沌映射已不再属于猫映射或其变形。

2 随机序列的产生

Qi超混沌系统[18]描述为

3 混沌公钥加密方案

3.1 密钥序列生成

3.2 公钥加密方案

假设有两个用户Alice和Bob,他们分别通过Qi超混沌系统(混沌初值可以不相同)产生混沌伪随机序列和。为了防止恶意的中间人攻击,他们将计算出来的公钥发布给权威的数字证书第三方机构。然后Alice和Bob分别在该第三方下载带有对方公钥的数字证书。最后使用对方可信的公钥进行加密。具体加密过程如图2所示。

图2 公钥加密过程

3.3 具体计算过程

密钥获得分成两个步骤:1)获得公钥,2)获得私钥。

这个计算过程满足平行四边形法则

图3 私钥平行四边形示意图

3.4 Matlab仿真

图4 (红色“*”)和蓝色“+”)的对比图

图5 (红色“*”)和(蓝色“+”)的对比图

表1 eA和eB的具体数值

表2 eAB和eBA的具体数值

4 安全分析

1)根据攻击者对明文和密文等信息的了解情况,密码攻击大致可以分为唯密文攻击、已知明文攻击、选择明文攻击、选择密文攻击和穷举攻击等方法[22-23]。本文的加密方案最终由对称密码的AES封装,因此对前面4种攻击方式基本可以避免[23]。如果想要应用更高加密标准的场合,可以使用密钥位数更高的256位美国最新加密标准AES-256进行最终的对称加密。

2)中间人攻击,即某恶意攻击的第三方先伪装成Bob将伪公钥交给Alice并与之通信,再伪装成Alice将另一伪公钥交给Bob与之通信,从而实现监听或着篡改通信信息。为了防止这一攻击,Alice和Bob统一将公钥发布在权威的数字证书机构,因此他们各自下载的公钥带有数字签名,因而所使用的公钥是可信的。

4)Qi超混沌系统的参数空间巨大,并且Alice和Bob使用的参数可以不一致,因此想构造参数相同的超混沌系统也十分困难。从伪随机序列生成公钥的过程是不可逆的,即想要从公钥反推出伪随机序列是不可行的。也就是说即使某第三方同时拿到Alice和Bob两人的公钥,也不能推导出他们各自私有的伪随机序列。

5 应用场景

1)网络聊天:对话双方的客户端集成超混沌公钥加密,每发送一段字符串都会通过方案生成包含密文和公钥的数据包,然后将数据包传输给对话的另一方,对方获取了公钥也能通过方案解密密文,从而实现两人或多人安全对话。

2)网络服务器:在服务器端、客户端和Web端等都集成超混沌共钥加密系统。在服务器端上公开公钥,客户端访问数据时拿到公钥并将内容加密,然后传送给服务器,服务器对内容解密。由于只有服务器端存储私钥,这样能有效保护账号密码登陆认证或者各种输入存储操作。

3)适用于各种网络数据传输或者移动设备间的安全认证。

6 结论

虽然混沌公钥加密还处于起步阶段,但由于混沌系统与密码学的相似特性,基于混沌的公钥加密是值得我们研究的。对于互联网安全的研究,除了传统密码学的私钥加密和RSA等公钥加密算法,混沌公钥加密又添加了新的思路。本文将超混沌系统与超混沌映射相结合,提出一种新型公钥加密方案,并可用FPGA技术将其实现,其运行速度可观,可用于图像和数据块加密。

在本方案的基础上,今后还需对以下内容进行学习和进一步实验分析:1)该公钥加密方案与常见的公钥加密技术的不同应用场景下的性能对比分析;2)该公钥加密方案的安全性在数学上的详细证明过程。

猜你喜欢

私钥加密算法公钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
基于DES加密算法的改进研究
案例教学法在公钥密码体制难点教学中的应用——以ssh服务中双向认证为例
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
基于整数矩阵乘法的图像加密算法
神奇的公钥密码
一种基于虚拟私钥的OpenSSL与CSP交互方案
国密SM2密码算法的C语言实现
混沌参数调制下RSA数据加密算法研究