一种分布式加密方法及系统与流程

文档序号:12693819阅读:192来源:国知局
一种分布式加密方法及系统与流程

本申请涉及数据加密技术领域,特别涉及一种分布式加密方法及系统。



背景技术:

数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。

现用的加密技术主要分为对称式加密技术和非对称式加密技术。其中,对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。

非对称加密算法在信息的加密与解密中,使用“公开密钥”与“私有密钥”对,这个密钥对由解密者(即信息的接收者)做成,“公开密钥”作为对信息进行加密的密钥,对发送者发布,同时接收者保管好解密所需要的“私有密钥”。在这里,利用公开密钥加密的信息只能通过私有密钥解密,但不能根据公开密钥推测私有密钥,所以可以在经由第三者的环境中发布公开密钥。如果用户A要给用户B传送秘密信息m,则A首先应从公开钥本上查到B的公开钥,并形成B的加密算法EB,用EB对明文m加密编码,得到密文C=EB(m),再将C发送给B。用户B在接收到密文C后,就可以用自己的密钥所确定的解密算法DB来恢复明文m=DB(C)=DB(EB(m))。

目前的加密方法存在的缺陷为:

1、不管是对称式加密技术还是非对称式加密技术,由于加密算法唯一且确定,一旦密钥被泄露,加密内容就会被破解;

2、一旦负责加密的加密机中的一台被损毁,整个加密系统失效。



技术实现要素:

本申请的目的在于提供一种分布式加密方法及系统,即使在密钥泄露时也能保证加密数据的安全,同时即使在一部分加密机损坏时,还能保证加密系统能够正常运行。

为实现上述目的,本申请一方面提供了一种分布式加密方法,所述方法包括:从待加密的信息中提取一个加工单位信息,并将所述加工单位信息拆分为第一预设数量的信息段;针对第二预设数量的加密机进行第一预设数量次数的挑选,以得到第一预设数量的加密机;利用所述第一预设数量的加密机中的公钥对所述第一预设数量的信息段分别进行加密,并将加密后的信息进行广播;将所述第一预设数量的加密机的排列顺序发送至私钥授权者,以使得所述私钥授权者利用预先配置的私钥按照所述排列顺序对所述加密后的信息进行解密。

进一步地,所述第二预设数量的加密机中,同一台加密机可被选中0次或者至少1次,每台加密机具备包含公钥和私钥的密钥对,不同的密钥对对应的加解密算法不同。

进一步地,所述方法还包括:对每个信息段进行编号并且对每次挑选得到的加密机进行编号;相应地,利用所述第一预设数量的加密机中的公钥对所述第一预设数量的信息段分别进行加密具体包括:遍历所述第一预设数量的加密机中的每台加密机,并利用当前加密机的公钥对与所述当前加密机具备相同编号的信息段进行加密。

进一步地,针对第二预设数量的加密机进行第一预设数量次数的挑选,以得到第一预设数量的加密机具体包括:S11:确定待计算的初始值以及计算时使用的哈希算法;S12:为每台加密机分配至少一个共识单元,并利用每个共识单元执行所述哈希算法反复计算所述初始值,直至计算结果满足预设条件;S13:当出现第一个使得计算结果满足预设条件的共识单元时,将所述第一个使得计算结果满足预设条件的共识单元作为目标共识单元,并通知其它共识单元停止计算的过程;S14:将所述目标共识单元所属的加密机作为挑选出的加密机;S15:重复执行步骤S11至S14,直至得到第一预设数量的加密机为止。

进一步地,计算结果满足预设条件具体包括:计算结果小于或者等于预设哈希值。

进一步地,在对所述第一预设数量的信息段分别进行加密,并将加密后的信息进行广播之后,所述方法还包括:再次针对第二预设数量的加密机进行第一预设数量次数的挑选,以重新得到第一预设数量的加密机;利用重新得到的所述第一预设数量的加密机中的公钥再次对所述第一预设数量的信息段分别进行加密,并将再次加密后的信息进行广播。

为实现上述目的,本申请实施方式还提供一种分布式加密系统,所述系统包括:加工单位信息拆分单元,用于从待加密的信息中提取一个加工单位信息,并将所述加工单位信息拆分为第一预设数量的信息段;加密机挑选单元,用于针对第二预设数量的加密机进行第一预设数量次数的挑选,以得到第一预设数量的加密机;加密单元,用于利用所述第一预设数量的加密机中的公钥对所述第一预设数量的信息段分别进行加密,并将加密后的信息进行广播;解密单元,用于将所述第一预设数量的加密机的排列顺序发送至私钥授权者,以使得所述私钥授权者利用预先配置的私钥按照所述排列顺序对所述加密后的信息进行解密。

进一步地,所述第二预设数量的加密机中,同一台加密机可被选中0次或者至少1次,每台加密机具备包含公钥和私钥的密钥对,不同的密钥对对应的加解密算法不同。

进一步地,所述系统还包括:编号单元,用于对每个信息段进行编号并且对每次挑选得到的加密机进行编号;相应地,所述加密单元具体包括:遍历模块,用于遍历所述第一预设数量的加密机中的每台加密机,并利用当前加密机的公钥对与所述当前加密机具备相同编号的信息段进行加密。

进一步地,所述加密机挑选单元具体包括:初始设定模块,用于确定待计算的初始值以及计算时使用的哈希算法;哈希计算模块,用于为每台加密机分配至少一个共识单元,并利用每个共识单元执行所述哈希算法反复计算所述初始值,直至计算结果满足预设条件;目标共识单元确定模块,用于出现第一个使得计算结果满足预设条件的共识单元时,将所述第一个使得计算结果满足预设条件的共识单元作为目标共识单元,并通知其它共识单元停止计算的过程;加密机确定模块,用于将所述目标共识单元所属的加密机作为挑选出的加密机;重复执行模块,用于重复执行所述初始设定模块至所述加密机确定模块,直至得到第一预设数量的加密机为止。

由上可见,本申请实施方式在对数据进行加密时,可以将数据拆分为多个信息段。同时,可以从散落无序的加密机中挑选出与信息段的数量一致的加密机个数,并且在加密机和信息段之间一一映射,从而使得每个加密机中的公钥均可以加密一个信息段。这样,在解密时,需要按照加密机的排列顺序利用相应的私钥进行解密。即使密钥泄露,在不知道加密机排列顺序的情况下,还是无法正确地对加密数据进行解密。同时,由于同一个加密机可以被重复选择,即使其中的一部分加密机产生了故障,其它的加密机还是能够保证加密系统的正常运行。

附图说明

图1为本申请实施方式中分布式加密方法的流程图;

图2为本申请实施方式中分布式加密方法的过程解析图;

图3为本申请实施方式中分布式加密系统的功能模块图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施方式,都应当属于本申请保护的范围。

请参阅图1,本申请实施方式提供一种分布式加密方法,所述方法包括以下步骤。

S1:从待加密的信息中提取一个加工单位信息,并将所述加工单位信息拆分为第一预设数量的信息段;

S2:针对第二预设数量的加密机进行第一预设数量次数的挑选,以得到第一预设数量的加密机;

S3:利用所述第一预设数量的加密机中的公钥对所述第一预设数量的信息段分别进行加密,并将加密后的信息进行广播;

S4:将所述第一预设数量的加密机的排列顺序发送至私钥授权者,以使得所述私钥授权者利用预先配置的私钥按照所述排列顺序对所述加密后的信息进行解密。

请一并参阅图2,在本实施方式中,可以从待加密的信息中提取出一个单位加工信息,该单位加工信息可以被分为n段。同时,当前可以具备m个散落无序的加密机,这些加密机可以在服务器中预先登记,但是这些加密机的具体位置可以进行保密。在所述服务器中,可以配置各个加密机,并且可以利用各个加密机中的公钥对数据进行加密。

在本实施方式中,可以通过区块链的共识机制进行加密机的挑选。具体地,步骤S2中进行加密机挑选时,可以通过以下子步骤实现:

S11:确定待计算的初始值以及计算时使用的哈希算法;

S12:为每台加密机分配至少一个共识单元,并利用每个共识单元执行所述哈希算法反复计算所述初始值,直至计算结果满足预设条件;

S13:当出现第一个使得计算结果满足预设条件的共识单元时,将所述第一个使得计算结果满足预设条件的共识单元作为目标共识单元,并通知其它共识单元停止计算的过程;

S14:将所述目标共识单元所属的加密机作为挑选出的加密机;

S15:重复执行步骤S11至S14,直至得到第一预设数量的加密机为止。

在本实施方式中,所述初始值可以是任意指定的一个字符串,所述哈希算法例如可以是SHA256哈希算法。在挑选加密机时,可以为m个加密机中每个加密机分配至少一个共识单元,然后可以让每个共识单元通过SHA256哈希算法反复对输入的字符串进行计算,每次计算均可以得到一个计算结果。在本实施方式中,可以提供一个预设哈希值,该预设哈希值可以用来判断计算结构是否符合要求。具体地,在每次计算之后,如果计算结果小于或者等于预设哈希值,则表明该共识单元反复计算的结果满足预设条件。这样,当出现第一个使得计算结果满足预设条件的共识单元时,可以将所述第一个使得计算结果满足预设条件的共识单元作为目标共识单元,并通知其它共识单元停止计算的过程,而该目标共识单元所属的加密机便可以作为挑选出的加密机。

在本实施方式种,共计可以进行n次加密机的挑选,每次挑选时均可以使得m个加密机中各个加密机的共识单元进行字符串的反复计算过程。由于各个共识单元的运算能力比较接近,因此每次计算时,每个共识单元均有可能成为计算时间最短的目标共识单元。也就是说,每次挑选出的加密机完全是随机的,从而保证了数据加密的随机性,也加大了暴力破解的难度。

在本实施方式中,所述第二预设数量的加密机中,同一台加密机可被选中0次或者至少1次,每台加密机具备包含公钥和私钥的密钥对,不同的密钥对对应的加解密算法不同。

在本实施方式中,在拆分出n个信息段以及挑选出n个加密机后,可以对每个信息段进行编号并且对每次挑选得到的加密机进行编号。这样,信息段的编号为1至n,加密机的编号也为1至n,从而可以遍历所述第一预设数量的加密机中的每台加密机,并利用当前加密机的公钥对与所述当前加密机具备相同编号的信息段进行加密。也就是说,编号相同的加密机和信息段可以一一对应。

在本实施方式中,在利用n个加密机的公钥对n个信息段依次进行加密之后,可以将加密后的信息广播出去。这样,加密后的信息则可以被需要进行解密的用户接收到。

在本实施方式中,在进行解密时,必须知晓n个加密机各自的密钥以及加密机对信息段加密的顺序,才能按序解密各个信息段。因此,对于需要解密的私钥授权者,可以预先配置各个加密机的私钥,然后可以通过加密的通信信道接收所述第一预设数量的加密机的排列顺序,从而可以利用相应的私钥按照所述排列顺序对所述加密后的信息进行解密。

在本实施方式中,为了增强加密信息的安全性,可以使得加密信息能够随着时间变化。具体地,在对所述第一预设数量的信息段分别进行加密,并将加密后的信息进行广播之后,可以再次针对第二预设数量的加密机进行第一预设数量次数的挑选,以重新得到第一预设数量的加密机。由于加密机的运算能力相差无几,再次挑选出的加密机与上一次挑选出的加密机则会有不同,这样,利用重新得到的所述第一预设数量的加密机中的公钥再次对所述第一预设数量的信息段分别进行加密,从而可以生成与上一次不同的加密信息,然后可以将再次加密后的信息进行广播,从而保证每次加密的信息能够随时间变化而不同。

请参阅图3,本申请实施方式还提供一种分布式加密系统,所述系统包括:

加工单位信息拆分单元100,用于从待加密的信息中提取一个加工单位信息,并将所述加工单位信息拆分为第一预设数量的信息段;

加密机挑选单元200,用于针对第二预设数量的加密机进行第一预设数量次数的挑选,以得到第一预设数量的加密机;

加密单元300,用于利用所述第一预设数量的加密机中的公钥对所述第一预设数量的信息段分别进行加密,并将加密后的信息进行广播;

解密单元400,用于将所述第一预设数量的加密机的排列顺序发送至私钥授权者,以使得所述私钥授权者利用预先配置的私钥按照所述排列顺序对所述加密后的信息进行解密。

具体地,所述第二预设数量的加密机中,同一台加密机可被选中0次或者至少1次,每台加密机具备包含公钥和私钥的密钥对,不同的密钥对对应的加解密算法不同。

在本实施方式中,所述系统还包括:

编号单元,用于对每个信息段进行编号并且对每次挑选得到的加密机进行编号;

相应地,所述加密单元具体包括:

遍历模块,用于遍历所述第一预设数量的加密机中的每台加密机,并利用当前加密机的公钥对与所述当前加密机具备相同编号的信息段进行加密。

在本实施方式中,所述加密机挑选单元200具体包括:

初始设定模块,用于确定待计算的初始值以及计算时使用的哈希算法;

哈希计算模块,用于为每台加密机分配至少一个共识单元,并利用每个共识单元执行所述哈希算法反复计算所述初始值,直至计算结果满足预设条件;

目标共识单元确定模块,用于出现第一个使得计算结果满足预设条件的共识单元时,将所述第一个使得计算结果满足预设条件的共识单元作为目标共识单元,并通知其它共识单元停止计算的过程;

加密机确定模块,用于将所述目标共识单元所属的加密机作为挑选出的加密机;

重复执行模块,用于重复执行所述初始设定模块至所述加密机确定模块,直至得到第一预设数量的加密机为止。

在本实施方式中,所述哈希计算模块具体包括:

判定模块,用于在计算结果小于或者等于预设哈希值时,停止计算过程。

由上可见,本申请技术方案的有益效果至少包括:

1、一段加工单位信息包含多种加密算法,且其包含的加密算法类型和数量均由区块链的共识机制选择决定,无法人为干涉,确保多样性和随机性,从而在密钥泄露的情况下由于不知道密钥的排列顺序,仍然能够保证信息难以被解密;且加密结果随时刻变化,每完成一次加密后在网络上广播出去并随机开始下一次加密过程,加大破解难度;

2、整个加密方法具有容错性,即当有限个加密机遭到破坏后,剩余加密机能够在区块链的共识机制下继续选择加密算法并保证加密过程正常运行。

上面对本申请的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本申请的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本申请旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

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