一种基于洛伦兹-逻辑映射算法的区块链加密的方法与流程

文档序号:18133800发布日期:2019-07-10 10:27阅读:183来源:国知局
一种基于洛伦兹-逻辑映射算法的区块链加密的方法与流程

本发明属于对区块链数据加密方法技术领域,具体涉及到洛伦兹-逻辑映射(lorenz-logistic)算法。

技术背景

区块链被大多数人认为是一种参与方共同维护的分布式账本,该账本使用密码学保证传输和访问安全。区块链技术对于解决近几年互联网发展伴随的社会在网络安全、金融交易、商品互信流通等物联网与共享经济方面的问题具有一定的价值和意义,这就使得区块链在保证实现在应用和交易的过程中的信息不会被第三方窃取变得尤为重要。在相互之间没有信任的实际情况下,数据的传输面临着网络延时、网络丢包、黑客入侵等各种异常情况,随着区块链技术的逐渐发展,区块链的应用中的各项异常也得到逐渐的改善,各项技术也逐渐成熟。

尽管区块链在底层技术提供了可靠的安全保障,但攻击者仍能从区块链系统中找到漏洞并进行攻击。每年造成的损失十分严重,其损失额度从2017年起呈现指数级增长趋势。在区块链中基于对称算法、非对称算法、哈希函数等密码学机制在区块链中的应用解决了消息防篡改、隐私信息保护、数字资产安全等问题。基于对称算法、非对称算法、哈希函数等密码学机制在区块链中的应用实现了消息防篡改、隐私信息保护、数字资产安全等。但是仍是可以通过窃取私钥威胁用户数字资产安全,再加上ecc、rsa等复杂加密算法本身以及在算法的工程实现过程中都可能存在后门和安全漏洞(来源:中国信息通信研究院、中国通信标准化协会)。随着量子技术的发展,运用量子技术手段可以在极短的时间内破解非对称算法因子分解问题,成为区块链技术面临的典型攻击手段之一。

在近几十年来随着某离散系统在密码学中的价值被逐渐发现,针对离散系统与连续系统结合的混沌系统动力学特性分析,提出了离散混沌序列控制连续混沌系统参数的方法。离散系统具有的某些特殊特性在密码学中的价值也逐渐被越来越多的学者重视起来,近十几年来在连续系统中出现的特殊特性也被用于保密通信的研究,随着越来越多学者发现这些系统所具有的某些非线性特性对于信息安全和密码学具有不可估量的作用,这些系统的研究也被越来越多的学者、科学家重视起来。但是大部分学者所研究的不是单一的某个离散系统就是单一的某个连续系统,研究者对于一维离散系统在密码学中的研究基本上已经完成了,对于连续系统在密码学方面的研究从上个世纪九十年代陆续得到扩展,可是离散系统和连续的结合并没有得到很多研究,尤其在区块链加密方面的研究应用目前还比较少。



技术实现要素:

为解决上述问题,本发明提出了一种基于洛伦兹-逻辑映射(lorenz-logistic)算法的区块链加密的方法,该方法采用可以产生稳定的混沌效应的密码学系统,对目前的区块链加密技术进行完善,提高区块链信息安全性。

一种基于洛伦兹-逻辑映射算法的区块链加密的方法,包括如下步骤:

(1)信息发送方将发送的明文用哈希函数生成消息摘要;

(2)利用创建完善的基于lorenz-logistic算法的密码学系统对传递过来的信息进行加密准备;

(3)在参数αx和步长tx确定的条件下,取逻辑映射(logistic)离散系统的一系列随机数值集合xn={a,b,c,d……},对所述明文进行加密,令an=α1α2α3……αx为所述参数αx的集合,an作为数据加密的约定私钥。信息发送方将所述消息摘要用其私钥an+1进行加密,对消息摘要进行数字签名;

(4)所述步骤(3)中得到随机数值集合x1,x2,x3,……xn,令bn={x1,x2,x3,……xn}为明文加密后的密文,采用t1,t2,t3,……tx步长,选取x1,x2,x3,……xn矩阵中的序列值作为洛伦兹(lorenz)系统的特定参数c,得到一系列的在不同参数c下的lorenz系统的轨迹图,将这些参数值组成集合cn={c1(t1),c2(t2),c3(t3)……cx(tx)}作为公钥,对应于lorenz系统不同的轨迹可以作为公钥解密的公钥;

(5)约定信息发送方有公钥cn,信息接收方有公钥cn+1,信息发送方持有私钥an+1,信息接收方持有私钥an。

(6)基于以上步骤建立了基于lorenz-logistic算法的区块链加密方法中的公钥、私钥、系统的加密和解密的方法,利用所述密钥(公钥和私钥),信息发送方结合非对称加密机制在链上发送信息,信息接收方通过所述私钥解密,判断解密后的摘要和明文是否对应,若是则通过信息接收方的私钥进行解密得到信息,若不是则反馈给信息发送方,信息发送方通过信息接收方的公钥进行解密反馈信息,完成链上信息安全传递。

(7)当信息接收方再次发起信息传输请求时,整个系统自动迭代成新一轮密钥协议,即信息发送方有公钥cn+1,信息接收方有公钥cn+2,信息发送方持有私钥an+2,信息接收方持有私钥an+1。

进一步地,所述步骤(2)中lorenz-logistic密码学系统的创建方法如下:

(1)通过matlab对系统进行仿真,确定系统参数初始值和仿真步长,并得到系统处于混沌状态的lorenz系统参数阈值;

(2)分析逻辑映射(logistic)的特性,确认系统内序列xn={a,b,c,d……}得稳定性区间[0,1];其中,区间[0,1]为系统稳定性大的序列落入范围,且区间[0,1]是对阈值的进一步限定;

(3)在所选取的系统参数区间范围内,选取特定logistic的序列值作为lorenz系统最终参数值,其中,所述特定logistic的序列值是lorenz系统出现稳定混沌状态的logistic的序列值,由此得到一个产生稳定混沌效应的密码学系统。

优选地,lorenz-logistic算法中选择并不唯一的lorenz系统的参数,根据lorenz系统所选取的参数的范围确定logistic系统参数选取的范围。

进一步地,所述步骤(3)中,lorenz-logistic算法对区块链进行加密过程中步长tx选择具体如下:

选取(且不限于)10的整数倍作为logistic系统的仿真步长,根据所选取的步长确定的logistic系统的仿真步长。

进一步地,所述步骤(3)和(4)中,lorenz-logistic算法对区块链进行加密的传输原理如下:

(1)在通信之前,信息发送方和信息接收方构建自己的密钥,即an=α1α2α3……αx为约定起始私钥,cn={c1(t1),c2(t2),c3(t3)……cx(tx)}作为起始公钥,并且信息发送方有公钥cn,信息接收方有公钥cn+1,信息发送方持有私钥an+1,信息接收方持有私钥an;

(2)信息发送方将发送的明文m用哈希函数生成消息摘要m;

(3)将明文m用lorenz-logistic密码学算法进行第一次加密,得到密文bn+1;

(4)信息发送方将消息摘要用自己的私钥an+1进行加密,得到摘要的签名mn+1’;

(5)信息发送方将lorenz-logistic算法产生的下一次信息发送方和信息接收方信息交流时的加密密钥用公钥cn+1进行加密形成密文bn+1’;

(6)将bn+1、mn+1’、bn+1’发送给信息接收者,当信息接收方再次发起信息传输请求时,整个系统自动迭代成新一轮密钥协议。

优选地,所述自动迭代成新一轮密钥协议的过程包括如下:

(1)在信息传输一次后任意一方发起通信请求,从上一次停止的时刻开始进行一次迭代运行;

(2)利用得到的可以正确解密的的参数集合cn,得出这组cn对应的参数得到的lorenz连续系统的轨迹图,作为区块链中验证an,bn身份的条件;

(3)最终迭代的新一轮的通信双方中,信息发送方持有公钥cn+1,信息接收方持有有公钥cn+2,信息发送方持有私钥an+2,信息接收方持有私钥an+1。

基于上述技术方案,本发明提出一种基于lorenz-logistic算法的区块链加密的方法具有以下优势:

(1)公开了一种基于lorenz-logistic算法。该方法是一种新的加密的算法;

(2)公开了一种基于lorenz-logistic算法的区块链加密的方法。该方法是一种新的对于区块链进行加密的算法;。

(3)公开了一种利用离散系统和连续系统相结合的密码学系统。该方法将离散序列的随机性用于连续系统的稳定性中,得到一个可以产生稳定的混沌效应的密码学系统。

(4)公开了一种利用系统的随时间变化的特性进行迭代加密,保证即使遇到私钥丢失的情况,也能保证区块链的信息安全问题。

(5)由于logistic系统和lorenz系统的对于数值变化的敏感性,一旦an或bn中的任何一个信息码发生变化都会引起lorenz轨迹的极大变化,此时区块链系统可以根据此种变化检查促使发生变化或者异常的来源,并在系统发起重新操作请求,达到对区块链中信息加密的效果。

附图说明

图1为本发明为lorenz-logistic密码学系统的创建的流程图;

图2为本发明lorenz-logistic算法对区块链进行加密的传输过程的原理图。

图3为本发明lorenz-logistic算法对区块链进行加密的机制过程图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。

一种基于lorenz-logistic算法的区块链加密的方法,其特征包括如下步骤:

(1)将所述的lorenz-logistic算法用于区块链中加密;有更具体的操作则进一步说明其具体步骤为:

1)lorenz-logistic算法中选择并不唯一的lorenz系统的参数;

2)根据上一步lorenz系统所选取的参数的范围确定接下来logistic系统参数选取的范围。

(2)lorenz-logistic算法对区块链进行加密的原理中步长选择的具体步骤为:

1)选取10的整数倍作为logistic系统的仿真步长,步长的选择并不唯一;

2)根据上一步确定的logistic系统的仿真步长,确定lorenz-logistic算法中lorenz的参数选择及步长。

(3)lorenz-logistic算法对区块链进行加密的机制的迭代过程的具体步骤为:

1)如果在信息传输一次后任意一方发起通信请求,从上一次停止的时刻开始进行一次迭代运行;

2)利用得到的可以正确解密的的参数集合cn,得出这组cn对应的参数得到的lorenz连续系统的轨迹图,作为区块链中验证an,bn身份的条件。

3)最终迭代的新一轮的通信双方中信息发送方有公钥cn+1,信息接收方有公钥cn+2,信息发送方持有私钥an+2,信息接收方持有私钥an+1。

图1为lorenz-logistic密码学系统的创建的流程图。该方法包括:

第1步:选取合适的lorenz系统的系统参数,并对此系统的参数确定合适的区间。

具体步骤:本发明以选取lorenz系统的参数c作为系统参数为例进行说明。通过matlab对系统进行仿真,确定系统初始值和仿真步长,得到一系列结果,对比这些结果,当c∈(-2.342,6.0143),系统处于混沌态。

第2步:观察并分析logistic的特性,系统较稳定的大部分序列xn={a,b,c,d……}都落入[0,1]之间。

第3步:比较logistic的序列值与lorenz系统的参数值,采用使lorenz系统出现较为稳定的混沌状态的logistic的序列值作为lorenz系统选定的参数值。

第4步:使用logistic系统对明文进行加密,利用lorenz系统进行解密。可以使用事先约定的logistic系统在某各特定步长下的系统参数值作为私钥,将lorenz系统轨迹作为公钥。由此创建得到一个新的lorenz-logistic密码学系统,此算法称为lorenz-logistic算法。

图2为lorenz-logistic算法对区块链进行加密的原理图。该原理对应用于区块链的具体步骤如下:

第1步:信息发送方和信息接收方在通信之前构建自己的密钥,即an=α1α2α3……αx为约定起始私钥,cn={c1(t1),c2(t2),c3(t3)……cx(tx)}作为起始公钥。

第2步:信息发送方有公钥cn,信息接收方有公钥cn+1,信息发送方持有私钥an+1,信息接收方持有私钥an。

第3步:信息发送方将发送的明文m用哈希函数生成消息摘要m。

第4步:将明文m用lorenz-logistic密码学算法进行第一次加密,得到密文bn+1。

第5步:信息发送方将消息摘要用自己的私钥an+1进行加密,得到摘要的签名mn+1’。

第6步:信息发送方将lorenz-logistic算法产生的下一次信息发送方和信息接收方信息交流时的加密密钥用公钥cn+1进行加密形成密文bn+1’。

第7步:将bn+1、mn+1’、bn+1’发送给信息接收者。

第8步:当信息接收方再次发起信息传输请求时,整个系统自动迭代成新一轮密钥协议,即信息发送方有公钥cn+1,信息接收方有公钥cn+2,信息发送方持有私钥an+2,信息接收方持有私钥an+1。

图3为lorenz-logistic算法对区块链进行加密的机制过程图:

第1步:信息发送方将发送的明文用哈希函数生成消息摘要。

第2步:在参数αx和步长tx确定的条件下,取logistic离散系统的一系列随机数值集合xn={a,b,c,d……},对明文进行加密,而αx作为数据加密的约定私钥,即an=α1α2α3……αx作为私钥,其中n表示迭代次数,x表示数值标号。

第3步:信息发送方将消息摘要用自己的私钥an+1进行加密,得到摘要的数字签名。

第4步:第2步得到了x1,x2,x3,……xn,令bn={x1,x2,x3,……xn}为加密后的密文,采用t1,t2,t3,……tx步长选取x1,x2,x3,……xn矩阵中的序列值作为lorenz系统的特定参数c,得到一系列的在不同参数c下的lorenz系统的轨迹图,将这些参数值组成集合cn={c1(t1),c2(t2),c3(t3)……cx(tx)}作为公钥,对应于lorenz系统不同的轨迹可以作为公钥解密的公钥。

第5步:基于以上两个步骤建立了公钥、私钥、加密、解密的方法,发送信息。

第6步:将数字签名、密文分别用哈希算法进行解密。

第7步:判断解密后的摘要和明文是否对应,若是则通过信息接收方的私钥进行解密得到信息,若不是则反馈给信息发送方,信息发送方通过信息接收方的公钥进行解密反馈信息。

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1